float y = TerrainMeta.HeightMap.GetHeight((Vector3)position);
RaycastHit hit;
if (Physics.Raycast(new Ray(new Vector3(x, y + 1, z), Vector3.down), out hit, 3f, -1))
if (hit.GetCollider() != null && hit.GetCollider().name == "Road Mesh")
{
// Work
}
спасибо, попробуюКод:float y = TerrainMeta.HeightMap.GetHeight((Vector3)position);
Ну и далее можно пустить Raycast, если необходимо узнать что то еще, к примеру:
Код:RaycastHit hit; if (Physics.Raycast(new Ray(new Vector3(x, y + 1, z), Vector3.down), out hit, 3f, -1)) if (hit.GetCollider() != null && hit.GetCollider().name == "Road Mesh") { // Work }
Код:float y = TerrainMeta.HeightMap.GetHeight((Vector3)position);
Ну и далее можно пустить Raycast, если необходимо узнать что то еще, к примеру:
Код:RaycastHit hit; if (Physics.Raycast(new Ray(new Vector3(x, y + 1, z), Vector3.down), out hit, 3f, -1)) if (hit.GetCollider() != null && hit.GetCollider().name == "Road Mesh") { // Work }
а можно как то наклонять с наклоном горы объект?Код:float y = TerrainMeta.HeightMap.GetHeight((Vector3)position);
Ну и далее можно пустить Raycast, если необходимо узнать что то еще, к примеру:
Код:RaycastHit hit; if (Physics.Raycast(new Ray(new Vector3(x, y + 1, z), Vector3.down), out hit, 3f, -1)) if (hit.GetCollider() != null && hit.GetCollider().name == "Road Mesh") { // Work }
по логике подумай - в плагинах такого нет, значит нельзяа можно как то наклонять с наклоном горы объект?
Можно конечно, вычисли угол наклона горы, если не ошибаюсь тебе поможет Vector3.Angle и измени угол наклона своего объекта (object.transform.rotation.eulerAngles)а можно как то наклонять с наклоном горы объект?
Без словпо логике подумай - в плагинах такого нет, значит нельзя
Ах ты марионетка)))Если что, у RaycastHit есть свойство normal, которое должно вернуть вектор, перпендикулярный той плоскости, в которую попал луч
Без слов![]()
Попробую, спасибоЕсли что, у RaycastHit есть свойство normal, которое должно вернуть вектор, перпендикулярный той плоскости, в которую попал луч
Без слов![]()
ты хочешь сказать, если ты в руках не держал доллар, то его не существует?по логике подумай - в плагинах такого нет, значит нельзя
Я сейчас без VS и без сервера. Так что проверить не могу. Но видел такое решениеПосмотреть вложение 3694 правильно или я глупый?![]()
Quaternion rotation = Quaternion.FromToRotation(Vector3.up, hit.normal);
obj.transform.rotation = rotation;
obj это что за значение?Я сейчас без VS и без сервера. Так что проверить не могу. Но видел такое решение
Код:Quaternion rotation = Quaternion.FromToRotation(Vector3.up, hit.normal); obj.transform.rotation = rotation;
Если надо вычислить только угол наклона между двумя векторами, то тут Vector3.Angle();
Любой класс в C# является производным от object.
Да entity, попробую, спасибоЛюбой класс в C# является производным от object.
Конкретно в данном случае это будет то, чей rotation/eulerAngles ты хочешь поменять
obj - просто имя переменной, у тебя это скорее всего будет entity, ну или как ты ее назвал