RigidBody
属性
含义
Mass
unity中的一重量单位
Drag
直线运动时的阻力
Angular Drag
角度改变时的阻力
Use Gravity
是否应用重力
is Kinematic
刚体是否可以产生运动的(勾选则完全锁定)
interpolate
插值,让刚体运动得更加自然(否则可能会抖)
Collision Detection
碰撞检测模式,discrete:大部分情况下使用不连续的模式
Constraints
用来控制锁定。Freeze Position:锁定坐标;Freeze Rotation:锁定旋转
控制小球 创建C#脚本,不要忘记了附加给小球,AddComponent里面就有~
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 public class Player : MonoBehaviour { private Rigidbody rigid; private Vector3 dir; private float force = 5f ; private float torque = 10f ; private bool brake; private int spin; private void Start ( ) { rigid = GetComponent<Rigidbody>(); } private void Update ( ) { dir = new Vector3(Input.GetAxis("Horizontal" ), 0 , Input.GetAxis("Vertical" )); brake = Input.GetKey(KeyCode.Space); if (Input.GetKey(KeyCode.Q)) spin = -1 ; else if (Input.GetKey(KeyCode.E)) spin = 1 ; else spin = 0 ; } private void FixedUpdate ( ) { if (!brake) { rigid.AddForce(dir * force, ForceMode.Force); rigid.AddTorque(Vector3.up * spin * torque); } else rigid.velocity = Vector3.Lerp(rigid.velocity, new Vector3(0 , rigid.velocity.y, 0 ), 0.2f ); } }
摄像头追随 需要给Main Camera附加脚本1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public class CameraTrace : MonoBehaviour { private Transform trans; public Transform target; public Vector3 distance = new Vector3(0 , 2 , -5 ); void Start ( ) { trans = this .transform; target = GameObject.Find("Ball" ).GetComponent<Transform>(); } void Update ( ) { trans.position = target.position + distance; trans.LookAt(target); } }
GameObject脚本操作 GameObject本身没有功能,是Unity场景里所有组件的基类,很多时候需要在脚本中操作GameObject
成员变量
含义
activeInHierarchy
场景中的游戏对象是否激活?
activeSelf
该游戏对象的局部激活状态。(只读)
isStatic
如果一个游戏对象是静态仅在编辑器API指定。
layer
游戏对象所在的层,层的范围是在[0…31]之间。
scene
场景物体。
tag
这个游戏对象的标签。
transform
附加于这个游戏对象上的变换。(如果没有则为空)
成员函数
使用方法
AddComponent
添加一个名称为className的组件到游戏对象。
BroadcastMessage
对此游戏对象及其子对象的所有MonoBehaviour中调用名称为methodName的方法。
CompareTag
此游戏对象是否被标记为tag标签?
GetComponent
如果这个游戏对象附件了一个类型为type的组件,则返回该组件,否则为空。
GetComponentInChildren
返回此游戏对象或者它的所有子对象上(深度优先)的类型为type的组件。
GetComponentInParent
从父对象查找组件。
GetComponents
返回该游戏对象所有type类型的组件列表。
GetComponentsInChildren
返回此游戏对象与其子对象所有type类型的组件。
GetComponentsInParent
返回此游戏对象与其父对象所有type类型的组件。
SampleAnimation
用于任何动画剪辑在给定的时间采样动画。
SendMessage
在这个游戏物体上的所有MonoBehaviour上调用名称为methodName的方法。
SendMessageUpwards
在这个游戏物体及其祖先物体的所有MonoBehaviour中调用名称为methodName的方法。
SetActive
激活/停用此游戏对象。
静态函数
使用方法
CreatePrimitive
创建一个带有原型网格渲染器和适当的碰撞器的游戏对象。
Find
找到并返回一个名字为name的游戏物体。
FindGameObjectsWithTag
返回具体tag标签的激活的游戏对象列表,如果没有找到则为空。
FindWithTag
返回标记为tag的一个游戏对象,如果没有找到对象则为空。
Reference Unity 3D 刚体实现平衡球游戏 人人都能写游戏系列(三)Unity 3D平衡球游戏 U3D GameObject 解读