потребовалось динамически создавать объект из префаба, сразу с привязкой к другому объекту (оружие в руке).
Синтаксис:
Используется csharp
public void StayArmed()
{
Transform hand = GM.Player.gobj.transform.FindChild ("mixamorig:RightHandMiddle1");
if ( hand=null)
{
print("!!! RightHandMiddle1 not found");
return;
}
GameObject model;
model = Resources.Load("Weapons/"+"Ak-47") as GameObject;
if (model == null )
{
print("!!! Resources.Load model failed: " + "Ak-47");
return;
}
active_weapon = Instantiate(model, hand);
print("ok, I`m armed");
}
{
Transform hand = GM.Player.gobj.transform.FindChild ("mixamorig:RightHandMiddle1");
if ( hand=null)
{
print("!!! RightHandMiddle1 not found");
return;
}
GameObject model;
model = Resources.Load("Weapons/"+"Ak-47") as GameObject;
if (model == null )
{
print("!!! Resources.Load model failed: " + "Ak-47");
return;
}
active_weapon = Instantiate(model, hand);
print("ok, I`m armed");
}
вот такая простая функция- в GO-игрока ищем его правую руку , загружаем нужный ресурс-модельку оружия, создаем ее экземпляр у руки.
в консоли вижу "ok, I`m armed", т.е. ошибок нет, и руку нашли, и модельку загрузили
но оружие создается не у руки, а у сцены
пробовал указывать другой parent, пробовал указывать третий параметр (true/false) - не помогает.
погуглил, нашел аналогичную проблему у чувака в 2013 году, решения прямого нет.
костыли типа "создать объект, указать родителя через parent" нежелательны