Как усовершенстовать механику телепорта в Unity?
Код на C#, я смог сделать механику телепорта конкретно человека, но когда он держит предмет в руке, он телепортируется без него(предмет остаётся на прошлом местонахождении человека), при этом, игра считает, что он у него в руке.
foreach (var body in person.Limbs)
{ if (body.HasBrain)
{
body.gameObject.AddComponent<UseEventTrigger>().Action = () =>
{
if (person.transform.localScale.x > 0)
{
ModAPI.CreateParticleEffect("Vapor", body.transform.position);
person.transform.position = person.transform.position + (Vector3.right * 5);
}
else if (person.transform.localScale.x < 0)
{
ModAPI.CreateParticleEffect("Vapor", body.transform.position);
person.transform.position = person.transform.position - (Vector3.right * 5);
}
};
}
описание работы Vector3
public static Vector3 GetAveragePosition(IList<PhysicalBehaviour> source)
{
Vector3 average = Vector3.zero;
for (int i = 0; i < source.Count; i++)
{
average += (Vector3)source[i].transform.position;
}
average /= source.Count;
return average;
}
Не знаю нужна ли это информация для тех кто сможет помочь, но на всякий случай добавлю, игра называется People Playground