unity3d 在场景开始时隐藏3D对象,直到满足特定条件

n8ghc7c1  于 2022-11-30  发布在  其他
关注(0)|答案(2)|浏览(147)

使用OpenXR在Unity上开发3D VR应用程序(2021.3.11f1)。
我正在尝试使画布隐藏起来,直到满足特定条件。该条件是另一个3D对象的x位置小于45。下面是我现在的脚本:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class OptionsBox : MonoBehaviour
{

    public GameObject canvas;
    public GameObject playerObj;

    void Start()
    {
        canvas.SetActive(false);
    }

    void Update()
    {
        if (playerObj.transform.position.x < 45){
            canvas.SetActive(true);
        }
    }
}

然后我做了一个空的GameObject,并将脚本输入其中:

但是,当我运行我的场景时,画布仍然显示。我做错了什么?

gkl3eglg

gkl3eglg1#

脚本没有问题。问题是另一个对象从小于45的x值开始,因此它总是设置为True。

k97glaaz

k97glaaz2#

您可以将CanvasGroup添加到Canvas中,然后使用名为Alpha的不透明度属性

相关问题