Character Controller深度解析

这篇博客深入探讨了Unity中的Character Controller组件,包括其继承成员、变量、函数和发送的消息。重点介绍了SimpleMove和Move两个移动函数,以及碰撞检测的相关方法如OnControllerColliderHit。此外,还列出了一系列继承自游戏物体的变量和功能,如刚体、触发器事件和碰撞事件的处理。
摘要由CSDN通过智能技术生成
说明:
Character一般用于主角这类用户控制的物体,它不会受到scene的重力影响,不会被其他物体推。

程序中可以使用它的move方法移动它,当他碰到静态物体时,会停下来,遇到动态物体时会推开他,当然,哲学都是可以通过activegroup老控制的,group至多有32组。

character还有上楼梯模式,在某些高度的台阶,可以直接上去(stepOffest)
character还可以设置可以走上去的斜坡(slopeLimit)

由于character不受到场景的重力影响,所以,用户要在move函数中自己添加重力因素,也就是说,character可以悬浮在空中,除非那里有其他的activegroup物体;

角色控制器中的变量:
isGrounded: 着地,在最后的移动角色控制器是否接触地面;
velocity:角色当前的相对速度;
cllisionFlags:在最后的characterController.Move调用期间,胶囊提的哪个部分和周围环境相碰撞。
radius:角色胶囊体 的半径,
height:角色胶囊体的高度。
center:相对于变换位置的角色胶囊体的中心。
slopLimit:角色控制器的坡度洗漱限制,
stepOffest:以米为单位的角色控制器的台阶偏移量(台阶高度)
detectCollisions:其他刚体和角色控制器能否能够与本角色控制器相互碰撞。默认值筒仓为enabled;

函数:
SimpleMove:

function SimpleMove (speed : Vector3) : bool

以一定速度移动角色;
Move:

function Move (motion : Vector3) : CollisionFlags,

一个更加复杂的移动函数,每次都绝对移动。 

尝试着通过动力移动控制器,动力只受限制于碰撞。它将沿着碰撞器滑动。CollisionFlags 是发生于Move的碰撞的概要。这个函数不应用任何重力。


发送消息:

OnControllerColliderHit:控制器碰撞器相碰,当控制器碰撞一个正在移动的碰撞器时,此函数被调用;

Inherited members继承成员

Inherited Variables继承变量

  • attachedRigidbody

    碰撞器附加的刚体。
  • isTrigger

    碰撞器是一个触发器? (是否可以穿越)
  • material

    撞器使用的材质。
  • sharedMaterial

    碰撞器的共享物理材质。
CharacterController是一个Unity中的组件,主要用于控制角色的移动和碰撞检测。通过调用CharacterController组件的Move()方法,可以实现角色的移动。 CharacterController主要用于控制第三人称或第一人称游戏中的主角,也可以用于创建类人角色,例如第三人称游戏中的主角或敌人角色,以及FPS射击游戏中的玩家角色等等。 CharacterController组件可以受到力的影响,也可以不受到力的影响。可以通过脚本对刚体(Rigidbody)应用力来推动它们,但一般情况下,类人角色都会使用CharacterController来实现移动和碰撞检测。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Unity角色控制器CharacterController的简单介绍](https://blog.csdn.net/qq_30454411/article/details/79139227)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【Unity】11.1 角色控制器 (Character Controller)](https://blog.csdn.net/weixin_33749242/article/details/86115331)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值