forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общие вопросы (http://forum.boolean.name/forumdisplay.php?f=166)
-   -   Проблемы разработки от EvilOkta (http://forum.boolean.name/showthread.php?t=17911)

seaman 18.03.2013 00:10

Ответ: Передача переменной в метод
 
Скорее всего это из-за использования углов Эйлера для поворота.
Использование углов Эйлера может завести в тупик

EvilOkta 18.03.2013 00:17

Ответ: Передача переменной в метод
 
Цитата:

Сообщение от seaman (Сообщение 255104)
Скорее всего это из-за использования углов Эйлера для поворота.
Использование углов Эйлера может завести в тупик

я же преобразую углы эйлера в кватернион и вроде не вращаю именно углами. Или даже кватернион задавать углами эйлера нельзя?

запутался, как раз переделал скрипт чтобы в такую ловушку не попасться, и все равно :-D

pax 18.03.2013 00:38

Ответ: Передача переменной в метод
 
Вращай последовательно. По введенным направлениям. А не сразу на весь поворот.

EvilOkta 18.03.2013 15:06

Ответ: Передача переменной в метод
 
Цитата:

Сообщение от pax (Сообщение 255109)
Вращай последовательно. По введенным направлениям. А не сразу на весь поворот.

идея понятна, но как тогда проверять дошел ли юнит до определенного угла? эйлерами?

pax 18.03.2013 16:54

Ответ: Передача переменной в метод
 
угол между текущим кватернионом и конечным http://docs.unity3d.com/Documentatio...ion.Angle.html

EvilOkta 18.03.2013 21:03

Ответ: Передача переменной в метод
 
спасибо, решил проблему немного не таким способом как вы советовали. Просто после каждого поворота обнулял rotation родителя в исходное положение и прописал 4 возможных поворота - наследование делает все остальное.

Всем спасибо за советы )) скоро будет очередная порция тупых вопросов ))

upd: собственно один из них - как родителем объекта сделать не определенный объект, а его инстанс? дело в том, что скрипт работает на одном объекте, но при нескольких объектах в сцене родитель привязывается лишь к одному. Логикой чую, что нужно делать инстанс родителя для каждого отдельно взятого юнита. Но если делаю объект для привязки префабом (т.е. GameObject) то компилятор говорит что Instance будет типа Object а не GameObject. А он не имеет компонента transform (хотя непонятно почему), если же объявить переменную, где собираюсь хранить ссылку на инстанс, как GameObject, то к нему нельзя применить метод Instantiate (брр...)
тут примеры только на яве http://docs.unity3d.ru/ScriptReferen...rom=GameObject
понимаю, что опять упускаю какую-то базовую концепцию

seaman 18.03.2013 22:24

Ответ: Передача переменной в метод
 
Код:

компилятор говорит что Instance будет типа Object а не GameObject
Ну естественно - в справке четко написано, что Instantiate возвращает Object. А что Вам мешает привести тип?
GameObject go = (GameObject)Instantiate (...);

EvilOkta 20.03.2013 10:32

Ответ: Передача переменной в метод
 
Цитата:

Object. А что Вам мешает привести тип?
GameObject go = (GameObject)Instantiate (...);
а это равносильно команде ниже? или есть отличия?
GameObject go = Instantiate(...) as GameObject;

pax 20.03.2013 10:39

Ответ: Передача переменной в метод
 
Отличия есть. В твоем случае не будет ошибки, если Instantiate(...) возвращала бы не UnityEngine.Object, а вообще произвольный тип объекта. При неверном касте просто вернет null. Директ каст (GameObject)Instantiate (...); выдаст исключение.

EvilOkta 25.03.2013 11:55

Ответ: Передача переменной в метод
 
можно как-нибудь узнать высоту/длину/ширину бокса, в который вписана 3d модель? чтобы использовать для корректирования scale

pax 25.03.2013 12:12

Ответ: Передача переменной в метод
 
Сам меш: http://docs.unity3d.com/Documentatio...sh-bounds.html
Размер AABB: http://docs.unity3d.com/Documentatio...er-bounds.html
Размер AABB колайдера: http://docs.unity3d.com/Documentatio...er-bounds.html

EvilOkta 25.03.2013 14:59

Ответ: Передача переменной в метод
 
то что нужно, спасибо pax!

EvilOkta 31.03.2013 13:57

Ответ: Передача переменной в метод
 
небольшой вопросик: сейчас занимался экспортом модели из 3d max, долго парился с правильной обработкой модели скриптом (в итоге помог reset Xform и полный сброс трансформации в Unity).
Вопрос собственно вот в чем: по какому принципу нужно выставлять настройки в 3d max чтобы в unity объект занимал пространство 1х1х1 юнитов?
Сложность в том, что я моделю в более крупном масштабе, а потом уменьшаю его "на глазок" пока не влезет. Но это слишком топорный способ. Может вы знаете более изящное решение?

И еще странно - при импорте ассета из 3d max в Unity, движок считает меш как компонент дочернего объекта префаба а не самого префаба?

Да, с bounds разобрался - коррекция работает при любых размерах меша.

EvilOkta 26.06.2013 13:14

Ответ: Передача переменной в метод
 
Небольшой вопросик для общего развития - есть ли реализация функционала ступенчатых массивов на базе работы со списками?
Что можно почитать по этой теме?
Интересует для реализации собственного гибкого алгоритма построения взвешенных и направленных графов.
Как думаете с помощью чего проще и оптимальней реализовать: ступенчатых массивов или списков?

seaman 26.06.2013 17:41

Ответ: Передача переменной в метод
 
Думаю этот вопрос лучше задавать тут: http://forum.boolean.name/forumdisplay.php?f=21
ЗЫ: я не изучал вопрос по реализации графов, но вот в Юнити для графов в Меканим написана такая dll: UnityEditor.Graphs.dll
Посмотри - может просто ее можно использовать.


Часовой пояс GMT +4, время: 15:24.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot