Unity 围绕旋转角度限制(Transform.RotateAround)

Wesley13
• 阅读 1104

    在 Unity 中可以利用 Transform.RotateAround 围绕指定物体进行旋转,但某些情况下可能需要对旋转角度进行控制。我是先计算出预设角度大小,然后判断是否小于或者超出旋转范围。如果小于则控制在最小范围内,如果大于则控制在最大范围内。

相关代码如下:

            //预设角度(当前角度加上将要增加/减少的角度)
            float rotatedAngle = transform.eulerAngles.x + y * roateSpeed;

            //旋转角度小于15则设置为15
            if (rotatedAngle < 15)
            {
                transform.RotateAround(player.position, transform.right, (y * roateSpeed) + (15 - rotatedAngle));
            }
            else if (rotatedAngle > 85) //旋转角度大于85则设置85
            {
                transform.RotateAround(player.position, transform.right, (y * roateSpeed) - (rotatedAngle - 85));
            }
            else
            {
                transform.RotateAround(player.position, transform.right, y * roateSpeed);
            }
点赞
收藏
评论区
推荐文章
Jacquelyn38 Jacquelyn38
3年前
React与Koa一起打造一个仿稀土掘金全栈个人博客(技术篇)
前言我的个人博客样式布局是仿的稀土掘金,个人博客线上网址:https://www.maomin.club/,也可以百度搜索前端历劫之路。为了浏览体验,可以用PC浏览器浏览。本篇文章将分为前台角度与后台角度来分析我是怎么开发的。前台角度主要资源react.jsantDesignforeditoraxio
vue 简单实现 营销 转盘抽奖
1.0思路整理转盘抽奖很常见,之前也没写过,现在有空来写写,分析如下:1.1转盘旋转?可以用transform的rotate来解决1.2旋转动画?transition过渡来处理1.3停留目标位置及中奖提示?通过控制旋转角度控制停留位置,中奖提示,考虑添加回调1.1开始行
Wesley13 Wesley13
3年前
unity2d 物体指向鼠标方向绕某一点旋转
 在2D游戏中,类似泡泡龙炮台发射、敌人飞机永远指向PLAYER、愤怒小鸟弹弓发射等效果,都需要用到物体跟随鼠标绕一个点旋转的效果,在unity中实现代码很简单,但是在理解上有一定障碍,因为unity是3D界面,他的旋转并不是2D世界中那么简单。实现这种效果,可以使用两种方法,一种是采用角度计算,一种是采用向量运算;1,角度运算容易理解,但是代码较为
Wesley13 Wesley13
3年前
CSS3里的 转换与过渡动效
一、transform1.12D转换通过CSS3转换,能够对元素进行移动、缩放、转动、拉长或拉伸。1.旋转,deg表示角度。负的为逆时针转动,默认沿着中心点旋转。可以利用transformorigin设置旋转原点。transform:rotate(30deg);!(http
Wesley13 Wesley13
3年前
unity2D以最小的角度旋转到目标方向(y方向为角色的主方向)
一.使用向量原理转换到目标方向为了让角色的自身y转向目标方向,并且以最小角度旋转,要点是获得当前方向与目标方向的叉值,从而判断应该旋转的方向floatrotateSpeed;//相对目标位置运动voidtrackPosition02(Vector3tarPosition){Vector3targetDirtarPo
Stella981 Stella981
3年前
GitHub标星13.1k,JavaScript基础知识必知(一)!前端入门必看!
JavaScript背景Web前端有三层:HTML:从语义的角度,描述页面结构CSS:从审美的角度,描述样式(美化页面)JavaScript:从交互的角度,描述行为(实现业务逻辑和页面控制)发展历史JavaScript诞生于
Stella981 Stella981
3年前
CSS:linear
css语法background:lineargradient(direction,colorstop1,colorstop2,...);direction:用角度值指定渐变的方向(或角度);colorstop1,colorstop2,...:用于指定渐变的起止颜色_ps_:至少需要两种颜色1b
Wesley13 Wesley13
3年前
Unity性能优化
1\.OcclusionCulling遮挡剔除的含义:没有在Camear视野范围内的游戏物体不进行渲染Render(默认情况下,Unity是会渲染所有GameObject,无论Camear是否看得见),例如下图:!(https://docs.unity3d.com/uploads/Main/OcclusionNoCulling.jpg)2\
Wesley13 Wesley13
3年前
Unity3D 摄像机跟随旋转的方案
Intro主要想探讨的是如何令摄像机随鼠标操作进行旋转和移动,摄像机跟随的脚本官方就有Example。方案:独立的角度变量主要的特点是使用独立的角度变量,每次处理鼠标移动操作都会创建一个新的Quaternion用于计算。先看Demo。publicclassPlayerControls:
秋桐 秋桐
12个月前
如何通过Python代码旋转PDF页面
日常处理PDF文档时,我们时常会遇到页面颠倒、很难正常阅读或打印的情况。在这种情况下,我们可以通过旋转页面来调整文档的方向。旋转时,也可以根据具体情况,选择顺时针或逆时针旋转特定的角度,以使页面内容更加清晰可读或适应特定的显示需求。这一功能可以通过PDF处理工具或者库来实现。这篇文章将介绍如何使用PDF库在Python平台上旋转文档页面。