欢迎光临散文网 会员登陆 & 注册

【Unity学习笔记】Unity's Game Prototyping Series(3)

2023-03-05 10:14 作者:菜肉四喜丸子  | 我要投稿

三、摄影、动画与特效

1. Cinemachine(https://unity.com/cn/unity/features/editor/art-and-design/cinemachine)

利用Cinemachine,我们可以使用摄像机创造复杂行为而不必撰写任何代码。Cinemachine包含许多模块,将其组合起来,可以创作影片或者完全自动化的游戏内摄像系统,等等。

Cinemachine不创造新的Unity摄像机,只是用Cinemachine Brain管理虚拟摄像机。

(1)新建Cinemachine Brain

Main Camera>Add Component>Cinemachin>Chinemachine Brain

(2)新建Cinemachine Virtual Camera

Menu>Cinemachine>Create Virtual Camera>将游戏物体拖入Follow和LookAt参数

(3)选择游戏视角并调整盲区(Dead Zone)

调整镜头(Lens)参数和阻尼(Damping)参数。阻尼参数决定了镜头跟踪目标的紧密程度。

2. 移动式摄影车(Dolly Cart)和轨道(Track)

(1)新建Cinemachine Brain

Main Camera>Add Component>Cinemachin>Chinemachine Brain

(2)新建Cinemachine Virtual Camera

Menu>Cinemachine>Create Virtual Camera>将游戏物体拖入Follow和LookAt参数

(3)选择游戏视角并调整盲区(Dead Zone)

(4)添加移动式摄影车和轨道

Cinemachin>Create Dolly Track and Cart>将虚拟摄像机拖入Dolly Cart的Follow参数

设置Dolly Cart的位置、速度

Dolly Track>添加Waypoints

根据需要勾选Loop

调整平滑度(Resolution)

注意:摄像机和小车的位置最好与起始节点相同

3. ShaderGraph

【注意】必须选用Lightweight/universal render pipeline模式新建工程文件,如果使用MMD插件转换的模型,模型材质必须选择Universal Render Pipeline/Lit模式

(1)新建Shader Graph文件夹>新建Shader-Unlit Graph>打开Shader Graph窗口(也可建立PRB Graph,注意这里检查打开窗口后是否出现相应的master)

(2)在工作区中按鼠标右键(或空格),选择Create Node>建立Texture 2D Asset和Sample Texture 2D>在Texture 2D Asset中导入材质>单击Texture 2D Asset的Out(T)并与Sample Texture 2D Texture(T)相连

(3)复制粘贴已建立的Texture 2D Asset和Sample Texture 2D>在第二个Texture 2D Asset中导入第二个材质

(4)新建Tiling and Offset节点>将TaO的Out与第一个Sample Texture 2D的UV连接>这里可以选择调整TaO的Input节点的X值和Y值(分割)

(5)新建Divide节点>将第一个Sample Texture 2D的A(1)节点与Divide的input连接>将Divide节点B(1)的X输入改为20

(6)新建Blend节点>将Divide节点的Out(1)与第一个Blend节点的Base(1)连接>将第二个Sample Texture 2D的A(1)与第二个Blend节点的Base(1)连接

(7)新建Color节点>调整颜色并将模式改为HDR>创建新的Blend节点>将第一个Sample Texture 2D的RGBA(4)与新建Blend的Base(4)连接>将Color的Out(4)与Blend的Base(4)连接>将Blend节点的模式改为Darken>将彩色Blend的Out(4)与Unlit Master的Color(3)连接>将第二个Blend的Out(4)与Unlit Master的Alpha(1)连接

(8)点击Unlit Master右上的齿轮,将Surface设为Transparent>在Shader Graph窗口左上点击保存资源

使用时,在材质检查器中选择新制作的Shader即可。

4. 动画绑骨(Animation)

(1)安装Animation Rigging资源包(此资源包为试行版,需打开preview选项)

(2)导入模型,做好控制器。

(3)在模型上添加Rig Builder组件

(4)在模型上创建新的子对象,并添加Rig组件。

(5)将Rig拖入模型Rig Builder组件中的Rig Layers列表。

(6)添加Bone Renderer组件

(7)菜单栏Animation Rigging>Bone Renderer Setup(此时屏幕中应出现骨骼)

(8)点击屏幕上Animation Rigging的“+”,会打开下拉菜单,这时可以设置Rig Effector

(9)Rig Constraints:聚合骨骼并实时产生预定动作的工具。

(10)菜单>Restore Bind Pose>在模型下建立子游戏物体CharacterRig>在CharacterRig下建立子游戏物体Right Arm IK<在Right Arm IK下建立两个子游戏物体RH IK Target和RH IK Hint>在模型下添加Rig Builer组件>在CharacterRig上增加Rig组件>选择Right Arm IK并添加Two Bone IK Constraint组件

(11)选择RH IK Target并添加Box Effector,调整参数和大小>同时选择Box Effector和层级窗口中的右手,点击菜单栏中的Animation Rigging并选择Align Transform>选择RH IK并添加Ball Effector>同时选择RH IK Hint和右肘骨骼,点击Animation Rigging并选择Align Transform>移动Ball Effector使其稍微远离肘部。

(12)选择RightArm IK并将相应骨骼(右上臂、右下臂、右手)拖入相应框内>将RH IK Target和RH IK Hint拖入Source Objects的相应框内>选择模型并将Character Rig加入Rig Layers列表>测试

5. 粒子系统

(1)一个简单的控制脚本

ParticleSystem part = GetComponent<ParticleSystem>();

var part = GetComponent<ParticleSystem>();

part.Play();

Destroy(gameObject, part.duration);

(2)烟花范例

https://styly.cc/tips/unity_fireworks01/

注意:教程叙述得不是很清楚,烟花由三个粒子系统组成:升起的烟花弹、烟花弹尾迹和在半空绽放的主烟花,三个部分按条件绑定,烟花弹和烟花弹尾迹同生同灭,主烟花在烟花弹消失后启动


【Unity学习笔记】Unity's Game Prototyping Series(3)的评论 (共 条)

分享到微博请遵守国家法律