зажим объекта в местном направлении - PullRequest
0 голосов
/ 28 апреля 2020

Я перемещаю объект с помощью радиопередачи мыши, но проблема, с которой я сталкиваюсь, заключается в том, что он сталкивается с другими объектами, у моего объекта есть 4 радиопередачи от его центра в углах (вперед, назад, вправо, влево), и эти радиопередачи сталкиваются со стенами. и затем я получаю лучевую передачу самого низкого диапазона и поворачиваю объект в соответствии с ним, что я хочу сделать, так это то, что при определенном диапазоне лучевой передачи самого низкого диапазона объект не go в обратном направлении, даже если я принудил его к go, это должен только go вперед, вправо и влево.

Сценарий преобразования объекта:

currentPlaceableObject.transform.position = hitInfo.point;  //hitinfo is mouse position
currentPlaceableObject.transform.rotation=Quaternion.FromToRotation(currentPlaceableObject.transform.up, hitInfo.normal) * currentPlaceableObject.transform.rotation;

Вращение на луче ближнего радиуса действия:

if(raycastHit.distance < 2.0f)
{
   currentPlaceableObject.transform.rotation = Quaternion.FromToRotation(Vector3.forward,raycastHit.normal);
   currentPlaceableObject.transform.rotation = Quaternion.Euler(0.0f,currentPlaceableObject.transform.eulerAngles.y, 0.0f);
}

Я могу поделиться своим сценарием, но он довольно грязный. Спасибо.

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