首页 > 解决方案 > 如何将对象投射到游戏对象?

问题描述

我试图从中获取地形Resources.FindObjectsOfTypeAll(typeof(Terrain)),然后根据情况激活它。

但它返回Objects

我曾尝试通过(GameObect)objand将其转换为 GameObject obj as GameObject

第一个引发Invalid cast错误,第二个返回一个null.

我能在网上找到的例子主要是谈论Resources.Load,这需要Instantiation.

但我认为FindObjectsOfTypeAll不需要实例化,因为游戏对象“已经存在”!正确的!?

那么有人可以请教我如何将对象投射到游戏对象中,以便我可以激活它!?

非常感激!

标签: unity3dcasting

解决方案


嗨,您可以使用诸如使用对象名称或标签名称查找地形之类的方法,也许这会有所帮助:

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");

    }
}

推荐阅读