2020年真是艰难的一年。 无论是个人还是国家,只有经历过困难时期,才能懂得平凡的价值。
抛开悲伤,这一年我学到了很多,感悟了很多,无论是知识还是技能。 学习不仅是为了充实自己,更是为了让自己能够看到、了解这个世界上更多的事物。
顺便说一下,这是我第一次跨界合作。 emmm,没走多远。 那是在日本,我实际上是和大师Keijiro合作的。 我真幸运(ㄒoㄒ)
哈哈~显摆一下,拿走!
今天我就来说说在Unity中创建真实效果图时需要注意的一些问题。 也是我实际遇到的一些问题~
在讲图片实现之前,我先简单介绍一下渲染原理。 目前的实时渲染引擎仍然采用光栅渲染。 有朋友问,什么是光栅渲染? 目前听得比较多的大概就是这两种:光线追踪渲染和光栅化渲染。
光线追踪:光源-->物体表面-->反射和折射...xN次-->相机
光栅化:光源-->物体表面-->相机
光线追踪的本质是“让光独立决定一切”,而不是任何模拟、近似,是完全真实的光射出。 一般在影视合成、影视动画、室内设计等领域应用较多,因为计算过于复杂,完整的光线追踪算法只能离线渲染。 以目前的技术,很难实时实现光线追踪的所有功能~~不过,相信很快这个技术就会被彻底打破。 。
好吧unity写实场景,回到光栅化,什么是“光栅化”? 为了性能的考虑,默认光线只反射一次,这样整个反射计算就可以在二维图像空间中完成。 二维图像就是所谓的“光栅”。
例如,光栅渲染的最佳示例如下所示。 当聚光灯打开时,光线不会反射到角色上。
简而言之,光栅化光照渲染是不现实的。 但即使它不是真的也没关系。 相反,它为朋友们提供了大量的艺术创作空间,形成自己独特的风格化渲染。
画面之美更多在于捕捉感性氛围和情感共鸣。
当然,朋友们也可以依靠自己对光的敏感度来模拟所创造的真实感。
综上所述,相比光线追踪,光栅化渲染想要接近现实,需要大量的尝试和模拟。
接近光线追踪效果的最快方法是烘焙。 对于一些小房间或者一些小场景,这种方法可以轻松实现光线追踪渲染效果。
这种方法也有缺点,它太静态了,因为光照图是静态烘焙的,所以烘焙后的所有物体都不能移动。 另外,比如场景大的话,烘焙效率就不会好,光照图太多就会影响实时渲染的性能。 然后,随着物体数量的增加和喷射次数的增加,烘烤时间也呈指数增长。
反正我……还没找到成功烘焙大场景的方法/(ㄒoㄒ)/~~
我想了想,我玩过一些令人印象深刻的游戏,它们模拟了美丽的真实灯光。
刺客信条:团结
荒野大镖客:救赎 2
订单:1886
当然,应该还有更多。 我提到的例子是给我印象最深的。 这些游戏都不是使用烘焙光照贴图进行模拟的。
是的,看看这些高手吧~虽然光栅化的技术并不真实,但他们还是依靠这些高手强大的图形技术,还原出了媲美光线追踪渲染的实时画面效果。
当然,Unity HDRP中也有很多黑科技来最大程度地还原光线追踪效果。 这个在我之前写的文章里有介绍过~
emmmm,我好像跑题了。
回到主题,我自己总结一下。 当然,这只是我的个人经历。 对于Unity引擎中的光栅化实时渲染项目,在画面实现上有一些需要注意的问题~
首先,画面构图中几乎每一个环节都是密不可分、环环相扣的。 让我先简化一下。 大致有这些。 当然,一定不止这些。 我说的是可以实用。 我不会介绍形成像素的感知方面:
角色、环境、动画、特效、着色器、后期制作
然而,能够组成图片像素的四件事是人物、环境、动画和特效。 配合着色器和后期制作,可以让图片中的这些像素变得更酷。
好了,重点来了。 想了想,关键就只有两个字:“整体”,画面就是整体,各个环节组合而成的整体,无论是人物表演、场景搭建、动画的辅助、特效的协调等等,这两个词是密不可分的。
你如何定义“整体”这个词?
就像一桶水一样,上面每个部分都是一块木板,形成一个木桶,桶里的水是一种视觉享受。 只要一块木板破损,就会影响到木桶。 它能容纳多少水,就会造成致命的打击,无论其他木板有多高。
嗯,大概是这样的。 好吧,我就以我之前做的一个视频为例,讲一下我遇到的一些问题~
B站视频地址:
那我就一一说一下我遇到的问题。
角色、环境、动画、特效、着色器、后期制作
角色
对于角色来说,想要赢得玩家的喜爱和认可,要么必须把他们塑造得漂亮,要么必须非常有个性。 这里,说到角色概念设计的问题,有很多话要说。 我来了,我们暂时不谈这个。
说一下我遇到的问题:
这应该算是光栅渲染的技术问题。 我希望我的角色有一张亚洲面孔。
然而,在引擎中表现亚洲面孔的角色实际上是很困难的,因为亚洲人的面部特征不是很立体,无论从正面还是侧面看起来都很扁平。
尤其是在距离相机5-10米的地方,mipmap之后,人物五官的纹理细节几乎消失了。 同时,立体度较低的脸部在光投射后很容易出现漏光的情况,或者……出现一些奇怪的阴影区域,这些问题都会导致角色看起来很难看。
那么问题来了,如何解决。
与光线追踪静止帧渲染不同,实时渲染具有各种氛围和角度。 你必须从整体上看待这个角色。 这个人物可能出现在室内,可能出现在室外,可能是白天,也可能是晚上,可能是镜头很近,也可能很远,所以在工作时,不要只关注一个角度。 你需要从各个方面来看待问题,这会给生产过程带来一些限制。
角色的纹理必须满足物理材质要求,并且需要在不同场景、不同光照条件下保持自然。
人物模型必须有清晰的轮廓,并且在不同的距离下看起来都很好。
好了,考虑到这些限制,我们来谈谈解决方案。
我想出的解决方案是对角色进行一些风格化。
01. 美丽
物理材质方面,采用物理解决方案,如鼻影、眼影、眼线、唇彩、闪粉、腮红、眉线等,增强脸部、五官等部位的立体效果,调整形状和颜色,并掩盖缺陷。 那么怎么画呢? 然后像平时化妆一样画出来。 如果你不会画,可以参考视频。哈哈,当然,妆容的质感也需要做出来,比如口红,有滋润唇彩,也有哑光唇彩。 说到化妆,主要解决的问题是中远距离mipmap后关键部位的贴图。 亚洲人脸的细节被擦除问题、五官缺陷填补问题
02. 整形手术
夸大人物五官比例,添加具有明显模型结构的双眼皮和蚕。 同时,增加眼睛的比例。 眼睛是心灵的窗户。 大多数人应该开始用眼睛看人。 所以眼睛就显得尤为重要。 对了,戴上彩色隐形眼镜,完美!!
03.补光
为角色设置一个单独的光照层,并对其应用弱补光。 这是为了解决某些场景中光照角度不太好,会让人物看起来很丑的问题。 补光灯可以缓解这个问题。
哈哈,这是我目前总结的方式,弥补亚洲人的渲染缺陷。
接下来可能还有一个问题,那就是头发。 至于头发,我想了想,发现很多朋友肯定都遇到过整理的问题。 我使用手动排序,因为 HDRP 不支持多遍。 所以,我使用了两层头发模型来解决头发渲染排序的问题。
提示:将角色排列到预制件中时,必须将模型用作预制件的子对象。 不要直接将 SkiningMesh 模型保存为预制件。 这样做是有好处的。 如果模型被调整或者模型脚本被删除,Prefab将会被正确更新。
环境
至于环境,应该分解为场景和灯光。 我将它们统称为环境。 我个人认为环境对于画面来说非常重要。 例如,如果冻结图片的某一帧,环境就会占据图片。 该比例应至少为 60%。 如果环境出现任何不兼容的情况,沉浸就会立即中断,这是非常致命的。
环境是人物最好的参照。 你可以沉浸在扮演这个角色中。 如果制作的素材与世界观一致,并与文字或动画相结合,就能很好地将你带入这个世界观。
在关卡设计方面,环境也可以起到引导作用。 例如,灯光形成的层次可以很好地引导玩家的视线,防止他们迷路。
同时,环境也是情绪和节奏的体现,是危险的、轻松的还是愉悦的等等。借助音乐和特效,你可以瞬间被带入这种情境。
当然,想要营造一个给别人留下深刻难忘印象的环境,光靠这几件事是不够的。 我最近在这方面获得了一些经验。 这个稍后再说,这里就不多说了~
好了,我只是简单的介绍了环境的作用。 说一下我在搭建环境时遇到的问题:
01. 比例
搭建环境的时候,场景中一定要有人物作为参考,保证环境比例正确并且不会出现比人还大的可乐瓶,哈哈~我喜欢创建一个1.6米的立方体作为参考物体和比例非常重要,因为人对一些已知事物的感知非常敏感,比如草、瓶子、砖头、桌子等。如果场景中有这些物体,但比例超出了平衡感3D植物,他们能立刻感觉到它就出来了。
02. 灯光
晚上的庐山不宜拍照。 一片漆黑。 风景再美,如果灯光不好的话,也不好看。 如何打造好看的灯光? 首先,具有自发光贴图的物体需要有光源。 场景中有一些物体,是明确知道是光源的,需要被照亮,比如广告牌、探照灯等物体,但是,我想说的是,这些需要颠倒过来。 为什么这么说呢? 让我们回到“整体”这个词。 首先看一下整体情况。 你需要先考虑一下。 你想创造什么样的冷暖对比? 哪些地方需要用灯光来营造层次感? 想清楚之后,首先开始放置灯光,然后根据这些灯光放置能够发出这些灯光的物体。 这样既好看又不违和~~
03. 等级
一张好看的图片需要有层次关系。 光线的明暗冷暖能够很好地勾勒出画面的层次感。 当然,利用Unity HDRP中的一些现成的氛围组件,可以很好地勾勒出画面的层次感,比如Fog。 、密度体积,这些都是最好的分层工具,将我想要突出的视觉中心牢牢控制在我想要表达的位置。
04. 材质
为了实现真实的渲染,必须正确地表达材质。 例如,金属是金属,水泥地板是水泥地板。 换句话说,模型纹理的金属度和粗糙度是正确的颜色。 想了想,这应该就是大家所说的吧。大多数人对美都有一个模糊的概念,但是大家对材质都有一个刻板印象。 他会用自己的常识来判断材料,所以材料的正确性相当重要~
05.总体
一定要考虑完整性,不要出现这样的问题:环境搭建好了,看上去还不错,但是如果把人物放进去,就会出现过曝、过暗、或者比例不对等问题。 这些问题都需要在施工过程中解决。 不断的审视和测试角色在环境中看起来是否自然,光线的强弱是否适合角色,比例是否不一致等等。不管怎样,我们从整体角度出发游戏素材下载 免费,调整整体情况,最后调整余额。 就是这样。
如果是游戏环境,面对不同类型、不同关卡时,需要考虑的问题就比较复杂,这里就不多说了。
Tips:物体一定要作为prefab放置在场景中,因为后面肯定会有调整,比如LOD距离、碰撞层等,如果不作为prefab,批量修改会很麻烦。
动画片
动画是表达叙事的最好方式,也是增强画面感的最好工具!
不仅有角色动画,场景中还有一些动态的物体,也为气氛加分。 例如过往的车辆、行人、摇曳的电线等可以增强画面的真实感。
当然,动画也是有节奏和层次的。 在一张图片中,还需要看整体的效果。 不能说所有物体都在运动。 在这种情况下,将没有视觉焦点。 动静结合,同时与镜头结合,达到最佳的画面表现~~
例如,行走动画与相机动画相结合创建了逆行者的图像。
好吧,我们来谈谈角色的动画。
人物模拟动画制作难度较大,尤其是人物行为动画。
因为人与人之间太熟悉了,如果行为动画中出现哪怕是最轻微的节奏问题或者身体不协调,就会立即感觉到错误。
当然,现在有很多技术手段可以解决这个问题。 例如,动作捕捉对于实现此类动画有很大帮助,并节省大量时间和成本。
那么问题来了,动作捕捉动画也有局限性,毕竟有两个空间。
首先,捕捉到的环境必须是完全平坦的地面,但对于虚拟环境来说,地面上可能存在台阶、斜坡等,所以捕捉到的动画肯定会失真。 。
其次,在实现过程中,人物的面向或者视线方向可能不准确,这些方面都可以根据镜头的需要进行调整,包括人物的姿势。
此外,动作捕捉演员和虚拟角色的体型也存在差异。 虚拟角色可能更高,手脚更长,或者肩宽和臀宽不一致。
那么如何解决这个问题呢;
啊哈,Unity中有很多现成的工具可以解决这个问题。
比如模型组件自带的Muscles设置可以调整骨骼的延伸,还有Animation Rigging、Final IK等反向动力学组件,可以轻松解决这些问题。
这里就不详细介绍该工具的功能了。 有很多现成的教程。
对于裙子、头发等物理模拟动画来说,手动K帧不太现实。
那我们该怎么办呢? Unity中也有很多现成的工具来解决此类问题。 Magica Cloth、Dynamic Bone等组件对于解决刚才提到的物理模拟问题非常方便。
当然,还有一些问题可能需要很长时间才能解决。 比如下车的动画。 如果角色想要完全匹配汽车并下车,那么制作这个动画需要很长的时间。 我觉得不值得,所以就用镜头避开吧。
提示:Skinningmesh 记得勾选“离屏时更新”,以防止骨骼移位时网格体被相机移除。
特殊效果
至于特效,创造视觉新鲜感的最大作用应该是辅助视觉、营造氛围吧?
辅助视力的特殊效果。
这类特效出现时,通常会与动画、模型一起出现。 它们节奏感强,视觉冲击力强。 如果结合一些后期效果,很容易引起注意。
制作方面,怎么说呢,需要很多整体的思考,节奏,明暗,尤其是特效的明暗,需要处理得非常熟练。 如果太暗,效果就显现不出来,如果太亮,又会造成视觉不适。 这会破坏整体形象。
营造气氛的特效。
一般来说,是指环境的特效unity写实场景,如下雨、落叶等,主要作用是丰富视觉,进一步增强画面的代入感和丰富度。
如果想要制作天气效果,也离不开特效。 通过一些匹配的着色器效果,很容易创建下雨、下雪等天气。
在特效制作中,我总结了自己遇到的一些问题:
01.平衡
为了防止特效颜色过曝或过暗,最好在制作时为特效颜色的HDR值设定一个范围。 同时,每个环境的一些后期处理方面可能会影响颜色的后期效果。 比如Bloom、Color adjustment、Exposure等,给定的值不能相差太大,否则会出现:放在这个场景中效果很棒,但放在另一个场景中就很糟糕的情况场景。 不行,不然会爆炸得你连眼睛都睁不开。
02. 点缀
目前模拟流体效果的特效都是采用切片的方式制作的。 在节省性能的同时,它们还可以伪造流畅的感觉。 因此,在制作特效着色器时,必须考虑到特效的排序和模型的交错。 问题,开启软粒子可以解决这些问题。 如果是自定义的Shader,直接用深度来裁剪纹理的Alpha即可。
Tips:在创建粒子系统特效时,可以尝试使用Sub Emitters、Trails、Custom Data等功能来创造意想不到的效果。
着色器
着色器仍然非常关键。 他们最大的作用就是辅助形象。 比如之前提到的“图像质量”这个词。 大多数人对美没有概念,但对于一种材料的表现状态却是非常熟悉,一定要确保材料物理上正确。
那么着色器的目的就是实现这些材质,模拟这个物体应该有的材质,模拟材质在这个氛围下的表现状态。 至于画质的提升,以及身临其境的感觉,那就是有相当大的帮助了。
emmm,应该不会遇到什么问题。 大多数标准化着色器效果实现都有现成的案例。
换句话说,一些标准化材料的实现是有明确上限的。
如果你想表达高度,可以不断提高你创建的模型和纹理的准确性。
不过,如果你想创造一些独特的效果,你可以多尝试,结合各种属性来创造一些很酷的效果。 哈哈,那就发挥你的想象力吧。 当然,这些视觉效果着色器还需要考虑画面的完整性,否则用在任何地方都会破坏整体的视觉层次。
Tips:如果使用Shader Graph制作shader,可以制作一些常用的子图,以节省时间。
后期
后期,提升画面效果,尤其是弥补光栅渲染的一些缺陷是非常重要的。
比如Bloom、AO、Screen Space Reflection等,添加这些效果可以更加接近光线追踪的效果~
当然,你也可以添加一些自定义后期处理(Custom Post Process)。 例如,在我的环境中,我添加了屏幕雨效果和Glith朋克效果。 因为如果下雨的话,镜头上肯定会有水滴挂着。 Glith也会更加符合朋克的定义,增强我想要的氛围感。
但仍有一些问题需要关注。
后期效果的一些参数不能过分夸大,因为后期是屏幕效果,渲染在最上层。 你之前创建的所有人物、场景、特效,这些像素都需要一起刷。 刷完后,让这些后期效果再次重叠。
因此,在调整参数时,一定要统筹考虑、全局考虑。
特别是当有多个场景时,光照参数不同,后期处理也不同,有些参数必须设置在一个范围内。 如果不是的话,那么肯定会出现这样的情况:这个角色和这个特效在这种环境下怎么还能发挥作用呢? ,换个环境怎么会这么难看呢?
Tips:后期效果可以尝试Local模式,可以营造出不一样的感觉。
好的,快完成了。 居然看完了,太感动了(.^▽^)
让我总结一下要点。
整体思维也适用于图片的制作。 图片的结构分为几个环节。 每个链接都会影响下一个链接。 这些环节是相互关联的,这就需要朋友们对每个环节进行整体、全局的思考。 戒指。
就拿我之前提到的栗子来说吧。 画面本身是一个大整体,也是一个大木桶。 每个环节都是一小块木头,也是一个小整体。 从每一个小整体开始,整个木桶能延伸多远? 它的高度以及它能容纳多少水都取决于你。