source:
一次性讲清楚3D创作的全流程 —“最好的”3D创作入门课, 小意思VR
model
建模 想到我当年在体素 点云 网格中挣扎那么长时间,亏了亏了,太憨憨了,果然太菜了
mesh
tri
quad
normal:标记面片是正还是反,法线,来保证过渡平滑
3dmax中的平滑组,把一个面集合标记为一个组来实现平滑
CAD模型
有个软件就叫CAD
直接以组件为最基础的单元,无限放大. mesh和cad的关系非常类似于位图和矢量图的关系
cad转mesh很容易,但是反过来很难
建模 create 3d assert
unity的面在法线后面看是看不见东西的,而3dmax是看得见正反面的,这是导致3dmax导入到unity上面变成透明的原因
分类如下:sculpting;polymodeling;cad modeling;scanning;procedual modeling
polymodeling
subdivision:也可以变得圆润
3dmax通过卡线来在边缘加更多的线,然后加入平滑
比较好的建模尽可能让布线优美,而且少,然后让材质来提高质感
雕刻建模:用zbrush
工业建模:cad
扫描建模:
或者sfm,photogeometry来从图片来搞
过程式建模
watertight mesh
https://davidstutz.de/a-formal-definition-of-watertight-meshes/
在occupancy_network中提到了meshfusion的方法来得到waterght
non-rigid 3D models
baking
用算法把一些边缘部位加上磨损等细节,提高质感这个质感可以通过多层次的贴图baking来解决
curvature
遮蔽贴图occlusion
normal map法线贴图
从高模到低模,然后算出法线贴图贴到底模上,来在简化网格的同时也保真
world space
UV
3d->2d展开映射,uv就是三维曲面的参数化表示,然后找个方法贴在平面上
然后给不同部位加上不同的材质.
texture
绘制方法
- 直接绘制纹理
substance painter 类似3d版本photoshop
- 材质球
材质球参数背后是shader
- 算法生成,比如凹进去的地方加xxx材质,皮革上加随机花纹,可能和波函数坍塌有关
- 过程式
- 扫描
- parametric参数化纹理,和前面参数化建模类似,都可以控制语义级别的内容
shader
可以用unity的shaderforge插件来可视化编程
PBR基于物理的渲染
- 本身材质
- 反射
- 透明
- translucency 用于模拟玻璃这样的透明
- opacity/transparecy
alpha值,透明度.
通过法线贴图和高度贴图来细化纹理,而不用在建模阶段刻画这些局部的纹理
常用软件
rigging(绑定)
在建好的模型上rig虚拟的骨骼方便进行控制
mixamo 动作库,事先把绑骨给做好了
3dmax中比较繁琐(idea:neural搞起来)
动画
keyframing,决定一些关键的帧,其余插值. 适合比较简单,有预计动作过程,比如沿着抛物线运动,旋转
motion capture
- 基于视频来提取动作:ARkit3
- 用外带式设备精确捕捉Mocap suit
simulation
render
布置场景
灯光
- 点光源
- 平行光
- idea new tasl:如何根据给定的照片来确定光照(参考nerf in the wild这样来进行光照模拟)
导入模型
- 比例
- 吸附地面
相机虚拟相机参数
- unity实时渲染realtime render
- houdini里面的是离线渲染(或者没用渲染器的时候是实时渲染)
渲染完后可以到ae ps里面加字幕,调光照等,做个后期 达芬奇软件调色
unity的rendering model中
- cutout根据alpha值直接决定是否变成全透明
- fade是
类似二维图层,用于提示板这样的平面透明消失
- transparent 非常类似于玻璃