unity---物体旋转

这篇具有很好参考价值的文章主要介绍了unity---物体旋转。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

 

1.旋转的三种方式

2.为Transform.rotation赋值

 3.使用Transform.Rotate函数

4. 使用Quaternion.RotateTowards函数

 5.使用Transform.LookAt函数

6. Transform.RotateAround 围绕旋转

 7.Quaternion.LookRotation 注视旋转

 8.Quaternion.FromToRotation 从from到to旋转

 9.坑


 

1.旋转的三种方式

1、矩阵旋转 2、欧拉旋转 会造成万向节锁问题 3、四元数旋转 可避免万向节锁现象

2.为Transform.rotation赋值

绕y轴旋转90度

transform.rotation = Quaternion.Euler(0, 90, 0)

 3.使用Transform.Rotate函数

transform.Rotate(0,90,0);

4. 使用Quaternion.RotateTowards函数

Quaternion targetRotation = Quaternion.Euler(0, 90, 0);
float rotateSpeed = 90f;
transform.rotation = Quaternion.RotateTowards(transform.rotation, 
targetRotation, rotateSpeed * Time.deltaTime);

 5.使用Transform.LookAt函数

 这个函数会使物体的Z轴指向目标点,因此可以用于朝向目标的情况。

6. Transform.RotateAround 围绕旋转

transform.RotateAround(Point.position, Vector3.forward, 45);

 7.Quaternion.LookRotation 注视旋转

Vector3 lookDir = transform_a.position - transform.position; transform.rotation = Quaternion.LookRotation(lookDir);

 8.Quaternion.FromToRotation 从from到to旋转

transform.rotation = Quaternion.FromToRotation(from, to);

 9.坑

transform.localEulerAngles的获取的值始终为正数,所以在旋转范围为负时,不能直接调用计算

需要定义一个外部变量,如:

private float euler = 0;

minRot_y = GetRotationY(false);
 maxRot_y = GetRotationY(true);
 euler = Mathf.Clamp(euler - speed, minRot_y, maxRot_y);
  //myCamera.transform.localEulerAngles =

new Vector3(myCamera.transform.localEulerAngles.x, eulerY, 0);
 myCamera.transform.localRotation = Quaternion.Euler(myCamera.transform.localEulerAngles.x, eulerY, 0);文章来源地址https://www.toymoban.com/news/detail-468372.html

到了这里,关于unity---物体旋转的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • unity旋转物体的操作

            例如绕物体的Z轴在-40°~40°之间进行旋转 注意!!! Unity引擎中使用的欧拉角范围在0°~360° 而脚本中的角度的范围却没有这个限制 若脚本中的角度在这个范围外,Unity会在引擎内把该角度转换在这个范围内 所以当脚本中角度为**负数**或**超过**360°**时会转换为

    2024年01月16日
    浏览(42)
  • unity---物体旋转

    目录   1.旋转的三种方式 2.为Transform.rotation赋值  3.使用Transform.Rotate函数 4. 使用Quaternion.RotateTowards函数  5.使用Transform.LookAt函数 6. Transform.RotateAround 围绕旋转  7.Quaternion.LookRotation 注视旋转  8.Quaternion.FromToRotation 从from到to旋转  9.坑   1.旋转的三种方式 1、矩阵旋转 2、欧拉

    2024年02月07日
    浏览(34)
  • Unity 物体旋转

          在Unity中经常会用到物体的旋转,常用的方式一般是使用欧拉角和四元数。 欧拉角: Demo:    让物体分别绕x,y,z轴旋转 1 rad。    这里有个问题,当物体绕x轴旋转90度之后,再让y或z轴继续旋转,会发现,物体只能绕   y轴旋转。出现这种现象的原因是死锁了。欧拉角

    2024年02月13日
    浏览(38)
  • Unity 物体的朝向与旋转

    方式一 立即转向:朝向某个方向 方式二 立即转向:看向某个点 方式三 立即转向:与方式一类似,朝向某个方向 方式四 DoTween旋转动画,需要提前知道旋转的角度 方式五 匀速旋转,需要实时计算自己的位置与目标位置之间的四元素 方式六 非匀速旋转,一般用于人物旋转

    2024年02月02日
    浏览(34)
  • Unity 鼠标拖动旋转物体,并且物体不会越转越乱

    用Mathf.Abs(绝对值)计算鼠标水平和竖直方向谁的位移更大,减少因为一丢丢的其他方向移动导致的物体微幅旋转影响后面物体旋转会越来越混乱。这样可以让物体旋转更好的单个方向进行旋转。 代码如下:

    2024年02月15日
    浏览(47)
  • Unity实现物体绕指定轴旋转

    在Unity中,我们经常需要控制物体的旋转行为。有时候,我们需要让物体绕指定的轴旋转,而不是默认的旋转轴。在本文章中,我将展示如何使用C#脚本来实现这个功能。 首先,我们需要创建一个空对象,并将它作为父对象,然后将我们想要旋转的物体作为子对象。这样,我

    2024年01月23日
    浏览(44)
  • unity使物体运行时自动旋转

    using System.Collections; using System.Collections.Generic; using UnityEngine; public class jiaobeng : MonoBehaviour {     public float speed = 80f;     // Update is called once per frame     void Update () {         transform.Rotate(Vector3.up * Time.deltaTime * speed);     } } 需要将脚本挂在需要自动旋转的物体component上即可运行

    2024年02月12日
    浏览(41)
  • unity物体旋转:RigidBody.AddTorque

    在Unity中让物体旋转的方法有很多,但是如果想让物体旋转得像现实一样有平滑的加速减速惯性那么用AddTorque是一个很好的选择。 Rigidbody.AddTorque方法在2D和3D中都有该方法,但是不太一样,在官方文档中的描述是Rigidbody.AddTorque向刚体添加扭矩,而Rigidbody2D.AddTorque则是在刚体的

    2024年02月12日
    浏览(37)
  • Unity 四元数与物体旋转

    由三个角度(x,y,z)组成 在特定坐标系下用于描述物体的旋转量 空间中的任意旋转都可以分解成绕三个互相垂直轴的三个旋转角组成的序列 欧拉角旋转约定——heading-pitch-bank 这是一种最常用的旋转序列约定——Y-X-Z约定 heading:物体绕自身的对象坐标系的Y轴旋转的角度 pitch:物体

    2024年01月18日
    浏览(54)
  • 【Unity入门】11.脚本控制物体旋转

        大家好,我是Lampard~~     欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢 (1)创建RotateLogic脚本     上一篇文章我们学习了如何在脚本中获取物体对象,并使用transform组件下的translate接口使物体运动     今天我们进一步学习,用脚本控制物体的旋转。首先

    2024年02月04日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包