使用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,并将脚本输入其中:
但是,当我运行我的场景时,画布仍然显示。我做错了什么?
2条答案
按热度按时间gkl3eglg1#
脚本没有问题。问题是另一个对象从小于45的x值开始,因此它总是设置为True。
k97glaaz2#
您可以将CanvasGroup添加到
Canvas
中,然后使用名为Alpha
的不透明度属性