Unreal Fest 2024 虚幻引擎影视动画制作的普遍问题

news/2024/12/21 21:56:01/

————————————————————————————————————————

本文为Unreal Fest Shanghai2024讲座内容笔记,非本人所著,原演讲人李文磊。

————————————————————————————————————————

一· 毛发缓存数据巨大的问题(及5个解决方案)

在引擎里模拟毛发,并且把它缓存下来,我们就不需要从外部导入了,所以我们要解决的问题就是怎么样在引擎里自由地控制毛发

1.物理场控制

延申 [技术分享]《UE中的世界物理场及应用》 | 李文磊 Epic_哔哩哔哩_bilibili

毛发默认情况是不接受物理场地速度/力的。要把物理场的信息在毛发的Niagara解算器里写进去,然后让它查询。重点是查询的信息要给particle node position来改变它的位置。在Niagara的groom,update groom veocity模块里。

2.添加碰撞体

毛发和角色以外的其他物体碰撞。

在毛发的component上add collision component并暴露出来

3.模拟精度和渲染精度

  • Strands / 静态的时候的毛发平滑度
  • Guide /
  • Strand Size / guide上面的Particle 的数量

这里有3个概念,Strands 就是毛发导进来时模型的段数,是跟渲染的精度有关的,但是它主要的是表现静态的时候的毛发平滑度,
如果是动态的模拟起来的话,是需要一套guide(引导线)段数,它是动态模拟平衡度的基础,但是决定动态模拟平滑度的,最关键的就是Strand Size ,就是guide上面的Particle 的数量,具体参与模拟的粒子数。这东西是在引擎里设置。

还有对比图,同样的Strands,使用了不同的Particle 的数量,看上去它的渲染品质,碰撞的精度是有很大的差别。


所以如果你觉得这个毛发,特别是模拟比较大的时候看上去不是很光滑,不一定要一味的去增加这个毛发本身strands,因为那个会大大的增加毛发的一个尺寸或者数据量,可能考虑更多在引擎里面,先把particle碰撞的这个段数给增加。

4.模拟坐标空间

毛发在大的运动速度或者快速运动中,有一些拉扯或者物理模拟不精确,可以通过调整它的坐标空间,默认是local坐标空间,并且提供两个参数让Local坐标空间应用的量进行混合。

用这种方式来控制我们需要世界的速度对毛发产生影响的大小。(图左是完全世界空间,右边是local)

5.用sequence把模拟缓存下来

保证确定性:两次渲染每次的位置一模一样,第二次编辑器的播放速度一模一样。

要注意缓存大小跟引导线的数量和strands size是直接相关的。。

如果必须要外部导入,尽量导入引导线的缓存而不是strands的缓存。

引导线的缓存导进来驱动strands,有拉扯问题,主要可能是跟引导线数量有关,间隙不要太大,如果毛发密度很大,引导线百分比可以小一点。密度不大的话百分比可以相对多一点。

另外的话,guides的数量(也就是cv)它的顶点数量可以少于strands。

在某种程度上,只要用guides,不管是1/5还是1/10strands,再减少cv(Control Vertex)数量。它的guide的cache就是大大小于strands的cache。

二·毛发光影问题

理解毛发渲染机制,熟悉控制参数

基于体素(Voxels)毛发大部分是基于voxels的,(如果是光线追踪也可以基于geometry)

所有的自阴影/它阴影(头发在头上或者地上)都是基于voxels的

三个对于基于体素的光影影响最大的命令行

  • (第一行)首先是它的尺寸(体素的大小),对直接光的影子的影响在自阴影有比较大的差别。

  • (第二行)DensityScale或者毛发设置hair shadow density(和命令行是同一个东西)可以用比较少的毛发来模拟比较厚的效果

  • (如下图第三行)Raymarching.SteppingScale默认是1.15,设置为1精度会大大提升,毛发在额头上闪烁的问题也可以得到很大的改进。

环境光遮蔽HairStrands.VoxelTrace

天光

1.天光类型:SkyLightingIntegrationType

默认是(如上图)2,1/3比较expensive,渲染输出mrq用cinematic品质输出会转换到1,编辑器和输出就看到的不一样。

2.天光噪点

光追

Deepshadow

deepshadow对自阴影和它阴影都有影响,自阴影相对普通shadowmap少噪点,它阴影相对普通shadowmap更细腻

某些逆光轮廓感开启可以用deepshadow

总结

———————————————毛发景深问题(待更新)—————————————————


http://www.ppmy.cn/news/1524487.html

相关文章

Luigi:一个强大的Python模块,构建复杂的批处理作业管道的高效工具

在现代数据处理的大潮中,构建和管理复杂的数据管道是极其重要的一环。Luigi,作为一个强大的Python模块,为用户提供了构建复杂的批处理作业管道的高效工具。它不仅能够处理依赖关系、工作流管理、可视化等功能,还内置对Hadoop的支持…

c/c++面试100道

1.一道笔试题解析_哔哩哔哩_bilibili P20:#define offsetof(TYPE, MEMBER) ((size_t)&((TYPE*)0)->MEMBER) 1、 offsetof 宏是 C 语言中用于计算结构体成员相对于结构体起始地址的偏移量的宏定义。这个宏的定义如下: #define offsetof(TYPE, …

树形结构-数据结构

一、基本知识 树:一对多的树形结构顶层的结点:称为根节点叶子结点(终端结点):最外围的结点,只有前驱结点,没有后继结点的结点,其结点的度是0分支结点:分支点是描述数据结…

Dubbo 与 Zookeeper 在项目中的应用:原理与实现详解

引言 在微服务架构日益普及的今天,如何实现服务的高效调用和管理成为了关键问题。Dubbo 作为阿里巴巴开源的高性能 RPC 框架,在分布式服务治理方面具有显著的优势。Zookeeper 作为一款分布式协调服务,能够高效地管理和协调服务节点信息。因此…

Unity3D Android多渠道极速打包方案详解

在移动应用开发过程中,特别是在使用Unity3D进行Android游戏或应用开发时,多渠道打包是一个常见且重要的需求。不同的渠道(如Google Play、华为应用市场、小米应用商店等)可能需要不同的配置和包名,手动进行这些操作既耗…

中间件解析漏洞(附环境搭建教程)

⼀:IIS解析漏洞 环境资源: https://download.csdn.net/download/Nai_zui_jiang/89717504 环境安装 windows2003iis6 1.创建新的虚拟机 2.在下⼀步中选择我们的iso⽂件镜像 vm已主动识别到windows2003 3.产品密钥⽹上搜⼀个 密码自己设置一个简单的&…

如何投放Spotify广告:费用与关键考量

Spotify在2008年上市时,市场上已经充斥着各种竞争对手的音乐服务。这款音乐流媒体应用不仅打破了预期,还在180个市场上吸引了超过602百万用户,其中包括2.36亿订阅用户。现如今,它是全球最受欢迎的音频流媒体订阅服务。 Spotify广…

【智能终端】HBuilder X 与微信开发者工具集成与调试实战

目录 1. 需求和理解库、框架、平台 1.1 需求 1.2 理解 2.3 库、框架、平台 2.3.1 库(Library) 2.3.2 框架(Framework) 2.3.3 平台(Platform) 2.3.4 总结 2. 使用 HBuilder X 创建第一个 uni-app 应…