Как усовершенстовать механику телепорта в 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


Ответы (0 шт):