游戏制作时,有时会有限制某些物体旋转角度的需求,可以使用以下代码进行限制,此方法为使用了Mathf.Clamp来返回最大值和最小值之间的值,使填入的值不超出解限,然后不断赋值物体给新的旋转坐标,下面为限制Y轴的示例。

 LimitViewY(-0.4f,0.35f);public void LimitViewY(float minView,float MaxView){float rotationY = Mathf.Clamp(Player.transform.rotation.y, minView, MaxView);Quaternion a = new Quaternion(Player.transform.rotation.x, rotationY, Player.transform.rotation.z, Player.transform.rotation.w);Player.transform.rotation = a;}

稍加修改可以限制其他轴,以Z轴为例:

 LimitViewZ(-0.2f,0.2f);public void LimitViewZ(float minView,float MaxView){float rotationZ = Mathf.Clamp(Player.transform.rotation.z, minView, MaxView);Quaternion a = new Quaternion( Player.transform.rotation.x, Player.transform.rotation.y , rotationZ, Player.transform.rotation.w);Player.transform.rotation = a;}

PS:在EasyTouch插件中限制摇杆旋转角度,在ETCAxis脚本当中,找到DoDirectAction方法,在其中限制即可:

public void DoDirectAction(){if (directTransform){Vector3 localAxis = GetInfluencedAxis();Player = GameObject.FindWithTag("Player"); switch (directAction){case ETCAxis.DirectAction.Rotate:LimitViewY(-0.4f,0.35f);directTransform.Rotate( localAxis *  axisSpeedValue, Space.World);break;case ETCAxis.DirectAction.RotateLocal:LimitViewZ(-0.2f,0.2f);directTransform.Rotate( -localAxis *  axisSpeedValue,Space.Self);//改变轴向break;}

Unity限制旋转角度相关推荐

  1. Unity 修改场景中人型骨骼模型的骨骼旋转角度

    出自1909-ca-fk 1 unity中设置 模型设置 选中asset中模型,在inspector中选中Rig,取消"Optimize Game Object"的勾选. (如果需 ...

  2. Unity如何限制3D物体的旋转角度

    在项目开发中用到了限制物体的旋转角度,因为做的事移动端的,所以下面的代码是触摸屏的,如果有需要你可以把操作方式改为PC的. if (1 == Input.touchCount){Touch touch ...

  3. unity P点绕A点旋转角度

    /// <summary>/// 结构:表示一个点/// </summary>public struct RatePoint{//横.纵坐标public double x, y ...

  4. Unity Game窗口中还原Scene窗口摄像机操作 强化版

    之前写的那个版本看来真的是不行啊.最近研究了一下官方第一人称脚本,人家的平滑过渡真的是没得说.借鉴了一下,写出来了一个新的比较完美的控制. 之前我们的操作是通过鼠标输入的开始坐标和转动坐标.其实官方有 ...

  5. Unity动画系统经验谈:换装系统与骨骼调节

    这里总结一下,自己使用Unity以来的心得,大部分属于随手解决但还有印象或者觉得效果不错. 状态机与状态机设计 角色的状态机以0层作为主层,然后以待机作混合树为中心进行切换. 主层中会有一些复杂一些的 ...

  6. unity fixedupdate_3D俯视角射击——用Unity还原东方弹幕(上)

    前言 之前我们的专栏中介绍过2D的俯视角射击,这次就来试试在3D场景下的实现.移动射击的实现方法差不多,所以本次的主要目标是在3D场景下还原东方的符卡(弹幕)效果. 我们先来看看最终结果: 可配置的弹 ...

  7. 【Unity】6.8 Quaternion类(四元数)

    分类:Unity.C#.VS2015 创建日期:2016-04-20 一.四元数的概念 四元数包含一个标量分量和-个三维向量分量,四元数Q可以记作: Q=[w,(x,y,z)] 在3D数学中使用单位四 ...

  8. Unity基础之:UnityAPI的学习

    版权声明: 本文原创发布于博客园"优梦创客"的博客空间(网址:http://www.cnblogs.com/raymondking123/)以及微信公众号"优梦创客&qu ...

  9. Unity手游之路四3d旋转-四元数,欧拉角和变幻矩阵

    http://blog.csdn.net/janeky/article/details/17272625 今天我们来谈谈关于Unity中的旋转.主要有三种方式.变换矩阵,四元数和欧拉角. 定义 变换矩 ...

最新文章

  1. Google团队在DNN的实际应用方式的整理
  2. 从Visual Studio里抓取抽象语法树(AST)
  3. 微信小程序navigateTo /redirectTo/navigateBack 三者区别
  4. 通过SQL存储过程删除过期的数据库Bak备份文件
  5. 从B站到咪咕圈圈,看汉服「出圈」与年轻人「入圈」
  6. vue路由跳转权限_vue权限路由实现方式总结
  7. Mybatis助手之Mybatis-Plus——开始使用
  8. Using Artica Squid Open Source Project to Build Powerful and Safe but Simple to Use Proxy
  9. gem for onenote安装教程
  10. Sigmoid函数与Softmax函数的区别与联系
  11. python将txt文件转为excel格式以及写入excel超过65536行报错问题解决方法
  12. R语言聚类算法之期望最大化聚类(Expectation Maximization Algorithm)
  13. STM8 ADC转换模式-------单次模式
  14. linux任务计划cron
  15. 使用git可视化工具上传你修改的代码
  16. ECS云服务器搭建自己的博客网站worldpress
  17. 服务器定时发送qq消息,python实现定时发送qq消息.pdf
  18. 软件测试作业1 令我印象深刻的bug
  19. Linux系统基础操作管理
  20. HTML 与HTML5 常用标签

热门文章

  1. 驰骋BPM工作流后台常用接口与前台常用方法
  2. glut linux 安装包,“包GLUT不存在”,即使安装在Arch Linux的CL-的OpenGL
  3. mybatis show sql
  4. 在下图的基础上,一笔写出“田”字
  5. bzoj4605 崂山白花蛇草水(动态开点线段树逃替罪羊重构K-D tree)
  6. 「常見程式題目」第三版
  7. result returns more than one elements; nested exception is javax.persistence.NonUniqueResultExceptio
  8. 浅谈溯源反制与防溯源
  9. 论文阅读_基于GCN的知识图对齐
  10. Mysql-可重复读的隔离级别在什么情况下会出现幻读