美文网首页
奇怪的 Bug:SetParent 会改变位置

奇怪的 Bug:SetParent 会改变位置

作者: 烂醉花间dlitf | 来源:发表于2021-01-13 10:08 被阅读0次

介绍

遇到的一些很奇怪,然后暂时还没有解决的 Bug,有好心人知道怎么回事的话可留言或者发邮件到 zhangqrr@qq.com

复现

在场景中新建三个同级的物体,分别如下所示:


Scene
Gameobject
Parent
Move
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;

public class NewBehaviourScript : MonoBehaviour
{
    public GameObject GoParent;
    public GameObject GoMove;

    private void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.Equals(GoMove))
        {
            other.transform.SetParent(GoParent.transform,true);
        }
    }

    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.G))
        {
            GoMove.transform.SetParent(GoParent.transform, true);
        }
    }


}

可以看到脚本的内容是把 Move 的父物体换成 parent,然后不改变其在世界坐标的位置。两种方式:

  • 在 Update 里面通过按键来触发
  • 在 OnTriggerEnter 里面来触发
    运行效果是在 Update 里面的符合预期,但是通过 OnTriggerEnter 触发的,Move 就会改变在世界坐标中的位置,而且很奇怪的是不是因为保持了自己的局部坐标不变而导致的世界坐标位置变化,而是局部坐标和世界坐标位置都变了。

相关文章

  • 奇怪的 Bug:SetParent 会改变位置

    介绍 遇到的一些很奇怪,然后暂时还没有解决的 Bug,有好心人知道怎么回事的话可留言或者发邮件到 zhangqrr...

  • 奇怪的“bug”

    今天是1月1日,为了一些事情,我把电脑的时间调到1月10日进行工作。期间我用VS2010发布过我的web程序。发布...

  • 奇怪的bug

    昨天用php curl模拟post发送请求,测试环境一切正常线上却返回了false。 调查了大半天解决了问题,但是...

  • 奇怪的bug

    bug年年有,最近特别多,今天用我的小米笔记本下载点东西,路由器在我面前,却死活连不上,好不容易连上之后显示有In...

  • 奇怪的bug

    1、3S提示,一闪而过:sources——右边暂停按钮 2、动态下拉框定位快捷键:ctrl+shift+C 3、e...

  • js对象数组赋值的灵异事件

    写js时,碰到一个奇怪的bug。将变量foo的值赋给变量bar后,改变bar也会改变foo。 简单研究过后,这种情...

  • vue 奇怪的Bug

    标题虽然这样起,但是大部分都不是vue的问题,是代码问题 [Vue warn]: $listeners and $...

  • git篇之blame/bisect

    blame/bisect可以帮助快速定位bug或者回溯bug 文件标注 --- 知道bug位置,回溯bug什么时间...

  • 遇到的奇怪的Bug

    滚屏操作使用计时不大好,不能很准确的感知一次滚动 低端版本谷歌bug,使用 css filter 导致圆角失效。...

  • [iOS 9的奇怪bug]

    总结一下 iOS 9的奇怪bug 1.WKWebview.scrollview.delegate 在 -(void...

网友评论

      本文标题:奇怪的 Bug:SetParent 会改变位置

      本文链接:https://www.haomeiwen.com/subject/khxuaktx.html