unity3d - 如何将对象投射到游戏对象?
问题描述
我试图从中获取地形Resources.FindObjectsOfTypeAll(typeof(Terrain))
,然后根据情况激活它。
但它返回Objects
。
我曾尝试通过(GameObect)obj
and将其转换为 GameObject obj as GameObject
。
第一个引发Invalid cast
错误,第二个返回一个null
.
我能在网上找到的例子主要是谈论Resources.Load
,这需要Instantiation
.
但我认为FindObjectsOfTypeAll
不需要实例化,因为游戏对象“已经存在”!正确的!?
那么有人可以请教我如何将对象投射到游戏对象中,以便我可以激活它!?
非常感激!
解决方案
嗨,您可以使用诸如使用对象名称或标签名称查找地形之类的方法,也许这会有所帮助:
public class ExampleClass : MonoBehaviour
{
public GameObject terrain;
public GameObject[] terrains;
void Example()
{
// This returns the GameObject named Hand.
terrain = GameObject.Find("Hand");
// returns a list of the game objects with tags = 'terrain'
terrains = GameObject.FindGameObjectsWithTag("terrain");
//returns a single object with the tag terrain
terrain = GameObject.FindWithTag("terrain");
}
}