Ну, елси быть внимательным, то
private Object SpawnObject(string objectName, vector position, vector orientation)
{
Object obj = NULL;
obj = Object.Cast(GetGame().CreateObject(objectName, "100 100 100"));
if (obj)
{
//m_ObjectsCount++; //Это у меня обьекты считаются - для статистики в лог
obj.SetPosition(position);
obj.SetOrientation(orientation);
if (obj.CanAffectPathgraph())
{
obj.SetAffectPathgraph(true, false); //Вот оно как раз и есть
GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(GetGame().UpdatePathgraphRegionByObject, 100, false, obj); //Вот оно
}
else
{
ForceCollisionUpdate(obj);
}
}
return obj;
}
void ForceCollisionUpdate(Object object) //Это для тех, кому навмеш не предусмотрен
{
vector roll = object.GetOrientation();
roll[0] = roll[0] - 1;
object.SetOrientation(roll);
roll[0] = roll[0] + 1;
object.SetOrientation(roll);
roll[1] = roll[1] - 1;
object.SetOrientation(roll);
roll[1] = roll[1] + 1;
object.SetOrientation(roll);
roll[2] = roll[2] - 1;
object.SetOrientation(roll);
roll[2] = roll[2] + 1;
object.SetOrientation(roll);
}
Но это для 1.07
Для 1.08 по другому - там сразу при создании обьекта двиг сам все делает
Но об это в следующий раз