UE4渲染笔记】的更多相关文章

Lightmass 实时渲染光影效果对性能有很大影响,可利用lightmass预先生成光影贴图,然后在游戏中使用. 将场景光照结果完全烘焙到模型贴图上,从而完完全全的假冒现实光照效果. 文档上是 lightmass global illumination,可见生成的是全局光照贴图. 光源的移动性 静态照明仅使用光照贴图,阴影在游戏前烘焙. 固定光源的直接光照使用延迟着色直接进行渲染.所有间接光照和来自固定光源的阴影都存储在光照贴图中.直接阴影存储在阴影贴图中 移动光照不使用lightmass.…
上回书<Part 0 引擎基础>说到,我们粗略地知道UE4是以哪些类来管理一个游戏场景里的数据的,但这仅仅是我们开始探索UE4渲染体系的一小步. 本回主要介绍UE4渲染体系中比较宏观顶层的一部分--多线程渲染,具体的多线程中,又分为: 游戏线程(GameThread) 渲染线程(RenderThread) RHI线程(Render Hardware Interface Thread) 为什么是多线程? 用来描述"渲染"的最基础的理论就是像图上的那样,CPU调用图形API提供…
在介绍UE4渲染体系前,我们有必要来先看一下UE4是用什么样的方式来构建游戏场景数据的. 1 Object 在UE4中当我们说Object,通常是指代引擎代码中的UObject类,它是引擎里管理绝大部分类和对象的基石,这是因为它提供了非常多的开发者需要的功能特性,例如元数据.反射.垃圾回收.序列化.编辑器支持等一系列功能. 与Unity中的物体容器GameObject相比(名字上类似),个人理解UObject存在更像是一种UE4提供的开发核心工具箱,各种需要高复用性的核心功能都集成到里面,不仅仅…
前言:好久没翻阅我的gmail邮箱了,午休时就打开看了一下,看到InfoQ推荐的一篇名为“Javascript高性能动画与页面渲染”文章,粗略的看了一下,很赞!讲的很详细,对好些细节讲的都很好,很通俗易懂.so……笔记诞生 1.fps -frame per second 帧 页面是每一帧变化都是系统绘制出来的(GPU或者CPU).但这种绘制又和PC游戏的绘制不同,它的最高绘制频率受限于显示器的刷新频率(而非显卡),所以大多数情况下最高的绘制频率只能是每秒60帧(frame per second,…
原文链接: 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…
透镜:Lens Bloom 光溢出 VDirt Mask 光溢出泥土蒙版 Depth of Filed 景深 V Eye Adaptation (Auto-Exposure) 人眼适应 V这个效果有时会造成较亮的场景阴影较暗.现实中也确实是这样,但比较影响美观.LowPercent,HightPercent调整后影响中值.  (AutoExposureHistogram 将场景亮度排序后,找到Low.Hight Percent间的中值用于人眼适应,就结果而言 最亮.最暗值对结果有很大影响)Spe…
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…
1.获取当前的GameMode:GameMode = Cast<你GameMode的类名>( UGameplayStatics::GetGameMode(this)); 2.输出日志Debug UE_LOG(LogTemp, Log, TEXT("StartPoint:%s"), *StarPoint.ToString()); %d表示按整型数据的实际长度输出数据.%c用来输出一个字符.%s用来输出一个字符串.%x表示以十六进制数形式输出整数. 3.给碰撞组件动态绑定碰撞函…