Unity原创文章之移动角色流程可设定:导入场景

Unity原创文章之移动角色流程可设定:导入场景

本系列文章由Amazonzx撰写,欢迎转载横版游戏制作,转载请注明出处。

凯博也写了很多关于Unity的文章,不过大部分都是翻译的,原创的很少。在接下来的几天里,我会写更多的原创文章,介绍一些在项目中积累的简单实用的技术。

1.导入场景,添加TouchPlane到场景中

TouchPlane是鼠标屏幕显示时的Raycast平面,如下图绿线所示。由于是水平场景,地面一般是平的,所以可以选择一个平面来计算鼠标投影交点。

横版游戏制作_横屏射击类的网页游戏_诈欺游戏 -再生- 福永vs横屋

横版游戏制作_横屏射击类的网页游戏_诈欺游戏 -再生- 福永vs横屋

绿线是因为我禁用了平面的MeshRender,平面的Inspector视图如下:

横屏射击类的网页游戏_横版游戏制作_诈欺游戏 -再生- 福永vs横屋

值得一提的是:

横版游戏制作_横屏射击类的网页游戏_诈欺游戏 -再生- 福永vs横屋

1.平面使用Box Collider代替Mesh Collider横版游戏制作,优点是减少了碰撞计算量;

2、Tag设置为“Plane”,用于鼠标点击时的Raycast选择;

3、Layer设置为“TouchPlane”,也是为了以后进行Raycast鼠标选择操作。

横版游戏制作_横屏射击类的网页游戏_诈欺游戏 -再生- 福永vs横屋

2.设置角色组件

诈欺游戏 -再生- 福永vs横屋_横版游戏制作_横屏射击类的网页游戏

角色 Inspector 视图如下所示:

横版游戏制作_诈欺游戏 -再生- 福永vs横屋_横屏射击类的网页游戏

一共四个组件:Animation、Rigidbody、Capsule Collider和Move Controller。

Animation组件主要是角色的动作动画;

横屏射击类的网页游戏_横版游戏制作_诈欺游戏 -再生- 福永vs横屋

Rigidbody 组件用于角色的移动3D交通工具,我稍后会解释。这里要注意的另一点是没有使用“使用重力”。这是因为角色只在地上奔跑(如果你的游戏要求角色有跳跃功能),那么应该使用“使用重力”,二是在不影响效果的情况下减少模型的物理计算) ;

Capsule Collider 是一个碰撞器,与本文描述的移动内容无关;

Move Controller 是一个自定义的角色移动控制组件,MoveController.cs 是它对应的脚本。

3.如何移动角色

流程可以设置如下:

1、用鼠标点击地面3D场景,通过屏幕位置计算出人物在其所在的三维空间中移动的目标位置。