1 简介

控制角色移动的组件主要有:Transform 组件、Rigidbody 组件、CharacterController 组件。Transform 组件通过控制角色位置实现移动,Rogidbody 组件通过控制角色速度实现移动,CharacterController 组件通过控制角色速度和模拟碰撞实现移动。Transform 组件和 Rogidbody 组件不便于控制角色爬坡和爬梯,CharacterController 组件能够很方便地实现角色在各种复杂地形中运动。

CharacterController 继承 Collider(见→碰撞体组件Collider),其属性面板如下:

  • Slope Limit:爬坡最大角度
  • Step Offset:爬梯最大高度
  • Skin Width:皮肤厚度
  • Min Move Distance:最小移动距离
  • Center、Radius、Height:角色用于检测碰撞的胶囊体中心、半径、高

说明:CharacterController 继承 Collider,并且其碰撞体是一个胶囊体。

CharacterController 中控制角色移动的方法如下:

public CollisionFlags Move(Vector3 motion)
public bool SimpleMove(Vector3 speed)

2 应用

1)游戏对象

创建 2 个楼梯(每个楼梯由 5 个 Cube 对象拼成)和 2 个斜坡以及一个胶囊体,如下:

2)脚本组件

PlayerController.cs

using UnityEngine;public class PlayerController : MonoBehaviour {private CharacterController character;private float speedRate = 4f;private void Start () {character = GetComponent<CharacterController>();}private void Update () {float hor = Input.GetAxis("Horizontal");float ver = Input.GetAxis("Vertical");Vector3 speed = new Vector3(hor, 0, ver) * speedRate;character.SimpleMove(speed);}
}

说明: PlayerController 脚本组件挂在胶囊体上。

3)运行效果

【Unity3D】角色控制器(CharacterController)相关推荐

  1. Unity3D 角色控制器 Character Controller

    添加组件 角色控制器组件介绍 [Slope Limite]爬坡角度限制(如图限制爬坡角度为10度,超过10度的斜坡无法前进) [Step Offset]脚步长度限制 [Skin Width]和胶囊体相 ...

  2. unity 使用角色控制器CharacterController移动对象造成模型动画的抖动

    使用角色控制器控制对象的移动,主要用到Move和simplemove函数: function Move (motion : Vector3)   //montion表示将控制器移动到这个坐标点,注意它 ...

  3. 【Unity】多种方法实现第一人称角色移动(一)角色控制器

    前言   在Unity中要实现第一人称视角移动的方法有很多,每种方法各有优劣,本次要介绍的就是使用角色控制器CharacterController来实现的方法.   在阅览下面的步骤之前,你首先需要一 ...

  4. 【原创】Unity3D 模仿《魔兽世界》的第三人称角色控制器

    玩过<魔兽世界>的朋友都知道,<魔兽世界>中的角色控制器非常的出色,Unity3D 的标准包中自带了第三人称与第一人称角色控制器,但是感觉上面差了很多,下面这个第三人称角色控制 ...

  5. Unity3D模仿《魔兽世界》的第三人称角色控制器

    转载自:http://www.omuying.com/article/111.aspx 玩过<魔兽世界>的朋友都知道,<魔兽世界>中的角色控制器非常的出色,Unity3D 的标 ...

  6. Unity3d之角色控制器

    我们要控制角色的移动,可以全部细节都由自己来实现.控制角色模型的移动,同时移动摄影机,改变视角.当然Unity也提供了一些组件,可以让我们做更少的工作,实现我们所期望的功能.今天我们就一起系统来学习相 ...

  7. [Unity3D]第一人称角色控制器

    [Unity3D]最简单最详细的第一人称角色控制器 自学Unity3D有一段时间了,一直想弄一个第一人称角色控制器,网上还是有很多教程和资料,但感觉有很多教程和资料理解起来比较复杂,在这里我结合网上所 ...

  8. unity3d人物跳_Unity3D研究院之角色控制器组件研究(二十二)

    Unity3D封装了一个非常好用的组件来实现第一人称视角与第三人称视角游戏开发,我们称他为角色控制器组件,几乎不用写一行代码就可以完成一切的操作,神奇吧.使用它的方法如下,首先打开Unity游戏引擎编 ...

  9. Unity3D基础38:角色控制器组件

    前文:https://blog.csdn.net/Jaihk662/article/details/87906156(Input控制面板) 一.CharacterController角色控制器 为什么 ...

  10. Unity:角色控制器(CharacterController)

    角色控制器是unity中专门用来控制角色的组件(主要是运动相关),区别于直接用Transform或者RigidBody,CharacterController有着更好的效果,它拥有RigidBody的 ...

最新文章

  1. web.config中sessionState节点的配置方案
  2. 设置UserAgent让电脑浏览器访问微信手机网站
  3. 关于本Blog无法进行评论问题的说明
  4. 前端学习之day02-CSS基础
  5. React 深入学习:React 更新队列
  6. 066:ORM查询条件详解-startswith和endswith:
  7. Lambda表达式Java教程
  8. java用循环做猜拳_java用循环方式实现和计算机玩猜拳的程序
  9. 用python画糖葫芦_python学习记录六
  10. 阿里巴巴CTO王坚:省长也是开发者
  11. 2018达内web全套视频
  12. 智能驾驶LQR横向控制算法
  13. springboot 中jsp乱码设置
  14. html背景图片自动铺满屏幕,【CSS背景图片页面自适应充满屏幕】
  15. 帝国cms后台admin帐号密码忘记的处理方法
  16. Springboot 拦截器链 - 加载拦截器
  17. 2015.04.20,外语,读书笔记-《Word Power Made Easy》 11 “如何辱骂敌人” SESSION 30
  18. JavaEE(SSM框架,黑马程序员) P163~P178
  19. jdk-8u231-macosx-x64.dmg
  20. 大学生访谈计算机教师,职业生涯人物访谈报告,教师(共10篇)

热门文章

  1. postgresql_internals-14 学习笔记(五)Buffer Cache
  2. auc是怎么计算的?
  3. php中直接显示源代码,高亮度显示php源代码
  4. 飞书远程办公,流畅的协作体验
  5. Python爬虫(10)selenium爬虫后数据,存入csv、txt并将存入数据并对数据进行查询
  6. 【Python】学习笔记——-Python2 和 Python3的区别
  7. git 的 HEAD~ 和 HEAD^ 区别
  8. 添加li标签点击事件,删除当前点击li标签
  9. 做自己生活的导演:华为CameraKit为你加持大师光环
  10. SoilingNet: Soiling Detection on Automotive Surround-View Cameras 论文精读