Unity
任何在 Update()
或 FixedUpdate()
中进行的、需要随时间连续变化的操作(如移动、旋转、缩放、计时器、颜色渐变等),都应该乘以 Time.deltaTime
,以确保其行为与帧率无关。
在 Unity 中,GameObject 本身只是一个空壳,一个坐标点。它的所有功能和行为都来自于附加在它上面的组件 (Components)。而你的 C# 脚本,就是你自定义的一种组件。一个 GameObject 上可以附加多个脚本组件,每个组件各自负责一部分特定的功能。请务必拥抱“一个 GameObject,多个小脚本”的设计模式。每个脚本都只做一件事(移动 、血量、攻击等),并且做得很好。这使得代码更容易理解、测试和维护。
你的 C# 脚本文件就是一个类 (Class),一个蓝图。它定义了一套属性(变量)和行为(方法)。当你把一个脚本拖拽到一个 GameObject 上时,你就在那个 GameObject 上创建了这个类的一个实例 (Instance) 或对象 (Object)。一个脚本不仅可以,而且应该被设计成可以给多个 GameObject 使用。这是 Unity 最基本也是最强大的工作方式。请始终以这种“蓝图/实例”的思维模式来设计你的脚本。
VRM
一个 .vrm 文件不仅仅是一个 3D 模型,它是一个完整的、可直接使用的角色数据包。它基于通用的 glTF 2.0 格式,并在此之上添加了针对虚拟化身的标准化信息:3D 模型和材质、标准化人形骨骼 (Humanoid Rig)、标准化表情 (Blend Shapes)、物理摇晃物 (Spring Bone)。
VRoid Studio 是一个免费的 3D 角色创建工具,专门制作动漫风格的角色,非常简单直观。导出角色为 VRM 文件,你就拥有了一个高质量、带表情、带骨骼的 3D 角色文件!