unity3d游戏开发之史上最简单的鼠标点击控制人物走动实现.doc

上传人:asd****56 文档编号:79329455 上传时间:2023-03-21 格式:DOC 页数:5 大小:308.50KB
返回 下载 相关 举报
unity3d游戏开发之史上最简单的鼠标点击控制人物走动实现.doc_第1页
第1页 / 共5页
unity3d游戏开发之史上最简单的鼠标点击控制人物走动实现.doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《unity3d游戏开发之史上最简单的鼠标点击控制人物走动实现.doc》由会员分享,可在线阅读,更多相关《unity3d游戏开发之史上最简单的鼠标点击控制人物走动实现.doc(5页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、今天呢,我们来一起实现一个在RPG中游戏中十分常见的功能该文章出自【狗刨学习网】,通过鼠标点击屏幕来控制人物的走动。首先来说一下原理,当我们点击屏幕时,我们按照一定的方法,将屏幕上的二维坐标转化为三维坐标,然后我们从摄像机位置发射 一条经过该点的射线,则这条射线与大地平面的交点,就是我们的目标位置。那么确定了这个位置以后,我们需要做的就是让角色从原来的位置移动到这个位置,并在其间添加角色动画即可。对于角色移动的问题,如果复杂点的画我们可能要计算移动的方向向量,并针对起点和终点进行插值计算来实现,这里我们选择一种相对简单的办法,在Unity3D中,有一个LookAt()方法,该方法可以使物体发生

2、旋转,使其z轴始终指向目标物体。再完成了旋转后,我们需要让物体沿着Z轴方向(forward)移动。这样就实现了鼠标点击控制人物走动这一功能。好了,下面我们来一起看今天的内容吧! 首先创建一个场景,我们准备一个地形Terrain和平行光Direction Light,并拖入我们事先准备好的人物模型,如图: 接下来为模型添加动画组件,并将动画的类型设置为Legacy模式,如图所示: 我们设置默认的动画为idle,接下来,我们来编写脚本代码: using UnityEngine; using System.Collections; public class PeopleControl : MonoB

3、ehaviour /目标点坐标 private Vector3 mTargetPos; void Start () void Update () /按下鼠标右键时 if(Input.GetMouseButton(1) /获取屏幕坐标 Vector3 mScreenPos=Input.mousePosition; /定义射线 Ray mRay=Camera.main.ScreenPointToRay(mScreenPos); RaycastHit mHit; /判断射线是否击中地面 if(Physics.Raycast(mRay,out mHit) if(mHit.collider.gameOb

4、ject.tag=Terrain) /获取目标坐标 mTargetPos=mHit.point; /让主角面朝目标坐标并向目标移动 transform.LookAt(mTargetPos); /播放奔跑动画 transform.gameObject.GetComponent().Play(run); transform.Translate(Vector3.forward * 0.5F); /松开鼠标右键时 if(Input.GetMouseButtonUp(1) transform.gameObject.GetComponent().Play(idle); 将脚本绑定到角色上以后,我们就能看到下面的效果啦,哈哈:) 这就是今天的内容啦,当然我们还需要解决的问题还有如何在控制人物走动的时候避免和其它物体发生碰撞,以及后续的优化问题,这些内容我们会在后面的文章中为大家解答,谢谢大家!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 休闲娱乐

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com