修改当前对象而不是预制

Modify current Object and not prefab

我真的是 unity 新手,这是我的第一个项目。 我的问题是当我创建一个新的游戏对象时

public GameObject fancyName;

然后将我想要的预制件拖到脚本 window 上,如果我对 fancyName 进行任何更改,而不是修改我在屏幕上看到的内容,我将修改我的预制件... 我需要做什么才能修改实例化游戏对象而不是预制件?

这是预期的行为,因为 fancyName 持有对您的预制件的引用,因此您对 'fancyName' 所做的任何更改都是对您的预制件的直接修改(请记住,您将预制件拖放到此变量对吗?)。

你应该instantiate/clone它:

var clone = (GameObject) Instantiate(fancyName);

然后

MakeChange(clone); // Do anything you want