Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Unity预设的行为根据是静态地将它们拖动到场景中还是由代码动态生成而有所不同_C#_Unity3d_Unity5_Unityscript_Unity Components - Fatal编程技术网

C# Unity预设的行为根据是静态地将它们拖动到场景中还是由代码动态生成而有所不同

C# Unity预设的行为根据是静态地将它们拖动到场景中还是由代码动态生成而有所不同,c#,unity3d,unity5,unityscript,unity-components,C#,Unity3d,Unity5,Unityscript,Unity Components,如果我像这样实例化一个预置: GameObject asteroid = GameObject.Instantiate(thing2spawn); //then set the location and some other stuff 预设的小行星碰撞根本没有记录,但如果我简单地将小行星拖到场景中,碰撞的效果完全符合预期。解决了这个问题 我的小行星对象有两个子对象,其中包含执行不同操作的碰撞器。撞击小行星的某一部分会治愈你,而撞击另一部分会伤害你。这两个孩子有刚体组件,所以当我在代码中设置小

如果我像这样实例化一个预置:

GameObject asteroid = GameObject.Instantiate(thing2spawn);
//then set the location and some other stuff
预设的小行星碰撞根本没有记录,但如果我简单地将小行星拖到场景中,碰撞的效果完全符合预期。

解决了这个问题

我的小行星对象有两个子对象,其中包含执行不同操作的碰撞器。撞击小行星的某一部分会治愈你,而撞击另一部分会伤害你。这两个孩子有刚体组件,所以当我在代码中设置小行星(父对象)的速度时,两个孩子不会随之移动。因此,对撞机似乎没有工作,而实际上它们只是被留在了其他地方。从孩子们身上移除刚体解决了这个问题


奇怪。

正如你所发现的,你不可能真的有另一个孩子的刚体,否则你会遇到这样的随机非工作行为。