- Home /
Attaching a Model to a prefab at runtime
Hi,
I'm not quite sure what i'm doing wrong, but I have a character Prefab ( which is just a model with a script ), and i'm trying to attach another prefab (a Ski model) to it's foot. In my manager script ( which is definitely running ), i use the following code
Transform character = (Transform)Object.Instantiate(PrefabCharacter, point, Quaternion.identity); Debug.Log("Char: " + character);
Transform leftFoot = character.transform.FindChild("l_toe");
Transform leftSki = (Transform)Object.Instantiate(SkiModel, point, Quaternion.identity);
leftSki.parent = leftFoot; // 1 //leftSki.parent = character.transform; // 2 leftSki.localPosition = Vector3.zero; leftSki.localRotation = Quaternion.identity;
The weird thing is that if i replace (1) with (2), it sort of works - the ski attaches somewhere on the character who is walking around, despite it not being attached in the correct position. What worries me, is that if i do a
Debug.Log("Blah: " + leftSki.position);
under that code, I get a runtime error saying that get_position could not be accessed.
Note that i can also not access properties of the submeshes in the character model. I tried to hide certain meshes and it basically tells me that it has no renderer component. So my second option of having the ski in the model and hiding it until it's needed is also not viable.
Anyone got any ideas?
Just to cover a few things, i did some debug logging to make sure all those objects are what i'm casting it to, so those assumed casts should be safe.
Thanks in advance
David Goemans