Unity3D Adam Demo的学习与研究
1.简述
这篇文章是对Adam各种相关资料了解后进行一些精简的内容。如果你想仔细研究某个技术请跳转至unity相关页面。
Adam官方页面: https://unity3d.com/cn/pages/adam
搬运视频以及资源包网盘下载: http://pan.baidu.com/s/1jH6NF86
Adam这个demo由8个人的团队耗时6个月(part1四个月,part2两个月)打造完成。
其中使用到的软件如下:
Model: 3DSMax, Marvelous Designer, ZBrush
Texture: Substance Painter
Tiled textures: Quixel megascans
Animation: MotionBuilder
关于megascans这个软件单独介绍下,算是quixel近年的新计划,可以理解为实景扫描素材库
提供模型和贴图的下载,内容主要以户外自然为主,但目前收费较贵。
技术方面主要集中在2种灯光和新加入的PostProcessing上,其次就是物理插件CaronteFX
2.技术深入
2.1 - 环境与表现
2.1.1 - Adam的布料撕裂效果
这个一开始看demo时的确以为是物理模拟插件CaronteFX的功劳
但看了视频才知道是max里做好,然后导出abc格式到unity中来完成的
我后来在看demo的目录文件时也发现了位于SteamingAssets的abc文件
播放效果:
abc格式导入工具的github地址如下:
https://github.com/unity3d-jp/AlembicImporter
2.1.2 - Adam背上的线缆和面部破损
线缆确实是CaronteFX实现了
而面部破损因为不需要表现破碎动画,先是在Max里用tp粒子制作的原型,然后再交由建模师制作实际模型
关于布料方面以及CaronteFX的使用,极力推荐篇文章:
https://blogs.unity3d.com/cn/2017/01/04/adam-vfx-in-the-real-time-short-film/
2.1.3 - 室内环境中的烟雾动画
下图直接摘自官网
3A游戏中常见的粒子序列,这里使用3dmax的插件PhoenixFD生成。
关于阵列图转换,这里顺带提一下unity正在开发的工具VFXToolbox(https://forum.unity3d.com/threads/release-thread-vfx-toolbox-image-sequencer.438465)
这在unity adam的相关文章中有提到,我后来试用了一下,不仅仅是阵列图和序列图互转这么简单,可能以后要集成一套图形处理的功能进去。
2.1.4 - Puddles水坑涟漪效果
同样使用PhoenixFD制作的涟漪序列,并将这个NormalMap赋予unity粒子序列。
下图直接摘自官网
顺带一提,以上两个效果的作者是Zdravko Pavlov,已经有11年的相关工作经验
2.1.5 - SceneManagement多场景并行编辑
得益于unity5.3加入的SceneManagement,可以多人并行编辑一个大场景了
在观察demo执行文件时,会发现有非常多的场景文件
使用HHD Hex Editor打开后确实可以看见,整个大的场景中不同内容被放在多个小的场景文件内
就像视频中说的那样,多人协作时分成多个小场景编辑,这样非常方便
2.1.6 - 编辑器状态启用IK
(Unite Europe 2016视频中确实有一个InEditorIK的脚本)
有时候要在编辑器内调节IK,视频中提到了这个问题。
解决方法在这里:https://forum.unity3d.com/threads/set-up-ik-in-editor.332035/
2.2 - 角色处理
在视频中Lu和Guard的布料都是用CaronteFX来做的,但实际上资源包中,是通过Unity自定义关节实现的
只有Sebastian的资源包使用了CaronteFX布料
2.2.1 - 自定义关节
来看一下这两个角色的自定义关节。
角色Lu
角色Guard
Lu只有一小块地方用了unity布料。因为这一块在demo中会随风飘扬
对于布料模拟这是个好方法,但是它并不能解决动态穿插问题
2.2.2 - CaronteFX的布料效果
Sebastian是一个单独拆出来的包,原因是它的布料和之前的那些角色不同。它用的是CaronteFX的烘培布料
在这个资源包里会发现居然带了一个纯运行版的CaronteFX,你不能编辑它,你只能用。。
单是看GC没发现什么问题,不过得注意下内存中数据量的问题,烘焙数据大约占了150mb左右,还有烘培速度
carontefx的烘培速度确实非常慢,Adam团队自身也对此做了一些代理对象处理。
另外carontefx其实并不简单,其来头就是RealFlow的开发公司NextLimit
https://www.nextlimit.com/products/name/carontefx/
2.3 - 光照部分
在github上,unity专门把Adam光照部分提取了出来(TubeLight,AreaLight,Volumetric fog)
https://github.com/Unity-Technologies/VolumetricLighting
在Unite Europe 2016 - The making of Adam demo这部视频里,有对这些内容进行细致的讲解
2.3.1 - TubeLight柱形光照
没有阴影,相比AreaLight更低品质,但是便宜
如果直接丢到空项目里用是这样的,因为它必须相机挂上PostProcessing才行
此时就可以看见效果了
还可以设置ShadowPlane,控制光照的扩散
比如这里就约束了底部扩散,你可以直接改生成出来的Shadow Plane坐标和旋转,来控制它。
2.3.2 - Area Light区域光照
看视频中的讲解,似乎是通过CommandBuffer在AfterLighting处理后,拿到G-Buffer的数据进行采样,并通过DrawMesh来绘制光照。
和TubeLight一样,相机需要挂载PostProcessing。
如果需要和Adam里一样有雾光效果,需要挂载两个脚本
LightManagerFogLights,LightManagerFogEllipsoids
此时可以看见雾的效果(gif)
2.3.3 - Volumetric fog 体积雾
因为在Adam demo中雾效是和灯光整合的,所以也就没法测试了。
FogEllipsoid是具体代码。
另外相关文章中提及到的LightShafts,github地址如下:
https://github.com/robertcupisz/LightShafts
2.4 - 一些其他工具
大气散射和平面反射在Blacksmith的demo中就已经讲过,这里不做介绍
Blacksmith demo学习:http://www.cnblogs.com/hont/p/5658491.html
2.4.1 - RigMeister2000
这是一个角色骨架调试工具,它位于Adam相关的角色资源包里
这个包里有两个脚本RigMeister2000和VisibleSkeleton。
前者可以校对骨骼朝向和作为一个约束工具使用,并且调试朝向。后者可以绘制出骨骼gizmos
挂上VisibleSkeleton之后,效果如下
RigMeister2000这个工具比较谜,因为除了Adam外的人形角色都没有绑定这个脚本
它在LateUpdate里会去做约束处理。但实际上你开不开这个脚本变化不大,或者说基本上没变化。
2.4.2 - Wind
一个小工具,一个绘制箭头Gizmos的脚本
补充:Wind可以作为方向信息传入体积光,并加入噪声的扰动之中。
3.结语
在Unite 2016的两部视频中,unity自己挖了不少坑,比如Delay了1年的Sequence工具。。
unite2016中提及的新特性大致如下:
1.CrowdSystem集群系统,这个说会100%在unity中集成,但目前来看应该还要等。
2.CustomCape feathers simulation in Unity5.4一个羽毛模拟组件,说是在unity5.4中加入,但目前应该是Delay。
3.Motion Vectors for temporal Anti-Aliasing in Unity5.4使用运动向量的随机采样抗锯齿?这个未知
4.Texture Array 这个Demo的地形中有用到,并且5.4确实加入了,在adam室外部分的Shader中可以找到这个类型。
另外室外环境的包中有一个地形工具TETerrain,但是这个工具似乎是缺少编辑器套件,我没办法用大的地表重新切片
所以这部分内容只好跳过。
关于Adam这个demo的研究这里就结束了,因为一直有各种事,delay到现在才开始写。
转载于:https://www.cnblogs.com/hont/p/6263739.html
Unity3D Adam Demo的学习与研究相关推荐
- 学习和研究下unity3d的四元数 Quaternion
学习和研究下unity3d的四元数 Quaternion 今天准备学习和研究下unity3d的四元数 Quaternion 四元数在电脑图形学中用于表示物体的旋转,在unity中由x,y,z,w 表示 ...
- 从 Demo 中学习 Solidity
从 Demo 中学习 Solidity [注解译文] 前 (全文参考) Solidity官方文档 以太坊白皮书_ZH 以太坊白皮书_EN 发现网上的资料太过琐碎, 惊奇的发现官方有详细的教程, 和例子 ...
- 【贪玩巴斯】Unity3D初学圣经(一)——学习要求 Unity简单介绍 游戏引擎介绍 课程体系介绍 「1-1 到 1-4 」—— 2021年12月9日
Unity3D初学圣经 一 --学习要求 & Unity简单介绍 & 游戏引擎介绍 & 课程体系介绍 本文对应视频P1 1-1 到P2 1-4 1.学习要求 2.Unity简单 ...
- Unity3D ML-Agent-0.8.1 学习三(多代理学习)
Unity3D ML-Agent-0.8.1 学习三(多代理学习) 写的目的 多代理设置 创建目录 总结 写的目的 本篇主要接着上一篇,介绍多代理训练,思路就是将训练的环境变成预制,然后在场景中多加几 ...
- 干货 知识图谱研究青年学者研讨会在清华大学顺利召开刘知远 报告题目:大规模知识图谱表示学习的研究趋势与挑战
2015年6月27日,中国中文信息学会青年工作委员会系列学术活动??知识图谱研究青年学者研讨会在清华大学FIT大楼多功能报告厅召开.本次活动由青工委和中文信息学会语言与知识计算专委会联合举办,旨在推动 ...
- 迁移学习前沿研究亟需新鲜血液,深度学习理论不能掉链子
作者 | Frederico Guth,Teófilo Emidio de Campos 编译 | 夕颜 出品 | AI科技大本营(ID:rgznai100) [导读]人类可以从很少的样本中学习,显示 ...
- 《2021联邦学习全球研究与应用趋势报告》发布,中美为最大领跑者 | 附下载链接...
撰文:XT 编审:寇建超 排版:李雪薇 7 月 31 日,美国亚马逊公司(Amazon)被卢森堡数据保护委员会处以 7.46 亿欧元(约合 57.2 亿元人民币)的罚款,原因是 Amazon 违反了欧 ...
- 青源LIVE第23期|ACL最佳论文一作许晶晶:机器翻译中的词表学习问题研究
深度学习时代,不同词表的选择也影响着最后模型的效果.字节跳动AI Lab从信息论的角度作为切入点来理解词表,并提出了一种基于最优运输的词表学习方案. 这就是字节跳动火山翻译团队荣获 ACL 2021 ...
- 联邦学习最新研究趋势
2020-03-13 09:48:18 在2019年大火的联邦学习,最新的研究进展怎么样了? 文 | 蒋宝尚 编 | 贾 伟 联邦学习无疑是近期 AI 界最火爆的技术范式之一,在过去的2019年,涌现 ...
最新文章
- matlab求xk符号解,matlab符号运算习题
- 理解oauth2.0【转载】
- 面向对象编程设计模式--简单工厂模式讲解(历史上最简单明白的例子)
- 不同类型的变量在内存中存储的详细情况
- Unity 脚本生命周期流程图
- CVPR2020| 最新CVPR2020论文抢先看,附全部下载链接!
- 2017.5.15 项链工厂 思考记录
- 1004 C语言设置测试数据个数和测试结束标志
- 设置部分文件不适用ARC机制
- 检查pandas是否存在一列或者多列
- IIS网站设置禁止IP访问设置方法
- 激光雷达--C16镭神16线三维激光雷达使用
- CHM转换PDF好轻松
- 好嗨呦是谁_抖音好嗨哟感觉人生已经到达了高潮出自哪里?谁唱的?
- GTX1650 搭建TensorFlow-GPU 2.4框架(CUDA11.0 + cudnn 8.04 + anaconda 3.8)
- 3dmax2014植树插件_3DsMax种树插件:ForestPack Pro v6.1.2 For 2015-2019 updated Libraries
- 稳压二极管稳压电路如何设计
- 芋道 Spring Boot 消息队列 RocketMQ 入门
- android按钮中添加图标,android 控件 带图标的按钮(ImageButton)
- android nfc后台,android NFC开发简单入门