Как создать трехмерный куб и разместить его в центре другого объекта? - PullRequest
0 голосов
/ 09 мая 2020

Добавление куба просто для проверки того, как найти центр синей штуки. После нахождения центра я воспользуюсь имеющимся у меня лазерным лучом.

Другой объект не имеет средства визуализации, поэтому я пытаюсь использовать на нем компонент твердого тела, чтобы найти центр.

using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.AI;

public class CenterTest : MonoBehaviour
{
    public NavMeshAgent agent;

    private bool createCube = false;

    void Start()
    {

    }

    void Update()
    {
        if (createCube == false)
            {
                var center = agent.GetComponent<Rigidbody>().centerOfMass;
                var cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
                cube.transform.localPosition = new Vector3(0, 0, 0);//center;
                cube.transform.parent = agent.transform;

                createCube = true;
            }
    }
}

Это скриншот агента с настройками инспектора. Основная цель - сделать так, чтобы лазерный луч выходил из центра агента из круга синей штукой в ​​центре. но синий цвет в центре не является костью или игровым объектом, я могу определить его положение. Поэтому я предполагаю, что синяя деталь находится в центре.

проблема в том, что куб никогда не находится в центре, а где-то в другом месте в мире.

enter image description here

1 Ответ

1 голос
/ 09 мая 2020

Если никто не даст вам лучшего ответа, попробуйте следующее:

добавьте пустой игровой объект и попробуйте расположить его в центре синего круга, тогда вы можете получить его позицию с помощью скрипта.

Другой метод (если вы знакомы с программным обеспечением для 3D) - открыть модель научно-фантастического дрона в программе для 3D и установить позицию на (0,0,0), затем переключиться в режим вершин и выбрать вершину. в середине синего круга, и вы можете определить его положение относительно научно-фантастического дрона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...