- 最后登录
- 2019-12-2
- 注册时间
- 2012-8-25
- 阅读权限
- 90
- 积分
- 34660
- 纳金币
- 38268
- 精华
- 111
|
Inherits from Collider
A CharacterController allows you to easily do movement constrained by collisions without having to deal with a rigidbody.
角色控制器允许你在受制于碰撞的情况下很容易的进行运动,而不用处理刚体。
(个人理解:用CharacterController组件,它包含Rigidbody组件的一些属性,就不用用Rigidbody组件了)。
A CharacterController is not affected by forces and will only move when you call the Move funtion. It will then carry out the movement but be constrained by collisions.
角色控制器不受力的影响,仅仅当你调用Move函数时才运动。然后它将执行运动,但是受制于碰撞。
参考:Character animation examples
摘自网络的Physx参考:
character一般用于主角这类用户控制的物体,它不会受到scene的重力影响,不会被其他物体推。
程序中可以使用它的move方法移动它,当他碰到静态物体时,会停下来,遇到动态物体时会推开他,当然,这些都是可以通过activegroup来控制的。group最多有32组。因为他是一个NxU32,并通过每一位代表一个组。
move的一个参数用来告诉程序,character的当前状态。(collisionFlags)
当他遇到物体的时候,如果设置了回调函数,系统会通过回调函数通知程序。。(NxControllerDesc.callback)
character还有上楼梯模式,在某些高度的台阶,可以直接上去。(NxControllerDesc.stepOffset)
character还可以设置可以走上去的斜坡。(NxControllerDesc.slopeLimit)
由于character不受场景的重力影响,所以,用户要在move函数中自己添加重力因素,也就是说,character可以浮在空中,除非那里有其他activegroup物体。
Variables变量
isGrounded
Was the CharacterController touching the ground during the last move?
着地 在最后的移动角色控制器是否触碰地面?
velocity
The current relative velocity of the Character (see notes).
角色当前的相对速度(参见注解)。
collisionFlags
What part of the capsule collided with the environment during the last CharacterController.Move call.
在最后的CharacterController.Move调用期间,胶囊体的哪个部分与周围环境相碰撞。
radius
The radius of the character's capsule
角色胶囊体的半径。
height
The height of the character's capsule
角色胶囊体的高度。
center
The center of the character's capsule relative to the transform's position.
相对于变换位置的角色胶囊体的中心
slopeLimit
The character controllers slope limit in degrees
角色控制器的坡度度数限制。
stepOffset
The character controllers step offset in meters
以米为单位的角色控制器的台阶偏移量(台阶高度)。
detectCollisions
Should other rigidbodies or character controllers collide with this character controller (By default always enabled)
其他的刚体和角色控制器是否能够与本角色控制器相碰撞(默认值通常是enabled)
Functions函数
SimpleMove
Moves the character with speed.
以一定的速度移动角色。
Move
A more complex move function taking absolute movement deltas.
一个更加复杂的移动函数,每次都绝对移动。
Messages Sent发送消息
OnControllerColliderHit
OnControllerColliderHit is called when the controller hits a collider while performing a Move.
控制器碰撞器相碰 当控制器碰撞一个正在运动的碰撞器时,OnControllerColliderHit 被调用。
Inherited members继承成员
Inherited Variables继承变量
enabled
Enabled Colliders will collide with other colliders, disabled Colliders won't.
启用碰撞器将会碰撞其他碰撞器,禁用碰撞器就不会碰撞其他碰撞器。
attachedRigidbody
The rigidbody the collider is attached to.
碰撞器附加的刚体。
isTrigger
Is the collider a trigger?
碰撞器是一个触发器? (是否可以穿越)
material
The material used by the collider.
撞器使用的材质。
sharedMaterial
The shared physic material of this collider.
碰撞器的共享物理材质。
bounds
The world space bounding volume of the collider.
碰撞器在世界坐标空间的边界框。
transform
The Transform attached to this GameObject (null if there is none attached).
Transform附加到GameObject(游戏物体)(如无附加则为空)。
rigidbody
The Rigidbody attached to this GameObject (null if there is none attached).
Rigidbody附加到GameObject(游戏物体)(如无附加则为空)。
camera
The Camera attached to this GameObject (null if there is none attached).
Camera附加到GameObject(游戏物体)(如无附加则为空)。
light
The Light attached to this GameObject (null if there is none attached).
Light附加到GameObject(游戏物体)(如无附加则为空)。
animation
The Animation attached to this GameObject (null if there is none attached).
Animation附加到GameObject(游戏物体)(如无附加则为空)。
constantForce
The ConstantForce attached to this GameObject (null if there is none attached).
ConstantForce附加到GameObject(游戏物体)(如无附加则为空)。
renderer
The Renderer attached to this GameObject (null if there is none attached).
Renderer附加到GameObject(游戏物体)(如无附加则为空)。
audio
The AudioSource attached to this GameObject (null if there is none attached).
AudioSource附加到GameObject(游戏物体)(如无附加则为空)。
guiText
The GUIText attached to this GameObject (null if there is none attached).
GUIText附加到GameObject(游戏物体)(如无附加则为空)。
networkView
The NetworkView attached to this GameObject (Read Only). (null if there is none attached)
NetworkView附加到GameObject(游戏物体)(只读)(如无附加则为空)。
guiTexture
The GUITexture attached to this GameObject (Read Only). (null if there is none attached)
GUITexture附加到GameObject(游戏物体)(只读)(如无附加则为空)。
collider
The Collider attached to this GameObject (null if there is none attached).
Collider附加到GameObject(游戏物体)(如无附加则为空)。
hingeJoint
The HingeJoint attached to this GameObject (null if there is none attached).
HingeJoint附加到GameObject(游戏物体)(如无附加则为空)。
particleEmitter
The ParticleEmitter attached to this GameObject (null if there is none attached).
ParticleEmitter附加到GameObject(游戏物体)(如无附加则为空)。
gameObject
The game object this component is attached to. A component is always attached to a game object.
组件附加的游戏物体。一个组件总是被附加到一个游戏物体。
tag
The tag of this game object.
游戏物体的标签。
name
The name of the object. //物体的名字
hideFlags
Should the object be hidden, saved with the scene or modifiable by the user?
物体是否被隐藏、保存在场景中或被用户修改?
Inherited Functions继承函数
ClosestPointOnBounds
The closest point to the bounding box of the attached collider.
到附加碰撞器的边界框最近的点。
Raycast
Casts a Ray that ignores all Colliders except this one.
投射一个光线(Ray),它忽略所有碰撞器,除了这个。
GetComponent
Returns the component of Type type if the game object has one attached, null if it doesn't.
如果游戏物体有一个附加,则返回Type类型的组件,如果没有则为null。
GetComponent.<T>
GetComponent
Returns the component with name type if the game object has one attached, null if it doesn't.
如果游戏物体有一个附加,则返回名字类型组件,如果没有则为null。
GetComponentInChildren
Returns the component of Type type in the GameObject or any of its children using depth first search.
返回Type类型组件,在GameObject或它的任何子物体使用深度优先搜索,仅返回激活的组件。
GetComponentInChildren.<T>
GetComponentsInChildren
Returns all components of Type type in the GameObject or any of its children.
在GameObject或任何它的子物体,返回全部Type类型组件
GetComponentsInChildren.<T>
GetComponents
Returns all components of Type type in the GameObject.
在游戏物体返回全部Type类型组件。
GetComponents.<T>
CompareTag
Is this game object tagged tag?
游戏物体有被标记标签么?
SendMessageUpwards
Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour
在游戏物体每一个MonoBehaviour和每一个behaviour的祖先上调用名为methodName的方法。
SendMessage
Calls the method named methodName on every MonoBehaviour in this game object.
在游戏物体每一个MonoBehaviour上调用名为methodName的方法。
BroadcastMessage
Calls the method named methodName on every MonoBehaviour in this game object or any of its children.
在游戏物体每一个MonoBehaviour和它的全部子物体上调用名为methodName的方法。
GetInstanceID
Returns the instance id of the object.
返回物体的实例ID
ToString
Returns the name of the game object.
返回游戏物体的名称。
Messages Sent发送消息
OnTriggerEnter
OnTriggerEnter is called when the Collider other enters the trigger.
当碰撞器other进入触发器时OnTriggerEnter被调用。
OnTriggerExit
OnTriggerExit is called when the Collider other has stopped touching the trigger.
当碰撞器other停止触动触发器时,OnTriggerExit被调用。
OnTriggerStay
OnTriggerStay is called almost all the frames for every Collider other that is touching the trigger.
每个碰撞器other触动触发器,几乎在所有的帧OnTriggerStay被调用。
OnCollisionEnter
OnCollisionEnter is called when this collider/rigidbody has begun touching another rigidbody/collider.
当collider/rigidbody开始触动另一个rigidbody/collider时OnCollisionEnter被调用。
OnCollisionExit
OnCollisionExit is called when this collider/rigidbody has stopped touching another rigidbody/collider.
当 collider/rigidbody停止触动另一个 rigidbody/collider时,OnCollisionExit被调用。
OnCollisionStay
OnCollisionStay is called once per frame for every collider/rigidbody that is touching rigidbody/collider.
每个collider/rigidbody触动rigidbody/collider,将在每帧调用OnCollisionStay。通俗的说,
Inherited Class Functions继承类函数
operator bool
Does the object exist?
物体是否存在?
Instantiate
Clones the object original and returns the clone.
克隆原始物体,并返回克隆的物体
Instantiate.<T>
Destroy
Removes a gameobject, component or asset.
删除一个游戏物体、组件或资源
DestroyImmediate
Destroys the object obj immediately. It is strongly recommended to use Destroy instead.
立即销毁物体obj,强烈建议使用Destroy代替。
FindObjectsOfType
Returns a list of all active loaded objects of Type type.
返回Type类型的所有激活的加载的物体列表
FindObjectOfType
Returns the first active loaded object of Type type.
返回Type类型第一个激活的加载的物体。
operator ==
Compares if two objects refer to the same
比较如果两个物体相同
operator !=
Compares if two objects refer to a different object
比较如果两个物体不同
DontDestroyOnLoad
Makes the object target not be destroyed automatically when loading a new scene.
加载新场景的时候使目标物体不被自动销毁。
|
|