Unity限制旋转角度
游戏制作时,有时会有限制某些物体旋转角度的需求,可以使用以下代码进行限制,此方法为使用了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限制旋转角度相关推荐
- Unity 修改场景中人型骨骼模型的骨骼旋转角度
出自1909-ca-fk 1 unity中设置 模型设置 选中asset中模型,在inspector中选中Rig,取消"Optimize Game Object"的勾选. (如果需 ...
- Unity如何限制3D物体的旋转角度
在项目开发中用到了限制物体的旋转角度,因为做的事移动端的,所以下面的代码是触摸屏的,如果有需要你可以把操作方式改为PC的. if (1 == Input.touchCount){Touch touch ...
- unity P点绕A点旋转角度
/// <summary>/// 结构:表示一个点/// </summary>public struct RatePoint{//横.纵坐标public double x, y ...
- Unity Game窗口中还原Scene窗口摄像机操作 强化版
之前写的那个版本看来真的是不行啊.最近研究了一下官方第一人称脚本,人家的平滑过渡真的是没得说.借鉴了一下,写出来了一个新的比较完美的控制. 之前我们的操作是通过鼠标输入的开始坐标和转动坐标.其实官方有 ...
- Unity动画系统经验谈:换装系统与骨骼调节
这里总结一下,自己使用Unity以来的心得,大部分属于随手解决但还有印象或者觉得效果不错. 状态机与状态机设计 角色的状态机以0层作为主层,然后以待机作混合树为中心进行切换. 主层中会有一些复杂一些的 ...
- unity fixedupdate_3D俯视角射击——用Unity还原东方弹幕(上)
前言 之前我们的专栏中介绍过2D的俯视角射击,这次就来试试在3D场景下的实现.移动射击的实现方法差不多,所以本次的主要目标是在3D场景下还原东方的符卡(弹幕)效果. 我们先来看看最终结果: 可配置的弹 ...
- 【Unity】6.8 Quaternion类(四元数)
分类:Unity.C#.VS2015 创建日期:2016-04-20 一.四元数的概念 四元数包含一个标量分量和-个三维向量分量,四元数Q可以记作: Q=[w,(x,y,z)] 在3D数学中使用单位四 ...
- Unity基础之:UnityAPI的学习
版权声明: 本文原创发布于博客园"优梦创客"的博客空间(网址:http://www.cnblogs.com/raymondking123/)以及微信公众号"优梦创客&qu ...
- Unity手游之路四3d旋转-四元数,欧拉角和变幻矩阵
http://blog.csdn.net/janeky/article/details/17272625 今天我们来谈谈关于Unity中的旋转.主要有三种方式.变换矩阵,四元数和欧拉角. 定义 变换矩 ...
最新文章
- Google团队在DNN的实际应用方式的整理
- 从Visual Studio里抓取抽象语法树(AST)
- 微信小程序navigateTo /redirectTo/navigateBack 三者区别
- 通过SQL存储过程删除过期的数据库Bak备份文件
- 从B站到咪咕圈圈,看汉服「出圈」与年轻人「入圈」
- vue路由跳转权限_vue权限路由实现方式总结
- Mybatis助手之Mybatis-Plus——开始使用
- Using Artica Squid Open Source Project to Build Powerful and Safe but Simple to Use Proxy
- gem for onenote安装教程
- Sigmoid函数与Softmax函数的区别与联系
- python将txt文件转为excel格式以及写入excel超过65536行报错问题解决方法
- R语言聚类算法之期望最大化聚类(Expectation Maximization Algorithm)
- STM8 ADC转换模式-------单次模式
- linux任务计划cron
- 使用git可视化工具上传你修改的代码
- ECS云服务器搭建自己的博客网站worldpress
- 服务器定时发送qq消息,python实现定时发送qq消息.pdf
- 软件测试作业1 令我印象深刻的bug
- Linux系统基础操作管理
- HTML 与HTML5 常用标签
热门文章
- 驰骋BPM工作流后台常用接口与前台常用方法
- glut linux 安装包,“包GLUT不存在”,即使安装在Arch Linux的CL-的OpenGL
- mybatis show sql
- 在下图的基础上,一笔写出“田”字
- bzoj4605 崂山白花蛇草水(动态开点线段树逃替罪羊重构K-D tree)
- 「常見程式題目」第三版
- result returns more than one elements; nested exception is javax.persistence.NonUniqueResultExceptio
- 浅谈溯源反制与防溯源
- 论文阅读_基于GCN的知识图对齐
- Mysql-可重复读的隔离级别在什么情况下会出现幻读