Unity 3D 游戏制作 开博写Unity 的东西也写了好多,但大部分都是翻译,原创很少,接下来的一段日子,我会多写一些原创文章,介绍一些在项目中积累的简单实用的技术
一: 3D横版场景的角色移动控制 一、导入场景,并在场景中加入 TouchPlane TouchPlane 为鼠标屏幕时的Raycast 平面,如下图场景中的绿线部分
由于是横版场景,地面一般是平坦的,所以可以选择进行一个平面来作为计算鼠标投射交点
之所以是绿线,是因为我disable 该平面的MeshRender,该平面的Inspector 视图如下: 值得注意的是: 1、 该平面使用 Box Collider,而不用 Mesh Collider,这样做的好处是可以减少碰撞的计算量; 2、 Tag 设定为“Plane”,这是为了鼠标点击时的Ray cast 选取; 3、 Lay er 设定为“TouchPlane”,这样做也是为了以后进行 Ray cast 鼠标选取操作
二、设定角色 Component 角色Inspector 视图如下图所示: 一共四个Component:Animation、Rigidbody、Capsule Collider 以及 Move Controller
Animation 组件主要是角色的动作动画; Rigidbody 组件是为了角色的移动,这个我在后面会解释,这里还有一点需要注意就是不使用“Use Gravity”,这样做一是因为角色只在地面上跑(如果你的游戏需要角色有跳跃功能,那么应该使用“Use Gravity”,二是可以在不影响效果的同时,减少模型的物理计算); Capsule Collider 是碰撞器,与该文章所介绍移动内容没有关系; Move Controller 是自定义的角色移动控制组件,其中MoveController
cs 为其对应脚本