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

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

相关代码如下:

1 //预设角度(当前角度加上将要增加/减少的角度) 2 float rotatedAngle = transform.eulerAngles.x + y * roateSpeed; 3 4 //旋转角度小于15则设置为15 5 if (rotatedAngle < 15) 6 { 7 transform.RotateAround(player.position, transform.right, (y * roateSpeed) + (15 - rotatedAngle)); 8 } 9 else if (rotatedAngle > 85) //旋转角度大于85则设置85 10 { 11 transform.RotateAround(player.position, transform.right, (y * roateSpeed) - (rotatedAngle - 85)); 12 } 13 else 14 { 15 transform.RotateAround(player.position, transform.right, y * roateSpeed); 16 }
点赞
收藏

评论区

加载中...

相关推荐

React与Koa一起打造一个仿稀土掘金全栈个人博客(技术篇)

前言我的个人博客样式布局是仿的稀土掘金,个人博客线上网址:https://www.maomin.club/,也可以百度搜索前端历劫之路。为了浏览体验,可以用PC浏览器浏览。本篇文章将分为前台角度与后台角度来分析我是怎么开发的。前台角度主要资源react.jsantDesignforeditoraxio

vue 简单实现 营销 转盘抽奖

1.0思路整理转盘抽奖很常见,之前也没写过,现在有空来写写,分析如下:1.1转盘旋转?可以用transform的rotate来解决1.2旋转动画?transition过渡来处理1.3停留目标位置及中奖提示?通过控制旋转角度控制停留位置,中奖提示,考虑添加回调1.1开始行

unity2d 物体指向鼠标方向绕某一点旋转

 在2D游戏中,类似泡泡龙炮台发射、敌人飞机永远指向PLAYER、愤怒小鸟弹弓发射等效果,都需要用到物体跟随鼠标绕一个点旋转的效果,在unity中实现代码很简单,但是在理解上有一定障碍,因为unity是3D界面,他的旋转并不是2D世界中那么简单。实现这种效果,可以使用两种方法,一种是采用角度计算,一种是采用向量运算;1,角度运算容易理解,但是代码较为

CSS3里的 转换与过渡动效

一、transform1.12D转换通过CSS3转换,能够对元素进行移动、缩放、转动、拉长或拉伸。1.旋转,deg表示角度。负的为逆时针转动,默认沿着中心点旋转。可以利用transformorigin设置旋转原点。transform:rotate(30deg);!(http

unity2D以最小的角度旋转到目标方向(y方向为角色的主方向)

一.使用向量原理转换到目标方向为了让角色的自身y转向目标方向,并且以最小角度旋转,要点是获得当前方向与目标方向的叉值,从而判断应该旋转的方向floatrotateSpeed;//相对目标位置运动voidtrackPosition02(Vector3tarPosition){Vector3targetDirtarPo

GitHub标星13.1k,JavaScript基础知识必知(一)!前端入门必看!

JavaScript背景Web前端有三层:HTML:从语义的角度,描述页面结构CSS:从审美的角度,描述样式(美化页面)JavaScript:从交互的角度,描述行为(实现业务逻辑和页面控制)发展历史JavaScript诞生于