![]() |
Ответ: C# Быстрый поворот/перемещение множества объектов
Ответы по работе с террейном тут:
http://unity3d.com/support/documenta...rrainData.html По поводу нормалей... рейкаст в сторону террейна(т.е. вниз) - один из вариантов. |
Ответ: C# Быстрый поворот/перемещение множества объектов
Цитата:
1. Берём 3 точки на поверхности террайна (и не говорите мне, что в юнити так нельзя) - сам куб + 2 любые рядом. 2. Из них делаем два вектора с началом в кубе. 3. Векторно перемножаем. 4. Нормаль готова, получите и распишитесь. Обычно не пишу в юнити-тредах, ибо посчитают, что троллю, но тут уж промолчать было преступно. |
Ответ: C# Быстрый поворот/перемещение множества объектов
Цитата:
А вот с нормалью тупик. Делаю так: Код:
Vector3 n=terrainData.GetInterpolatedNormal(x/1024,y/1024); Кубики не ворочаются так как числа варьируются не от 0-360, а от ~0..1. Как преобразовать? |
Ответ: C# Быстрый поворот/перемещение множества объектов
Спасибо за комплимент, всегда рад о себе хорошее услышать.
По первой ссылке которую я привел, есть все что связано с террейном (и heghtMap тоже). Извини меня конечно, но написал "один из вариантов". Когда я болею, я не могу вспоминать все сразу, да я знаю как нормаль к треугольнику посчитать. Зато видишь, новые люди в разделе общаться начали ;) |
Ответ: C# Быстрый поворот/перемещение множества объектов
Цитата:
|
Ответ: C# Быстрый поворот/перемещение множества объектов
Цитата:
Поправляйся PAX. Код:
cube[t].transform.position = new Vector3(cubex[t],terrainData.GetInterpolatedHeight(cubex[t]/1024,cubey[t]/1024),cubey[t]); |
Ответ: C# Быстрый поворот/перемещение множества объектов
Опять же - трансформы лучше получать отдельно. Свойство transform ищет на объекте компонент Transform прежде чем его использовать - это дополнительная нагрузка. В прочем как и другие свйосва объекта типа collider, audio, camera и т.д.
Цитата:
|
Ответ: C# Быстрый поворот/перемещение множества объектов
АВТ, несоглашусь.
втроенные методы предпочтительнее, хотя бы из-за уровня удаления от ядра.©импер етот рейкаст может ядром юниты быть реализован эффективнее чем три получения высоты. хотя надо тестить в любом случае... |
Ответ: C# Быстрый поворот/перемещение множества объектов
Цитата:
|
Ответ: C# Быстрый поворот/перемещение множества объектов
Кто подскажет?
Вот я создаю в GameObject примитив куб, вот так: Цитата:
Я ее загрузил модель уже в Heractiy и Project, но как загрузить ее в сам GameObject я понять не могу.:dontknow: |
Ответ: C# Быстрый поворот/перемещение множества объектов
Не надо ее бросать в Hierarchy. У скрипта есть поле GameObject myPrefab; на него в инспекторе юнити бросаешь свою модель, а в скрипте убираешь строчку myPrefab=GameObject.CreatePrimitive(PrimitiveType. Cube);
|
Ответ: C# Быстрый поворот/перемещение множества объектов
Цитата:
NullReferenceException: Object reference not set to an instance of an object NScript.Update () (at Assets/NScript.cs:65) Мне же надо в Start() еще эту модель от копировать. А программно никак нельзя? |
Ответ: C# Быстрый поворот/перемещение множества объектов
Покажи код.
UPD: Догадки: 1) поле GameObject myPrefab не public (public GameObject myPrefab) и ты на него ничего не бросил соответственно. 2) где-то переменной myPrefab что-то присваиваешь. |
Ответ: C# Быстрый поворот/перемещение множества объектов
Жалуется на cube[i].transform.position типа "исходный объект не найден".
Код:
GameObject[] cube; |
Ответ: C# Быстрый поворот/перемещение множества объектов
myPrefab где объявлена? и в инспекторе на нее кинул модель?
Если приведенный код неизменный в программе, то должно работать. |
Часовой пояс GMT +4, время: 11:12. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot