[Unity] SetParent用法

基础知识 SetParent

    // 摘要:
    //     Set the parent of the transform.
    //
    // 参数:
    //   parent:
    //     The parent Transform to use.
    //
    //   worldPositionStays:
    //     If true, the parent-relative position, scale and rotation are modified such that
    //     the object keeps the same world space position, rotation and scale as before.
    //
    //   p:
    [FreeFunction("SetParent", HasExplicitThis = true)]
    public void SetParent(Transform parent, bool worldPositionStays);

简单意思就是:
在这里插入图片描述
bool worldPositionStays默认为true。
我们知道,在Unity中,物体2 成为了 物体1 的子物体,那么物体2便需要采用物体1的坐标系,也就是localposition。

worldPositionStays 问的就是你是否保持原本的状态,

-------------------------worldPositionStays == true(即默认)----------------------------------

仅仅只是成为另一个物体的子物体而已。在这里插入图片描述

public GameObject sphere1;
public GameObject sphere2;
private void OnEnable()
{
    
    
    
    sphere2.transform.SetParent(sphere1.transform,true);
}

在这里插入图片描述

-------------------------worldPositionStays == false----------------------------------

此时原本的世界坐标直接变成局部坐标

public GameObject sphere1;
public GameObject sphere2;
private void OnEnable()
{
    
    
    
    sphere2.transform.SetParent(sphere1.transform,true);
}

在这里插入图片描述

当物体1成为了物体2的子物体,那么当销毁父物体时,子物体便会被销毁。

猜你喜欢

转载自blog.csdn.net/qq_51533157/article/details/127030312
今日推荐