unity最新毛发系统Wig,更有利于高逼真数字人实现

2023-11-04 06:50

本文主要是介绍unity最新毛发系统Wig,更有利于高逼真数字人实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

自去年 Unity 收购了 Wētā 和 Ziva 等艺术工具起,如何将这些前沿工具整合进 Unity 编辑器,赋能创作者的创作流程,就成为了我们工作的重点。近期,Unity 发布的全新实时 3D 炫技之作《Lion》给出了答案。

《Lion》是 Unity 艺术工具又一关键里程碑,该作首次集结了 Wētā Digital、Ziva、SpeedTree、SyncSketch 和 Unity Editor 的艺术工具,让艺术家、开发者们能够实现比真实还真实的实时高清图像。

原离线演示的资产是由 Monster Emporium Animation School 的学生制作的,包含还原真实尺寸、使用 Ziva VFX 生物力学弹性体解算器模拟的躯体柔软的狮子。

原离线演示的资产:

https://www.monsteremporium.co.uk/

Ziva VFX模拟幼狮坐下的序列

场景随后会被更新成高性能的实时体验。

狮子资产使用了 Ziva RT 机器学习变形以及新的 Ziva RT Unity Player(预览版),可以动态执行动画,以提供保真度最高的形变。

Ziva RT带来的变形效果可以直接用于最终成品,它还可以加快用工具评估动画装配的速度,加快DCC迭代流程。在这个例子中,我们使用了Ziva VFX 2.0准静态积分器训练Ziva RT,它提供了准确和稳健的结果,是训练实时形变的理想选择。

将高保真变形与Ziva RT和通常在游戏中使用的更传统的剥皮动画进行比较。肌肉组织和软组织的差异在小熊的轮廓和肩胛骨下特别明显。

为了在运行时获得最佳性能,Ziva RT Unity Player 能并行执行 SIMD 优化后的代码,并利用 Unity 的 Burst 技术实时完成动态互动的变形。 

新演示的环境还使用了 SpeedTree 的植被。

我们先用 SpeedTree Cinema 创建资产,针对实时使用进行优化,在狮子附近添加一些尘土飞扬的草丛,并在地平线上打造了一个非洲标志性可可豆木的形状。这些数据将输出为带有高分辨率纹理的 Game FBX,让植物资产的分辨率能与制作精细的生物们相匹配。

一点点植被有助于构图、能让环境更生动。

SpeedTree资产

为了增强写实感,我们用 Wētā Digital 的毛发和皮毛梳理工具 Wig(pre-alpha)作为 Ziva 形变技术的补充,并为制作“大猫咪”和幼崽的鬃毛、皮毛,提供了更高的逼真度和艺术创作空间。

“Wig 是一种完全不同的工作方式——它实际上是我用过的最快的梳理工具,”Sara Hansen 说,她是《Lion》的Unity技术美术,以前曾为 Wētā FX、DNEG 和其他 VFX 公司制作过成品级毛发。 

“要制作高质量的毛发,用另一套梳理工具我可能得花几个月的时间,用 Wig 则要快得多,制作只需几周时间。有些毛发在其他工具中需要数周的,在 Wig 中只需要一天或几天就能完成,而且质量要好得多,艺术风格的可控性也更强......即使你要遵从详细的艺术指导进行调整,比如调整参考镜头里的某束毛发,你也能用 Wig 轻松完成。”

用Wig制作的狮子鬃毛

《Lion》背后的团队来自北美和西欧的多个国家。团队间的远程协作是利用可视化协作工具 SyncSketch 实现的,它提供了实时产品审查和直观迭代的能力。

使用SyncSketch云协作工具审查狮子的毛发

这次创意演练验证了 Wētā Digital 的 Wig、Ziva、SpeedTree、SyncSketch 和 Unity Editor 的生产能力,使团队能够快速迭代、全面改进生物和角色制作的工作流程:从绑定到变形到毛发和毛皮附着系统、从渲染到着色等环节,让工作流成为一个连贯的系统。

“我们希望保证工具能够协同作业,让创作者在每一个环节利用优秀的工作流程来创作角色和生物。因此,我们制作该演示的部分目标是在生产环境中验证 Unity 艺术工具,满足艺术家在日常工作中的种种难题,并使工具和工作流变得更好、更强大,”Unity Technologies 的杰出技术伙伴和首席建筑师、专业艺术和图形创新副总裁 Natalya Tatarchuk 说。

为了在 PlayStation 5®、Xbox Series X|S® 和 PC 上实时运行高度逼真的生物和场景渲染,我们还开发了一些关键的技术创新。

项目在一开始就使用了 Unity 的高清渲染管线(HDRP)。我们还使用了全局光照(GI),利用 Adaptive Probe Volumes(适应性探针体积,APV)来照亮狮子周围干旱的沙漠和植被。

我们还必须解决同时模拟和渲染几百万根发丝的挑战。为此,我们在 HDRP 上进行了一系列重大的性能和视觉清晰度改进。

其中包括用 GPU 驱动头发簇模拟、使上百万根发丝能够实时地做出反应,该模拟方案已经包含在了 Unity 新发布于 GitHub 上的 Hair System。该模拟方法沿袭了令人惊叹的数字人演示《Enemies》的头发模拟方案,并做了进一步扩展,用 GPU 来更高效地处理更高数量级的发丝。

Hair System:

https://github.com/Unity-Technologies/com.unity.demoteam.hair

对于头发和毛皮的渲染,Unity 的图形开发者们做了重大优化,改进了 HDRP 基于图块的 GPU 软件光栅化算法,转为渲染几百万根独立的头发。该方法还借助了分析式抗锯齿来提高图像流畅度,还为每条发丝添加计算排序好的透明度,还用改进后的物理性头发光照模型来实现电影质量的发丝渲染。 

我们现在可以渲染数百万独立的发丝,所有发丝的动作都相互独立且独特,不会出现瑕疵。新方法可以准确地还原头发的高光部分和光线在软发上的透光现象,比如阳光下的幼狮皮毛或狮子鬃毛。

这篇关于unity最新毛发系统Wig,更有利于高逼真数字人实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/344015

相关文章

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Java枚举类实现Key-Value映射的多种实现方式

《Java枚举类实现Key-Value映射的多种实现方式》在Java开发中,枚举(Enum)是一种特殊的类,本文将详细介绍Java枚举类实现key-value映射的多种方式,有需要的小伙伴可以根据需要... 目录前言一、基础实现方式1.1 为枚举添加属性和构造方法二、http://www.cppcns.co

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

Java实现时间与字符串互相转换详解

《Java实现时间与字符串互相转换详解》这篇文章主要为大家详细介绍了Java中实现时间与字符串互相转换的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、日期格式化为字符串(一)使用预定义格式(二)自定义格式二、字符串解析为日期(一)解析ISO格式字符串(二)解析自定义