Unity-CharacterController(角色控制器)

这篇具有很好参考价值的文章主要介绍了Unity-CharacterController(角色控制器)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

unity charactercontroller,unity,游戏引擎

📜:关于CharacterController组件的一篇文字
🥧: 点击观看常用组件相关使用🦄
🥧:感谢大佬支持,小胖先给你们表演一段走秀😀
unity charactercontroller,unity,游戏引擎
unity charactercontroller,unity,游戏引擎

提示:以下是本篇文章正文内容

CharacterController

描述

  1. CharacterController 可使您轻松进行受碰撞约束的移动,同时不必处理刚体。
  2. CharacterController 不受力影响,仅在您调用 Move 函数时才会移动。 然后它执行移动,但受碰撞约束。

变量

变量名 作用
center 该角色的胶囊体中心(相对于变换组件的位置)。
collisionFlags 在上次 CharacterController.Move 调用期间,该胶囊体的哪个部分与环境发生了碰撞。
detectCollisions 确定其他刚体或角色控制器是否与该角色控制器碰撞(默认情况下始终启用它)。
enableOverlapRecovery 启用或禁用重叠恢复。 启用或禁用重叠恢复。用于在检测到重叠时取消角色控制器从静态对象的穿透。
height 该角色胶囊体的高度。
isGrounded 在上次移动期间 CharacterController 是否接触地面?
minMoveDistance 获取或设置此角色控制器的最小移动距离。
radius ✔ 该角色胶囊体的半径。
skinWidth 该角色的碰撞皮肤宽度。
slopeLimit 这些角色控制器的坡度限制(单位为度)。
stepOffset 这些角色控制器的台阶偏移量(单位为米)。
velocity 该角色的当前相对速度(请参阅注释)。

公共函数

函数名 作用
Move ✔ 为GameObject 的移动提供附加的 CharacterController 组件。
SimpleMove 以 speed 移动该角色。

继承的成员

变量名 作用
attachedRigidbody 碰撞体附加到的刚体。
bounds 碰撞体的世界空间包围体积(只读)。
contactOffset 该碰撞体的接触偏移值。
enabled 启用的 Collider 将与其他 Collider 碰撞,禁用的 Collider 不会这样。
isTrigger 碰撞体是不是触发器?
material 碰撞体使用的材质。
sharedMaterial 该碰撞体的共享物理材质。
gameObject 此组件附加到的游戏对象。始终将组件附加到游戏对象。
tag 此游戏对象的标签。
transform 附加到此 GameObject 的 Transform。
hideFlags 该对象应该隐藏、随场景一起保存还是由用户修改?
name 对象的名称。

公共函数

函数名 作用
ClosestPoint 返回碰撞体上最接近给定位置的一个点。
ClosestPointOnBounds 与附加碰撞体的包围盒最接近的点。
Raycast 投射除这一个外忽略其他所有 Colliders 的 Ray。
BroadcastMessage 调用此游戏对象或其任何子项中的每个 MonoBehaviour 上名为 methodName 的方法。
CompareTag 此游戏对象是否使用 tag 进行了标记?
GetComponent 如果游戏对象附加了类型为 type 的组件,则将其返回,否则返回 null。
GetComponentInChildren 使用深度首次搜索返回 GameObject 或其任何子项中类型为 type 的组件。
GetComponentInParent 返回 GameObject 或其任何父项中类型为 type 的组件。
GetComponents 返回 GameObject 中类型为 type 的所有组件。
GetComponentsInChildren 返回 GameObject 或其任何子项中类型为 type 的所有组件。
GetComponentsInParent 返回 GameObject 或其任何父项中类型为 type 的所有组件。
SendMessage 调用此游戏对象中的每个 MonoBehaviour 上名为 methodName 的方法。
SendMessageUpwards 调用此游戏对象中的每个 MonoBehaviour 上或此行为的每个父级上名为 methodName 的方法。
TryGetComponent 获取指定类型的组件(如果存在)。
GetInstanceID 返回对象的实例 ID。
ToString 返回对象的名称。

静态函数

函数名 作用
Destroy 移除 GameObject、组件或资源。
DestroyImmediate 立即销毁对象 /obj/。强烈建议您改用 Destroy。
DontDestroyOnLoad 在加载新的 Scene 时,请勿销毁 Object。
FindObjectOfType 返回第一个类型为 type 的已加载的激活对象。
FindObjectsOfType 返回所有类型为 type 的已加载的激活对象的列表。
Instantiate 克隆 original 对象并返回克隆对象。

消息

消息名 作用
OnCollisionEnter 当该碰撞体/刚体已开始接触另一个刚体/碰撞体时,调用 OnCollisionEnter。
OnCollisionExit 当该碰撞体/刚体已停止接触另一个刚体/碰撞体时,调用 OnCollisionExit。
OnCollisionStay 对应正在接触刚体/碰撞体的每一个碰撞体/刚体,每帧调用一次 OnCollisionStay。
OnTriggerEnter GameObject 与另一个 GameObject 碰撞时,Unity 会调用 OnTriggerEnter。
OnTriggerExit 当 Collider other 已停止接触该触发器时调用 OnTriggerExit。
OnTriggerStay 对于正在接触该触发器的每个其他 Collider,“几乎”所有帧都调用 OnTriggerStay。此函数位于物理计时器上,因此它不必运行每个帧。

案例

实现人物移动

📰代码演示:

unity charactercontroller,unity,游戏引擎

效果如👇:

unity charactercontroller,unity,游戏引擎

最后

本文章持续更新,觉得不错的请给我专栏点点订阅,你的支持是我们更新的动力,感谢大家的支持,希望这篇文章能帮到大家

点击跳转到Unity引擎相关使用

unity charactercontroller,unity,游戏引擎

待更

unity charactercontroller,unity,游戏引擎文章来源地址https://www.toymoban.com/news/detail-794020.html

到了这里,关于Unity-CharacterController(角色控制器)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity游戏开发教程】零基础带你从小白到超神16——四种方法控制人物移动之角色控制器

    直接修改组件位置 去资源商城下载角色控制系统成品直接拿来用 unity提供的角色控制器组件 通过物理系统自己做

    2024年02月08日
    浏览(36)
  • Unity CharacterController控制人物移动(包括重力实现)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 在使用CharacterController组件时,人物移动一般有两种方式,一种是无重力移动–SimpleMove,一种是有重力移动–Move。而使用有重力移动时,又会出现人在下楼梯时无法贴合地面,从而造成飞天效果,最终导

    2024年02月11日
    浏览(25)
  • Unity改变物体的Transform.position无效没有变化(CharacterController)的解决办法

            用脚本改变一个物体的transform.position,但是物体在场景中的位置并没有变化。(被改动的物体有CharacterController插件)         猜测是CharacterController的问题,但是具体原因还没有去深究。。。         我发现这样改position可以行得通: 就是先禁用那个组件改了位置再

    2024年02月11日
    浏览(39)
  • AD域控制器将辅域控制器角色提升为主域控制器

    域控服务器迁移,已将新机器添加为该域的辅域控制器。 主域控制器:test-dc-01 辅域控制器:test-dc-02 需求将主辅域的角色进行互换,test-dc-01更换为辅域,test-dc-02更换为主域。 方法1 命令行修改AD域角色 1.查看当前主域控制器是哪台机器,查询命令 netdom query fsmo 可以看到当前

    2024年02月12日
    浏览(36)
  • UE4/5AI制作基础AI(适合新手入门,运用黑板,行为树,ai控制器,角色类,任务)

    目录 制作流程 第一步:创建资产 然后创建一个AIController 之后创建一个黑板和行为树:  第二步:制作 黑板 行为树 任务 运行行为树  结果 第一步直接复制你的人物蓝图,做一个npc: 然后创建一个AIController 之后创建一个 黑板和行为树 :   首先打开你的BP_NPC的pawn类,然后

    2024年02月16日
    浏览(35)
  • Unity中人物控制器

       在Unity中控制器是很常见的功能,一般的人物控制器有两种方法,一种是通过代码实现,另外一种就是通过Unity中的API实现。   这里主要介绍第一种方法。   首先对控制器步骤进行分析。 步骤1:通过方向键控制人物移动。 步骤2:控制摄像机跟随人物 步骤1:通过方

    2024年02月13日
    浏览(32)
  • Unity 第三人称 玩家控制器+相机控制器

    今天给大家分享一个简单的Unity第三人称视角下玩家控制器和相机控制器的脚本编写方法。   效果如下: 主要分三部分实现:人物旋转、人物移动、相机旋转。 1.人物移动: 首先获取到人物水平和垂直移动的参数: 因为人物移动的方向跟摄像头一致,所以需要根据摄像头的

    2024年02月06日
    浏览(43)
  • Unity动画控制器animator.CrossFade

    1.CrossFade虽然可以不用任何逻辑来链接而直接跳转,但是CrossFade只能覆盖其他动画,当当前动画播放完毕而没有跳出这个动画时再次调用CrossFade将会失败。造成动画依旧停在原位。 attack动画名称 0.1f由其他动画转入此动画需0.1秒来过渡。

    2024年02月15日
    浏览(30)
  • Unity移动端第三人称控制器

    在Hierarchy面板空白地方右键-3D Object创建一个Plane和一个Capsule 鼠标单击选中Capsule 在右侧Inspector面板删除Capsule Collider碰撞体组件 添加一个Character Controller(角色控制器,自带一个碰撞体)和一个脚本ThirdPersonController(名字可以自己取) 在 ThirdPersonController 中定义变量: 在 Start 中初始

    2024年02月02日
    浏览(39)
  • 【Unity 学习笔记】动画组件和动画控制器

    动画是一款游戏不可缺少的一部分。在Unity中,我们可以直接使用Unity自带的动画系统来制作我们想要的动画,其操作相当便捷。 帧动画是2D像素游戏的主流,我将以帧动画为例记录我最近学习动画系统的一些收获。 Unity的动画系统有三个不可缺少的部分。第一,动画;第二,

    2024年02月07日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包