电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

unity3d游戏制作制作如何设置场景角色移动设备VIP免费

unity3d游戏制作制作如何设置场景角色移动设备_第1页
1/45
unity3d游戏制作制作如何设置场景角色移动设备_第2页
2/45
unity3d游戏制作制作如何设置场景角色移动设备_第3页
3/45
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 为其对应脚本。 三、如何移动角色 流程可设定如下: 1、 鼠标点击地面,通过屏幕位置来计算出其所在三维空间中角色移动的目的位置。 2、 将角色从当前位置移动到鼠标点击位置 这样,我们就根据上述两个步骤来完成人物的移动操作。 (1) 鼠标拾取操作 [csharp] view plaincopyprint? 1. void Move() 2. { 3. if(Input.GetMouseButtonDown(0)) 4. { 5. // m_layerMask 是指 TouchPlane 的layer 数,这也是为什么之前在设定//TouchPlane 时要设定其layer 的原因,这样做是为了方便鼠标拾取 6. m_layerMask = 1 << 8; 7. // 根据鼠标在屏幕空间的位置计算射线 8. m_ray = Camera.main.ScreenPointToRay(Input.mousePosition); 9. // 进行三维场景中的射线求交 10. if (Physics.Raycast(m_ ray, out m_ hitIn...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

unity3d游戏制作制作如何设置场景角色移动设备

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部