UE4 C++ 笔记】的更多相关文章

原文链接: 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.…
透镜:Lens Bloom 光溢出 VDirt Mask 光溢出泥土蒙版 Depth of Filed 景深 V Eye Adaptation (Auto-Exposure) 人眼适应 V这个效果有时会造成较亮的场景阴影较暗.现实中也确实是这样,但比较影响美观.LowPercent,HightPercent调整后影响中值.  (AutoExposureHistogram 将场景亮度排序后,找到Low.Hight Percent间的中值用于人眼适应,就结果而言 最亮.最暗值对结果有很大影响)Spe…
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年,个人感觉成长最快的,是负责项目相关框架搭建的时期,这时候没有具体的任务需求,可以全心的投入到相关功能的设计,开发,迭代,进一步优化中.…