unity物体位移 旋转后的复位问题

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

在你第一眼看到这个问题的时候可能会想到只需将物体的position重置就可以,这样做可能忽略的是物体的rotation。
在start()函数中存取要复位物体的transform,然后再赋值
如果这么做了你会发现,
unity如何让物体位置复位,unity,unity,游戏引擎
那个存取transform的左值,是随着物体transform变化而变化的
unity如何让物体位置复位,unity,unity,游戏引擎

如果将它debug.log一下你会发现,输出的就是你要复位的物体名称
原因是tranform类的拷贝到变量中而不是一个赋值操作,要储存的物体和变量指向同一个对象(况且tranform只有get方法)

所以,要对物体进行复位操作,需要分别保存 transform.postion和transform.R0oattion

代码如下文章来源地址https://www.toymoban.com/news/detail-573352.html

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class reset_test : MonoBehaviour {
 
    public GameObject g;

 
    Vector3 start_position;
    Quaternion start_rotation;
 

    void Start () {
 
        start_position= g.tranforn.position;
        start_rotation= g.tranforn.rotation;

 
    }
	
    public void Reset()
    {
        Debug.Log("Reset");
 
        g.transform.position = start_position;
        g.transform.rotation = start_rotation;
    }
}

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

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

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

相关文章

  • UE4 绕一个物体或位置进行围绕旋转

    首先在预构造内获取旋转半径,模型设置,以及模型大小 再去事件刚开始时进行获取上一次位置(用于计算切线方向),并判断是否有选中需要旋转的物体,如果有,就把他的位置设置给旋转中心位置,如果没有,Center Rotate Position也时暴露在外部进行填写的  利用旋转矩阵(Z轴

    2024年02月11日
    浏览(47)
  • unity手指、鼠标滑动实现物体360度旋转、点击按钮实现物体旋转

    先创建一个ObjectRotation 脚本 之后将该脚本拖动到需要转动的object上 因为如果每次都真机模拟回很麻烦,所以我加入了让鼠标代替手指滑动的脚本来代替手指输入 同样的也是先创建一个MouseRow 脚本 最后我还需要某笔画沿着坐标旋转,代码如下: 里面有我的其他参数,如果读

    2024年02月11日
    浏览(66)
  • 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日
    浏览(36)
  • Unity 物体旋转

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

    2024年02月13日
    浏览(41)
  • Unity物体旋转

    在Unity中,旋转是指将对象绕其自身的某个轴旋转一定角度的操作。 Unity提供了多种旋转方法,以下是其中的一些: 如果需要缓慢的旋转可以使用第4,5两个方法之一 Unity官方还提供很多方法,可以参考官方文档 1.Transform.Rotate方法 Transform.Rotate方法是最基本的旋转方法,它可

    2024年02月09日
    浏览(45)
  • unity旋转物体的操作

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

    2024年01月16日
    浏览(44)
  • Unity 物体的朝向与旋转

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

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

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

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

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

    2024年01月23日
    浏览(46)
  • Unity 四元数与物体旋转

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

    2024年01月18日
    浏览(59)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包