【问题标题】:Modify current Object and not prefab修改当前对象而不是预制
【发布时间】:2016-10-08 11:01:51
【问题描述】:

我对统一很陌生,这是我的第一个项目。 我的问题是当我创建一个新的游戏对象时

public GameObject fancyName;

然后将我想要的预制件拖到脚本窗口上,如果我对 fancyName 进行任何更改,而不是修改我在屏幕上看到的内容,我可以修改我的预制件... 为了修改 Instantiate GameObject 而不是预制件,我需要做什么?

【问题讨论】:

  • 实例化并获取对该实例化游戏对象的引用,例如GameObject go = (GameObject)Instantiate(fancyName, pos, rot)
  • 谢谢,解决了我的问题!

标签: unity3d unityscript unity5


【解决方案1】:

这是一种预期行为,因为fancyName 包含对您的预制件的引用,因此您对“fancyName”所做的任何更改都是对您的预制件的直接修改(还记得您将预制件拖放到该变量中吗?)。

你应该实例化/克隆它:

var clone = (GameObject) Instantiate(fancyName);

然后

MakeChange(clone); // Do anything you want

【讨论】:

    猜你喜欢
    • 2017-02-22
    • 1970-01-01
    • 2021-09-05
    • 2014-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    相关资源
    最近更新 更多