UE4 PostProcessVolume笔记】的更多相关文章

透镜:Lens Bloom 光溢出 VDirt Mask 光溢出泥土蒙版 Depth of Filed 景深 V Eye Adaptation (Auto-Exposure) 人眼适应 V这个效果有时会造成较亮的场景阴影较暗.现实中也确实是这样,但比较影响美观.LowPercent,HightPercent调整后影响中值.  (AutoExposureHistogram 将场景亮度排序后,找到Low.Hight Percent间的中值用于人眼适应,就结果而言 最亮.最暗值对结果有很大影响)Spe…
原文链接: https://forums.unrealengine.com/showthread.php?2574-Why-C-for-Unreal-4&p=16252&viewfull=1#post16252 之前的三代Unreal引擎中都包括了一种叫UnrealScript的脚本语言, 用它来写游戏玩法简直太方便了, 根本不用去接触复杂的C++引擎. 尽管脚本十分受新手的欢迎, 但它却成为了创新和公布的障碍. 在Unreal引擎成长的过程中, 我们不断地踩到这种坑. 所以在2011年,…
基本 物理资源随骨骼创建,可添加到骨骼网格上. 物理材质可添加到材质或组件或物理资源上. 通过配置PrimitiveComponent组件的Collision Presets值,可实现自定义的碰撞忽略.重叠.阻档效果,碰撞分射线碰撞.对象碰撞2种. Collision Presets 分查询碰撞和物理碰撞,查询碰撞被 TraceByChannel 使用. Project Setting的Collision可用于自定义Collision Presets,有NewobjectChannel,NewT…
UE4 的功能被分成了很多的模块,在API文档里每个类都有 Module 这个属性(值为模块名)每个模块使用其他模块要在Build.cs里导入,像vs里的引入库.在构建时 PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });//引入模块或:PrivateDependencyModu…
1,设置postprocess材质时使用Add or Update Blendable 用Make PostprocessSetting会报警告,因为C++代码中没有设置为BlueprintReadWrite.Remove后处理材质Make 一个 没有材质的postprocesssetting再设置就行 2,Get All Actors of Class会返回指定类的所有Actor,包括某个Actor的Child Actor Component!!! 3,Billboard的Widget 计算U…
Lightmass 实时渲染光影效果对性能有很大影响,可利用lightmass预先生成光影贴图,然后在游戏中使用. 将场景光照结果完全烘焙到模型贴图上,从而完完全全的假冒现实光照效果. 文档上是 lightmass global illumination,可见生成的是全局光照贴图. 光源的移动性 静态照明仅使用光照贴图,阴影在游戏前烘焙. 固定光源的直接光照使用延迟着色直接进行渲染.所有间接光照和来自固定光源的阴影都存储在光照贴图中.直接阴影存储在阴影贴图中 移动光照不使用lightmass.…
如图找到场景里面的后期框,首先我们要获得它的设置,Settings 大概就是属性的意思.通过Settings设置其它的属性.Set members in PostProcessSetting 就是接口通道(个人理解). 如上图,刚开始Set members in PostProcessSetting是不会有属性给你操作的,我们可以左键点击Set members in PostProcessSetting(如上图的方块),然后在右边的细节面板里面会出现一大堆操作属性,我们只需要勾上我们需要操作的属…
1.获取当前的GameMode:GameMode = Cast<你GameMode的类名>( UGameplayStatics::GetGameMode(this)); 2.输出日志Debug UE_LOG(LogTemp, Log, TEXT("StartPoint:%s"), *StarPoint.ToString()); %d表示按整型数据的实际长度输出数据.%c用来输出一个字符.%s用来输出一个字符串.%x表示以十六进制数形式输出整数. 3.给碰撞组件动态绑定碰撞函…
目录 蓝图 蓝图命名规范 蓝图优化 暴露C++至蓝图 暴露C++类 暴露C++属性 暴露C++函数 暴露C++结构体/枚举 暴露C++接口 蓝图和C++的结合方案 使用继承重写蓝图 使用组合重写蓝图 方案比较 参考 蓝图 大家都知道,蓝图是UE4提供的极其容易上手的一种可视化脚本,更具体的就不说了. 纯靠蓝图搭建的UE4游戏是存在的,但是这类游戏往往优化很差(除非游戏玩法本身的性能需求不高).更合适的流程往往需要程序员编写C++代码创建一些蓝图可用元素,而设计师再通过蓝图快速搭建游戏. 蓝图命名…
UE4 基础,但是不经常用总是忘记,做个笔记加深记忆: 图方便就随便贴一个项目中的STRUCT和 Enum 的.h 文件 Note:虽然USTRUCT可以定义函数,但是不能加UFUNCTION 标签喔 USTRUCT(BlueprintType) struct FData_PageInfo { GENERATED_USTRUCT_BODY() FData_PageInfo(); FData_PageInfo(UChildActorComponent *parent_Com); void reIn…
做了3年的Unity, 现在开始转入到做UE4,一来就进入一个超大项目组中学习,度过了最初2个月的生涩和紧张后,现在准备开始慢慢总结,慢慢学习,逐步深入理解和研究UE. 做了3年的游戏开发后,个人感悟最深的,就是非工作时候,是如何安排个人时间的.因为游戏开发的特殊性,大部分程序员都是在不断的被策划和PM追逐着去做各种功能,很少有时间去做自我研究.回顾过往的3年,个人感觉成长最快的,是负责项目相关框架搭建的时期,这时候没有具体的任务需求,可以全心的投入到相关功能的设计,开发,迭代,进一步优化中.…
16.9.10为了做房产项目,这两天开始学习Unreal Engine 4.之前一直用unity,但是视觉效果一直不满意,听说虚幻4的效果更好,就来试一试水. 1.安装UE4 参考资料一: http://v.youku.com/v_show/id_XOTM4Nzk4OTEy.html?beta&f=23742789&from=y1.7-1.4 进入UE4官网,点击右上角的GET UNREAL,下载安装得到登录器Epic Games Launcher,打开登录器,更新后,下载虚幻引擎最新版,…
在windows端用FPaths::ConvertRelativePathToFull可以将相对路径转成绝对路径. 在Andoird端,就麻烦些.可模仿UE4源码中AndroidFile.Cpp转换相对路径的方式编写自己的转换函数. 例子:https://answers.unrealengine.com/questions/498328/androidconvertrelativepathtofull-didnt-work.html FString ACpp_DesignPawn::GetAnd…
问题一:error: expression result unused [-Werror,-Wunused-value] 虽然看了输出日志知道了这行沉余代码删掉就行,但是不是很懂这个地方报错意义. 问题二:error: variable 'ImgFormat' is uninitialized when used here [-Werror,-Wuninitialized] 定义变量必须初始化. 问题三: 不可在Android环境下使用Try Catch 异常补抓语法. 问题四: 接口Virtu…
Note:旧版本的UE4 的Attach 和12.13版本有些不一样 创建Component: UCpp_MyComponent* temp_imageCom = NewObject<UCpp_MyComponent>(this, UCpp_MyComponent::StaticClass()); temp_imageCom->RegisterComponent(); temp_imageCom->AttachToComponent(pParentComponent, FAttac…
H UFUNCTION(BlueprintNativeEvent) void EventName(); virtual void EventName_Implementation(); EventName事件发生时会调用这个函数 CPP void ClassName::EventName_Implementation() 这个宏是UE4的强制内联函数,用于优化,返回Mesh的指针给Pickup FORCEINLINE class UStaticMeshComponent *GetMesh() c…
UE4引擎中的Widget蓝图是一个重要的工具,可用于场景中的页面叠加,镜头绑定,场景切换等多处地方,在这里笔者介绍一种利用控件蓝图和场景中物体进行信息交互的方法,直观的体现就是进行物体的材质切换. 1.创建控件蓝图 控件蓝图不同于一般的逻辑蓝图,主要表现在其需要进行画面的设计和平铺.在内容浏览器中创建一个控件蓝图,命名为SwitchMat_UI 双击打开控件蓝图编辑器,进行页面的设计布局. 拖放一个水平盒子到页面中,位置和大小如下图所示(可根据个人喜好进行布局),命名为SwitchMat,同时…
GameMode只有服务端有,适合写游戏逻辑.PlayerController每个客户端拥有一个,并拥有主控权.GameState在服务端同步到全端. CLIENT生成的Actor对其有Authority. http://api.unrealengine.com/INT/Gameplay/Framework/GameMode/index.html 简单来讲 需要同步的操作写到Server,不需要同步的操作写到Client 变量同步 Replicated 复制模式 RepNotify:会创建一个变…
PostProcessVolume可以做的效果很多,其中就可以实现太阳光斑效果. Unbound勾上上,就表示不受“PostProcessVolume”组件的大小限制,直接应用到整个世界.如果不勾选,则只影响“PostProcessVolume”组件的覆盖范围内. 看向太阳,就能看到有光斑效果了. 也能反射金属等光滑屏幕的光照效果! 增加反射效果,在场景中增加“盒体反射捕获”组件,并调整跟场景同样大小.然后“”一下, 这是添加了“盒体反射捕获”看到效果. 这个是隐藏“盒体反射捕获”,反射效果还是…
Rendering in UE4 Presented at the Gnomon School of VFX in January 2018, part two of the class offers an in-depth look at the rendering pipeline in Unreal Engine, its terminology and best practices for rendering scenes in real-time. This course also p…
UE4 概念知识 基础概念--文件结构.类型.反射.编译.接口.垃圾回收.序列化[导图] GamePlay架构[导图] 类的继承层级关系[导图] 反射机制 垃圾回收机制/算法 序列化 Actor 的生命周期 引擎运行流程 渲染流程 UE4 C++ 基础编程 UPROPERTY宏.属性说明符.元数据说明符 UFUNCTION宏.函数说明符.元数据说明符 基本数据类型.字符串处理及转换 枚举 Enum.结构体 Struct 容器--TArray 容器--TMap 容器--TSet Delegate…
FPlatformProcess::CreateProc(TEXT("程序路径");…
1, 2,服务器游戏流程 服务器负责驱动游戏流程.服务器的职责是在游戏开始/结束以及 actor 复制更新等情况下通知客户端转移到新地图. 主要架构部分 大多在本文的讨论范围之外,但我们可以在遇到特定类型时讨论当时出现的一些关于多人游戏的额外细节. 游戏状态和流程一般是通过 GameMode 这一 actor 来驱动.只有服务器才包含此 actor 的有效复本(客户端不包含复本).要向客户端传达该状态, 可以使用 GameState actor 显示 GameMode actor 的重要状态.这…
1.基础使用 ArToolKit:生成图片特征,可以用彩图.(图片先灰化)    genTexData效准相机.由于有的相机照相有弧度.  calib_camera 2.使用UE4ARPlugins做了把ArToolKit的库引入,相关代码封装,调位置 3.关于ARPlugins的源码阅读:A 初始化数据 跟踪线程  B扫描匹配图像  C存储结果D 获取相机图像  E更新纹理  F获取匹配结果,将结果与内容轴方向匹配Plugins的BUG于tracking代码页,每次匹配完后会返回结果集,但循环…
1.给物体施加一个径向力 定义一个径向力: URadialForceComponent* RadialForceComp; 在构造函数里赋默认值: RadialForceComp = CreateDefaultSubobject<URadialForceComponent>(TEXT("RadialForceComp")); RadialForceComp->SetupAttachment(MeshComp); RadialForceComp->Radius =…
找编辑器LOG,找相应代码.(改相应LOG 重编译后有反应)GenerateProjectFiles  寻找配置,生成VS文件.  有一些小工具项目默认是没打开的.API宏是较旧的代码,新的代码会设计良好的API接口 ------------------------------------------------------------常用核心类关键字FGenericPlatformProcessGEngineFSocketFPlatform::            Process      …
网络同步主要的概念是 复制.  不是以前的S,C逻辑分离.  是S复制到C通过 Switch Has Authority  将S与C的逻辑在程序内分离. 所属权:每个连接到S的C都有自己的 控制权.从PlayerController开始,PlayerController属于 连接,PlayerController控制的Pawn属于PlayerController,Pawn内的组件属于Pawn,最终都属于 连接. 都拥有 所属权.所属权涉及 Actor 的变量,RPC 复制条件.相关文档 条件性复…
关卡场景内的模型在运行中,改变构建脚本后无法立即更新模型骨骼中心点碰到物理边缘 physcX会出问题 bug 纹理启用碰撞会与碰撞顶点冲突 造成效果不正确 IsInGameThread() 渲染时 会判断当前线程是否是自己的,如果在渲染时切到其他线程会断言出错.会崩  非渲染线程打LOG都会引起崩溃 _______________________________ 7.22 材质发光:PostProcessVolume-> ambient Cubemap->Intensity 在编辑器内编译C+…
RepNotity的作用 把变量设置成RepNotify除了像C#语言中的"属性"一样,提供一个改变变量时调用一个函数的机会以外,其真正重要的作用其实是应对网通同步延迟问题. 一定要牢记网络同步是需要时间的,不像单机编程一样,程序的执行是同步的,即时的. 每个设置成“replicated"的属性的同步,以及RPC都是需要时间的,即使是局域网,即使是同一台机器上多个客户端,相互直接通信都是需要时间的-虽然时间很短,但也需要考虑到. 假设一个情形:某客户端的某个属性P变化以后,要…
描边效果属于常见常用的功能,现VR项目中,也需要射线选中一个物体,使物体高亮. 于是在网上找了部分资料,同时也感谢群里的一位大神的提点,总算将描边的功能实现了,这里也写一个简单的示例步骤. 1.我并不是很熟悉ue4的材质,于是在网上找了一份别人已经写好的材质直接使用,大概看了一下,应该也是类似unity的描边屏幕特效,对图像八个方向扩大->模糊,然后做出边缘(我是猜的,可以忽略掉我的想法),这里给出材质的链接:http://www.tomlooman.com/ue4-evolves-outlin…