位置: 编程技术 - 正文

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)

  • 专款专用需要缴纳企业所得税吗?
  • 其他应收款重分类
  • 必胜客发票提取码在小票哪里
  • 普通发票不能抵扣进项税额怎么做账
  • 合伙企业是否需要缴纳增值税
  • 企业运费发票需要缴纳印花税吗附政策依据
  • 公司新售楼总部房产税怎样算?
  • 超额亏损在合并后怎么算
  • 年末一般纳税人应交增值税借贷调平什么意思
  • 房地产营改增后开票
  • 开个体户需要什么资料
  • 国税电子钥匙常见问题解答
  • 购货折让
  • 所得税按利润总额的25%计算缴纳
  • 商超联营扣点
  • 发票遗失登报费用账务处理
  • 坏账准备年末结账要结清吗
  • 打印企业银行流水需要密码吗
  • 固废处理计入什么会计科
  • 不是公司员工可以买原始股吗
  • 购入商品款项尚未入库
  • 员工个税需要计提吗现在
  • windows11进入桌面黑屏
  • 坏账准备冲回是借方还是贷方
  • 文档自动填写怎么弄
  • 民间非盈利组织会计要素组成
  • 各部门领料情况,a产品耗用甲材料3200元
  • 其他所得是什么意思
  • 劳保用品做账分录
  • 沙盘模型制作费用
  • 软件测评费用标准
  • php怎么上传图片
  • 企业所得税的税率是多少
  • 资产变现率减资产负债率
  • php实现图片上传到网页显示
  • 会计月报表怎么做表格
  • 损益类科目资产增加在借方还是贷方
  • 增值税税收滞纳金哪里缴纳
  • gym版本和render函数
  • shell和pycharm
  • 营业外收入账务处理方法
  • 小规模纳税人企业所得税优惠政策最新2023
  • 甲公司向其控股60%的子公司捐赠货币资金3000万元
  • 纳税人的交际应酬消费可以抵扣进项税额
  • 总账和成本哪个工资高
  • 企业接管的方式有
  • 当月业务的发票可以次月开吗
  • 政府补助的界定
  • 对账结算流程
  • 所得税纳税年度
  • 未交增值税不用交了
  • 公司美元账户收款方便吗
  • 分配利润和分配红利
  • 银行的结息怎么做会计分录
  • 纳税人可以委托税务人员办理纳税申报吗
  • 工程担保属于什么
  • 房地产企业成本控制存在的问题及对策
  • 海关发票丢失怎么处理
  • win7系统管理在哪
  • u盘发光
  • win10分辨率2560*1080
  • 虚拟机打不开linux
  • win10电源选项
  • css全局样式基础代码
  • unity3d ugui优化
  • javascript中的this属性
  • js创建对象的三种方式
  • Python使用QQ邮箱发送Email的方法实例
  • javascript题
  • 菜鸟教程jstl
  • jquery中有哪些dom操作?
  • 有关的拼音
  • domcer下载
  • jquery输出语句
  • 安卓监听功能
  • 地税登记证和税务登记证是一样的吗
  • 国际税务处岗位职责
  • 票种核定流程审批时间
  • 互联网服务业有哪些行业
  • 江宁市民中心周末可以办户口吗?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设