位置: 编程技术 - 正文

Unity3D游戏开发之自由视角状态下的角色控制(二)(Unity3D游戏开发标准教程)

编辑:rootadmin

推荐整理分享Unity3D游戏开发之自由视角状态下的角色控制(二)(Unity3D游戏开发标准教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity3D游戏开发,Unity3D游戏开发引擎,Unity3D游戏开发毕业论文,Unity3D游戏开发(第2版)pdf,Unity3D游戏开发标准教程,Unity3D游戏开发pdf,unity3D游戏开发,unity3D游戏开发,内容如对您有帮助,希望把文章链接给更多的朋友!

喜欢我的博客请记住我的名字:秦元培,我的博客地址是 本文出处: 在测试Unity3D游戏开发之自由视角状态下的角色控制这个项目的时候意外地发现了一个Bug。Bug出现在如下位置:[csharp] view plaincopyprint?

//设置玩家跟随角度 if(Target.GetComponent<NoLockiVew_Player>().State==NoLockiVew_Player.PlayerState.Walk) { Target.rotation=Quaternion.Euler(new Vector3(0,mX,0)); }

该方法主要的作用是当玩家同时按下方向控制键和鼠标右键,玩家可以随着鼠标旋转到对应的角度,这主要是为了满足玩家双手操作的需求,不过由于这行代码,导致玩家在向左、向右、向后三个方向上的转身失效,如果除去这行代码,则原来的方向控制没有任何问题,可是没有这行代码,玩家的操作感就会下降。后来想到我们对角色的旋转实际上应该是放在鼠标右键事件里的,所以将代码修改如下,这样就解决了这个Bug:

using UnityEngine; using System.Collections; public class NoLockView_Camera : MonoBehaviour { //观察目标 public Transform Target; //观察距离 public float Distance = 5F; //旋转速度 private float SpeedX=; private float SpeedY=; //角度限制 private float MinLimitY = 5; private float MaxLimitY = ; //旋转角度 private float mX = 0.0F; private float mY = 0.0F; //鼠标缩放距离最&#; private float MaxDistance=; private float MinDistance=1.5F; //鼠标缩放速率 private float ZoomSpeed=2F; //是否启用差&#; public bool isNeedDamping=true; //速度 public float Damping=F; private Quaternion mRotation; void Start () { //初始化旋转角度 mX=transform.eulerAngles.x; mY=transform.eulerAngles.y; } void LateUpdate () { //鼠标右键旋转 if(Target!=null && Input.GetMouseButton(1)) { //获取鼠标输入 mX &#;= Input.GetAxis("Mouse X") * SpeedX * 0.F; mY -= Input.GetAxis("Mouse Y") * SpeedY * 0.F; //范围限制 mY = ClampAngle(mY,MinLimitY,MaxLimitY); //计算旋转 mRotation = Quaternion.Euler(mY, mX, 0); //根据是否插&#;采取不同的角度计算方式 if(isNeedDamping){ transform.rotation = Quaternion.Lerp(transform.rotation,mRotation, Time.deltaTime*Damping); }else{ transform.rotation = mRotation; } //处理同时按下鼠标右键和方向控制键 if(Target.GetComponent<NoLockiVew_Player>().State==NoLockiVew_Player.PlayerState.Walk){ Target.rotation=Quaternion.Euler(new Vector3(0,mX,0)); } } //鼠标滚轮缩放 Distance-=Input.GetAxis("Mouse ScrollWheel") * ZoomSpeed; Distance=Mathf.Clamp(Distance,MinDistance,MaxDistance); //重新计算位置 Vector3 mPosition = mRotation * new Vector3(0.0F, 0.0F, -Distance) &#; Target.position; //设置相机的角度和位置 if(isNeedDamping){ transform.position = Vector3.Lerp(transform.position,mPosition, Time.deltaTime*Damping); }else{ transform.position = mPosition; } } //角度限制 private float ClampAngle (float angle,float min,float max) { if (angle < -) angle &#;= ; if (angle > ) angle -= ; return Mathf.Clamp (angle, min, max); } } 不过经过测试,如果不采用插&#;的话,&#;乎效果更为真实啊(为什么会和第一次测试的感觉不一样啊,囧!)Unity3D游戏开发之自由视角状态下的角色控制(二)(Unity3D游戏开发标准教程)

更多精彩请点击

Unity3D游戏开发之开发游戏带来的问题 昨日曾就某投资人把移动团队失败原因之一归于选择Unity引擎进行了一番评论,工具本身无罪,但如何理解工具、正确使用Unity引擎确实需要讨论,在选

游戏开发之UDK引擎介绍和模型导入 --::3UnrealDevelopmentKit(虚幻引擎开发工具包),简称UDK,是一套强大并免费的游戏引擎开发套件,可以用来制作高端的3D游戏或者场景展示。不

Unity3D游戏开发之游戏模型制作:机器人 1.有时属于一类应急性的工程,也就不好去定什么风细节,大致描绘下一个影子轮廓,参考下自己熟悉的游戏资料更多精彩请点击

标签: Unity3D游戏开发标准教程

本文链接地址:https://www.jiuchutong.com/biancheng/372909.html 转载请保留说明!

上一篇:Unity3D游戏开发之自由视角状态下的角色控制(Unity3D游戏开发引擎)

下一篇:Unity3D游戏开发之开发游戏带来的问题(Unity3D游戏开发pdf)

  • 不可抵扣进项税额转出
  • 关税税收优惠记忆口诀
  • 企业捐赠灾区
  • 分期付款购买商品的会计分录
  • 金融服务费可以谈吗
  • 其他流动资产对应科目
  • 计入当期损益的利得
  • 房贷利息抵个税细则 两套房
  • 企业将活期存款转为定期时
  • 办公设备折旧年限及残值率
  • 法人贷款用于公司经营的分录怎么做
  • 城镇土地使用税的计税依据
  • 生产型企业增值税率是多少
  • 一般纳税人能开3个点的专票吗
  • 总资产周转率多少算高
  • 小规模纳税人增值税超过30万怎么纳税
  • 上月有留抵的进项税额本月会计分录
  • 小微企业减半征收印花税代码
  • 物业公司的跨期收费如何确认收入?
  • 会计相关行业的工作职责和招聘要求
  • 管理费用职工福利费
  • 离退休人员福利
  • 变动成本率的计算公式字母
  • 小规模税率还是1%吗
  • 制造业企业存货管理论文
  • 应收账款期末怎么算
  • 公司帮员工交的社保公司可以退吗
  • 无法收回的应收款项计入什么科目
  • 回来报销差旅费的会计分录怎么写
  • macos itunes
  • PHP:stream_get_wrappers()的用法_Stream函数
  • 前端文件预览
  • dsm是什么文件
  • getcodebase
  • 以前年度应当取得而未取得的发票
  • 补缴税款怎么补
  • 结算应付职工薪酬怎么算
  • 销售自己使用过的旧货
  • 棕榈滩的读音
  • 销售废旧设备增值税率
  • 图书发票怎么报销的
  • 基于web的疫情防控方案
  • springboot整合websocket怎么接受图片消息
  • 营改增后残保金计入什么科目
  • 高新技术企业研发费用加计扣除
  • 应纳税所得额调整金额怎么算
  • 打车费属于差旅费吗
  • 弥补亏损的会计分录
  • 已经验旧的发票怎么作废
  • 刷pos机的如何记会计分录
  • 股东入股资金如何记账
  • 免税农产品发票怎么抵扣申报
  • 技术转让和技术开发区别
  • 资产负债表日后事项是指资产负债表日之后至审计报告
  • 原材料暂估入库分录
  • 工业企业库存商品的初始入账成本
  • 商品流通企业采购费用
  • 记账凭证基本内容口诀
  • 以固定资产投资取得长期股权投资
  • 企业内部股权转让协议书
  • 预提费用为什么是负债
  • 企业所得税审计调整分录
  • 开给个人的普通增值税
  • 外汇申报填写什么最简单
  • 红冲发票金额大于原发票金额
  • 醒狗音乐免费下载歌曲2017最新版
  • mac 电脑出现问题而重新启动
  • task host windows解决
  • mac使用命令
  • msoobe.exe是什么
  • win8怎么彻底删除安装的软件
  • win10如何更换
  • android基础入门教程
  • js面向对象的三大特性
  • python和微信交互
  • 江苏省增值税专用发票怎么开
  • 金税盘显示证书口令错误
  • 个体户增值税申报比对不符怎么处理
  • 汽车销售流程有哪些环节?每个环节的主要内容是什么?
  • 企业登录密码是几位数
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设