Unreal Fest 2024 虚幻引擎影视动画制作的普遍问题
————————————————————————————————————————
本文为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
总结


———————————————毛发景深问题(待更新)—————————————————
相关文章:
Unreal Fest 2024 虚幻引擎影视动画制作的普遍问题
———————————————————————————————————————— 本文为Unreal Fest Shanghai2024讲座内容笔记,非本人所著,原演讲人李文磊。 ————————————————————————————————————————…...
【机器学习-四-无监督学习unsupervise learning-聚类算法简介】
无监督学习unsupervise learning 聚类聚类的过程相似度度量方法聚类的方法划分式层次聚类基于密度的聚类 上一节讲的无监督学习,但是很多人可能会很疑惑,没有目标,那算法是怎么学会该怎样分类的呢?今天就简介一下其中的聚类算法。…...
IPv6路由基础
RIPng RIPng是一种较为简单的内部网关协议,是RIP在IPv6网络中的应用。RIPng主要用于规模较小的网络中,比如校园网以及结构较简单的地区性网络。由于RIPng的实现较为简单,在配置和维护管理方面也远比OSPFv3和IS-IS for IPv6容易,因…...
uniapp开发微信小程序 嵌套(uniapp开发/其他)H5,H5点击跳转微信小程序页面(通信
环境: uniapp开发微信小程序,嵌套webview,H5页面也是用的uniapp框架开发,H5页面点击商品后,需要跳转到微信小程序的详情页面 做法的原因 在微信小程序中使用web-view元素,如果要实现 H5到小程序的通信&am…...
VM虚拟机器配置网络DHCP服务
1、VM虚拟机器网络配置,centos 精简版没有配合网卡,如何配置网络 一、查看网卡信息 使用ip addr或ifconfig -a命令查看系统中现有的网卡设备名称,通常可能是eth0、ens33等类似的名称。 二、编辑网络配置文件 网络配置文件通常位于/etc/syscon…...
使用 jd.item_get API打造可读性商品介绍
在数字化时代,电子商务的蓬勃发展使得商品信息的获取变得至关重要。对于电商平台而言,如何准确、快速地获取商品信息,并以吸引人的方式呈现给消费者,成为提高销售额和用户体验的关键。本文将介绍如何利用 jd.item_get API 获取商品…...
java 通过文件下载地址读取文件内容
需求:读取文件内容,已知文件下载地址 需要引入pdfbox依赖 <dependency> <groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.27</version> </dependency>Override pub…...
打造古风炫酷个人网页:用HTML和CSS3传递笔墨韵味
需要用到的背景大家可以自己找喜欢的风格!!! 当然俺把俺用的背景放到文章最后了哦!!!!! 感谢关注和支持 长期更新哦~~~ 1. 简洁的页面布局:保持优雅和对称 在古风设计中,布局的对称性非常重要…...
vue 项目自适应 配置 px转rem 的插件postcss-pxtorem
1、安装 npm i postcss-plugin-px2rem --save -dev --force找到 postcss.config.cjs 没有的话就新建一个 module.exports {plugins: {// to edit target browsers: use "browserslist" field in package.jsonautoprefixer: {},"postcss-plugin-px2rem":…...
股票程序化交易是,第三方软件申请券商私有接口API的门槛
炒股自动化:申请官方API接口,散户也可以 python炒股自动化(0),申请券商API接口 python炒股自动化(1),量化交易接口区别 Python炒股自动化(2):获取…...
JDK8的一些主要的新特性
JDK8(Java Development Kit 8) 是一个重要的版本,带来了许多显著的特性和改进,极大地提升了 Java 语言的功能性和开发效率。以下是 JDK 8 的一些主要新特性: 一、Lambda 表达式 1.简化匿名内部类的写法,…...
40岁的java程序员,还有出路吗?
目录 前言一、现状与挑战二、出路与机遇三、案例分析与启示四、结语 前言 40岁Java程序员的出路:挑战与机遇并存 在科技日新月异的今天,IT行业始终保持着高速的发展态势,而Java作为其中的重要一员,其地位依然稳固且充满挑战。对…...
【服务器】shell脚本之Docker创建nginx
#!/bin/bash# 定义目标目录和配置文件路径 BASE_DIR"/opt/docker/nginx"ETC_DIR"$BASE_DIR/etc" ETC_CONF_DIR"$ETC_DIR/conf.d" SSL_DIR"$ETC_CONF_DIR/ssl" LOG_DIR"$BASE_DIR/log"HTML_DIR"$BASE_DIR/html"C…...
提取蛋白质复合体结构中组装体的变换矩阵
PDB文件中,组装体变换矩阵(assembly transformation matrices)用于描述多聚体结构中各个单体之间的相对位置和取向。从蛋白质复合体 PDB 数据中提取每个组装体(assembly)的变换矩阵,通常需要解析 PDB 文件中…...
java程序员入行科目一之CRUD轻松入门教程(一)
之前在操作MySQL的时候,都是采用Navicat,或者cmd黑窗口。 无论使用什么方式和MySQL交互,大致步骤是这样的 建立连接,需要输入用户名和密码编写SQL语句,和数据库进行交互 这个连接方式不会变,但是现在需要 基…...
OpenHarmony鸿蒙开发( Beta5.0)智能油烟机开发实践
样例简介 本Demo是基于Hi3516开发板,使用开源OpenHarmony开发的应用。本应用主要功能有: 可以搜索本地指定目录的图片和视频文件,并可进行点击播放。 可以通过wifi接收来自手机的美食图片以及菜谱视频,让我们对美食可以边学边做…...
【GBase 8c V5_3.0.0 分布式数据库常用维护命令】
一、查看数据库状态/检查(gbase用户) 1.gha_ctl monitor 使用gha_ctl monitor查看节点运行情况(跟dcs的地址和端口) gha_ctl monitor -c gbase -l http://172.20.10.8:2379 -Hall |coordinator | datanode | gtm | server|dcs:必选字段。指定查看哪类集…...
破解AI生成检测:如何用ChatGPT降低论文的AIGC率
学境思源,一键生成论文初稿: AcademicIdeas - 学境思源AI论文写作 降低论文的“AIGC率”是个挑战,但有一些策略可以尝试。使用ChatGPT逐步调整和改进内容,使其更加自然和原创,降低AI检测工具识别出高“AIGC率”的概率…...
Python用MarkovRNN马尔可夫递归神经网络建模序列数据t-SNE可视化研究
原文链接:https://tecdat.cn/?p37634 本文聚焦于利用马尔可夫递归神经网络(MarkovRNN)结合树库展开建模工作。MarkovRNN 通过整合马尔可夫特性与离散随机变量来深入探索递归神经网络中的随机转换机制,旨在高效处理具有复杂潜在信…...
setup函数子传父普通写法
父组件 <template><div><p>接收的数据: {{ receivedData }}</p><Demo4Chiren2 custom-event"handleGetWeb" /></div> </template><script> import { ref } from vue; import Demo4Chiren2 from ./demo4Chiren2.vue…...
FastbootEnhance:让安卓设备调试变得简单高效的Windows工具箱
FastbootEnhance:让安卓设备调试变得简单高效的Windows工具箱 【免费下载链接】FastbootEnhance A user-friendly Fastboot ToolBox & Payload Dumper for Windows 项目地址: https://gitcode.com/gh_mirrors/fa/FastbootEnhance 你是否曾经在刷机、调试…...
企业内如何构建基于Taotoken的标准化AI能力中台
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 企业内如何构建基于Taotoken的标准化AI能力中台 随着大模型技术在企业内部的应用日益广泛,如何高效、安全、可控地管理…...
【行为检测】基于matlab和交互多模型IMM过滤进行自动驾驶异常行为检测【含Matlab源码 15448期】含报告
💥💥💥💥💥💥💞💞💞💞💞💞💞💞欢迎来到海神之光博客之家💞💞💞Ὁ…...
求职自动化工具箱:用爬虫与状态机构建高效求职管理系统
1. 项目概述:一个求职者的工具箱如果你正在找工作,或者未来某天需要找工作,你大概率会和我有一样的感受:整个过程繁琐、重复,且充满不确定性。从海投简历到追踪进度,从准备面试到复盘总结,每个环…...
从DQN到D3QN:一个算法工程师的‘炼丹’笔记,聊聊那些论文里没写的训练细节
从DQN到D3QN:一个算法工程师的‘炼丹’笔记,聊聊那些论文里没写的训练细节 深度强化学习(DRL)的算法迭代就像一场精密的炼丹过程,每一个参数调整、每一处架构优化都如同炼丹师对火候的精准把控。在论文中,我…...
STM32与ADS1256的SPI通信实战:从寄存器配置到串口数据可视化
1. 硬件准备与电路连接 第一次接触ADS1256这块24位ADC芯片时,我被它的精度吓到了——理论上能分辨出0.000000119V的电压变化!不过要让STM32和它正常对话,硬件连接是第一个门槛。我用的STM32F103C8T6最小系统板,和ADS1256模块之间…...
TegraRcmGUI:Switch RCM注入工具新手完全指南
TegraRcmGUI:Switch RCM注入工具新手完全指南 【免费下载链接】TegraRcmGUI C GUI for TegraRcmSmash (Fuse Gele exploit for Nintendo Switch) 项目地址: https://gitcode.com/gh_mirrors/te/TegraRcmGUI TegraRcmGUI是一款专为Nintendo Switch设计的图形化…...
抖音无水印视频批量下载终极指南:三步搞定海量内容采集
抖音无水印视频批量下载终极指南:三步搞定海量内容采集 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback supp…...
AI智能体任务编排框架:从概念到实战的Mission Control指南
1. 项目概述:为AI智能体打造一个“任务控制中心”最近在折腾AI智能体(Agent)的开发,发现一个挺普遍的问题:当你想让多个智能体协同工作,或者想让单个智能体执行一系列复杂、有依赖关系的任务时,…...
用Python复现FAST天眼数学建模:从坐标变换到促动器伸缩量计算(附完整代码)
用Python复现FAST天眼数学建模:从坐标变换到促动器伸缩量计算(附完整代码) 中国天眼FAST作为全球最大单口径射电望远镜,其主动反射面调节系统堪称现代工程奇迹。当观测不同方位天体时,需要通过促动器精确控制4450块反射…...
