Добавление куба просто для проверки того, как найти центр синей штуки. После нахождения центра я воспользуюсь имеющимся у меня лазерным лучом.
Другой объект не имеет средства визуализации, поэтому я пытаюсь использовать на нем компонент твердого тела, чтобы найти центр.
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;
}
}
}
Это скриншот агента с настройками инспектора. Основная цель - сделать так, чтобы лазерный луч выходил из центра агента из круга синей штукой в центре. но синий цвет в центре не является костью или игровым объектом, я могу определить его положение. Поэтому я предполагаю, что синяя деталь находится в центре.
проблема в том, что куб никогда не находится в центре, а где-то в другом месте в мире.