![]() |
Ответ: Вопросы от новичка
Благодарствую, seaman, h1dd3n!
|
Ответ: Вопросы от новичка
Вопрос по анимации характерной для именно кат-сцен.
1. Как в юнити сделать анимацию камеры для кат-сцены? 2. Как вообще проще всего в юнити сделать кат-сцену используя лишь его родной функционал? (на всякий случай, вдруг я чего не знаю) |
Ответ: Вопросы от новичка
Цитата:
Цитата:
|
Ответ: Вопросы от новичка
Цитата:
|
Ответ: Вопросы от новичка
Можно же сделать копию персонажа специально для кат сцены, и во время проигрывания скрывать управляемого игроком.
|
Ответ: Вопросы от новичка
Цитата:
Перед этим анимки создаются в максе и animation. Анимация включается программно, и потом этот clip как я понимаю можно "снять" с объекта за ненадобностью. Что можете сказать на счет такого метода? |
Ответ: Вопросы от новичка
Цитата:
|
Ответ: Вопросы от новичка
Цитата:
|
Ответ: Вопросы от новичка
Цитата:
|
Ответ: Вопросы от новичка
Цитата:
В любом случае придется скриптами шаманить, например отключать скрипты игрока, камеры. Для модели игрока придется подменять контроллер анимации видимо, чтобы проиграть анимацию катсцены, а потом восстанавливать. |
Ответ: Вопросы от новичка
Цитата:
Цитата:
|
Ответ: Вопросы от новичка
Я что-то не пойму...
У Вас же как-то НПС управляется? И не игроком, а скриптами. Какая разница модели откуда приходят команды - от игрока или от АИ, или от некоего скрипта просто проигрывающего последовательность анимаций. Меняется только один скрипт - подающий эти команды. Просто изначально сделайте нормальную архитектуру - разграничте скрипт подающий команды от скрипта исполняющего его. Тогда нужно будет переключать только один скрипт. Причем основной можно и не удалять - а просто "выключать" на время. И еще - мне кажется что большинство анимаций катсцены, если не все это анимации из игры. Что там можно такого придумать, что игрок или НПС не должен делать в игре? И не надо менять контроллер анимации - надо менять контроллер управления. |
Ответ: Вопросы от новичка
Товарищи, а что за ерунда с меш коллайдерами в ю.5?
Происходит некая интерполяция с галкой. Без галки коллайдера нет вовсе. Как заполучить коллайдер 100% повторяющий меш объекта ? http://puu.sh/hE3B1/20b88eeb68.png UPD: т.е. точный коллайдер сделать удалось через null gameobject>mesh collider>mesh, но в таком виде Physics.CheckSphere почему-то перестает реагировать на всю эту конструкцию. Почему? |
Ответ: Вопросы от новичка
Снимай галочку IsConvex для не выпуклых колайдеров. Physics.CheckSphere работает с габаритными контейнерами колайдеров, т.е. не точно.
|
Ответ: Вопросы от новичка
Понятно, спасибо.
Стал догадываться о ее неточности оп слову "overlap". А что может дать точность? Physics.Linecast? |
Ответ: Вопросы от новичка
Linecast, Raycast точны, но используют только линии/лучи. Если нужно тестировать объем, то наверное можно использовать SphereCast или CapsuleCast.
|
Ответ: Вопросы от новичка
Странная штука: и Linecast и SphereCast срабатывают только "на вход" в коллайдер, но "при выходе" из коллайдера обе молчат. Можно ли как-то их заставить реагировать на факт пересечения, а не "направления" ?
UPD: в общем, direction нужен, как выясняется. Не актуально. UPD2: все работает. главное: направление) Спасибо, pax! |
Ответ: Вопросы от новичка
Вопрос по Editor. Есть там отображение для list<>. Но отображается как-то не очень удобно - с помощью size устанавливается количество полей.
1. Можно ли как то сделать чтобы size не отображался? 2. А в контекстное меню добавить пункт для создания нового элемента? |
Ответ: Вопросы от новичка
Имхо просто делай дубликат итема через контекстное меню.
|
Ответ: Вопросы от новичка
Цитата:
Так то можно не обращать внимание, но... раздражет он. :-D |
Ответ: Вопросы от новичка
Цитата:
Как заставить UI Graphic перерисоваться? Сейчас делаю вот так :) : PHP код:
|
Ответ: Вопросы от новичка
Цитата:
|
Ответ: Вопросы от новичка
Выполнение такого куска:
int a = 34000; float b = 0.01f; a = (int)(b * a); Debug.Log(a); дает 339. Подскажите, а куда единица девается ? |
Ответ: Вопросы от новичка
Цитата:
|
Ответ: Вопросы от новичка
Да, это из-за не точности float, просто отбрасывается дробная часть (которая равна например 0,99999999). Можно так:
PHP код:
|
Ответ: Вопросы от новичка
Спасибо! Понятно.
double тоже дала 339. Mathf.RoundToInt дала нужное. |
Ответ: Вопросы от новичка
Уточнение-вопрос:
Мне нужно чтобы в результате вычисление флоат*флоат, инт*флоат, флоат*инт, получалось целое без дробной части. Но главное без округления. Т.е. даже если 100.9999999999, чтобы давало на выходе - 100. Mathf.RoundToInt может такое только делать гарантировано? хотя оно как раз вроде и округляет. Или просто приведение (int) не будет округлять, а только отбрасывать дробное? *имеется ввиду на случай если что-то будет заковыристое описанное в пред. вопросе |
Ответ: Вопросы от новичка
приведение к int отбрасывает дробную часть
Mathf.RoundToInt округляет до целого Mathf.CeilToInt Возвращает наименьшее целое число, которое больше или равно заданному числу Mathf.FloorToInt Возвращает наибольшее целое число, которое меньше или равно заданному числу |
Ответ: Вопросы от новичка
Спасибо!
|
Ответ: Вопросы от новичка
|
Ответ: Вопросы от новичка
Подскажите, пожалуйста, как правильно действовать:
Дано: огромное кол-во 3д объектов. По надобности делается копия одного из, и "забрасывается" в игровой процесс. В блитце делал так: загружал все сразу на старте и hideentity. По надобности: копировал, showentity, использовал. В юнити, с выключенным setactive, Instantiate не делается. Решил выключать компонент renderer. Далее то же самое что в блитце. Правильный ли это подход в юнити для данного случая? |
Ответ: Вопросы от новичка
В Unity для копирования используются префабы. Не надо их в сцену помещать.
По поводу Instaniate и SetActive - вероятно ты забыл включить снова скопированный объект (SetActive(true)) |
Ответ: Вопросы от новичка
Не ожидал, что застряну на такой мелочи, но: как достать исходный обьект из SerializedProperty?
Пишу это: PHP код:
type is not a supported pptr value А других вариантов гугл вроде не выдает (Пытаюсь достать данные из элементов вышеупомянутого List-а, а не просто нарисовать их) Или иначе: как, будучи внутри своего PropertyDrawer-а, достать обьект, который он рисует? |
Ответ: Вопросы от новичка
Я боюсь у тебя это не получится, property может указывать на свойства нескольких объектов одновременно, т.к. в редакторе можно выделить сразу много объектов. Самый простой путь - преобразовать target к типу своего скрипта и все рисовать с помощью EditorGUI/EditorGUILayout для одного первого объекта. Но появится проблема с Undo/Redo.
|
Ответ: Вопросы от новичка
Цитата:
Да и Undo/Redo не нужен, а если понадобится, то его же можно вручную сделать |
Ответ: Вопросы от новичка
Вручную сложно, а у Editor target это первый из targets
UPD: сорри я немного не понял сначала о чем речь. в PropertyDrawer никак не получить что рисуешь. Вроде кто-то пробовал через рефлексию. Но это геморрой еще тот. |
Ответ: Вопросы от новичка
Подскажите ответ на такой вопрос:
Мне нужно чтобы можно было определять объект под мышкой, но при этом, чтобы никаких столкновений между объектами не происходило. В блитце была возможность сделать так без вызова UpdateWorld. А как такое организовать в юнити? Как выключить расчет столкновения у всего? UPD: или если у меня нет ни одного fixedUpdate(), то никакие столкновения рассчитываться нигде никогда не будут ? |
Ответ: Вопросы от новичка
Вешай на объекты Collider'ы с Rigidbody в режиме IsKinematic
|
Ответ: Вопросы от новичка
Цитата:
|
Ответ: Вопросы от новичка
Понятно..
Спасибо, pax, Жека! |
Ответ: Вопросы от новичка
Посоветуйте, пожалуйста, как поступить. Штука такая:
Образно: есть массив 3д объектов. Большое кол-во. Те, что находятся на расстоянии от камеры n, должны определяться мышкой, прочие - нет. Камера перемещается, соответственно и объекты подверженные лучу камеры меняются. Каким образом эффективно включать\выключать у объектов коллайдеры? Я так понял, что только через getcomponent>collider. Но вопрос в том, что "id' объектов постоянно меняются (перманентно instantiate и destroy делаются) и создать массив ссылок на коллайдеры перед запуском скрипта не получается. В руководстве же, написано, что getcomponent (в свете производительности) хорошо бы использовать по-реже (что и смущает). getcomponent на лету единственный способ в данном случае? |
Ответ: Вопросы от новичка
Цитата:
И в массиве держать ссылки имеено на этот компонент Как-то так? |
Ответ: Вопросы от новичка
У Physics.Raycast есть много параметров, задай дистанцию действия луча и не парься о включении/выключении колайдеров.
|
Ответ: Вопросы от новичка
Спасибо, pax, так и сделаю!
ANIK123, спасибо, но предустановленный массив делать в моем случае нельзя - нет постоянных id объектов. |
Ответ: Вопросы от новичка
Пытаюсь смастерить свой Dictionary, который умеет сериализироваться
Но он не сериализируется (при запуске "игры" и при выходе с нее - данные сбрасываются) Не могу понять где налажал |
Ответ: Вопросы от новичка
Твой пример, это не словарь, а простой перебор. Нет никаких преимуществ поиска. Ведь словарь это хэш таблица.
И зачем тебе мастерить свой словарь, ведь можно сериализовать любой другой. Вот готовый пример сериализации стандартного словаря: http://docs.unity3d.com/ScriptRefere...rialize.h tml Я обычно поступаю так: PHP код:
|
Ответ: Вопросы от новичка
Доброго времени!
Такой вопрос: луч должен возвращать компонент объекта в сцене - скрипт, и из него метод, но при попытке запуска юнити говорит, что ссылается не на экземпляр (Object reference not set to an instance of an object): PHP код:
как быть в данном случае? нужно запускать методы xmethod(). |
Ответ: Вопросы от новичка
Вот так
PHP код:
|
Ответ: Вопросы от новичка
Привет, как сделать что бы LensFlare не увеличивал свой масштаб от расстояния камеры? То есть зафиксировать его размер. Опция Zoom ничего не дает, что она включенная, что она выключенная. У кого есть какие идеи для решения этой задачи?
|
Ответ: Вопросы от новичка
Написать свой LensFlare? Есть еще такое https://www.assetstore.unity3d.com/en/#!/content/12845
|
Ответ: Вопросы от новичка
Мда, такой движок, а такой функции простой нету - печаль. Буду решать самостоятельно.
|
Ответ: Вопросы от новичка
Цитата:
Ну и как обычно все универсальное чаще всего не подходит. Так что приходится писать свои компоненты или покупать готовые, если нет желания тратить время. |
Ответ: Вопросы от новичка
Спасибо огромное!
|
Ответ: Вопросы от новичка
Здравствуйте
Я наткнулся на баг, или накосячил Даже не знаю как описать Вот ссылка на ассет со сценой, в которой есть две "менюшки", в каждой расположено по одной кнопке. Кнопки эти анимированные аниматором. Нажатие на кнопку закрывает текущее окно, и открывает другое. Закритые и откритые сопровождается деактивацией/активацией флажка CanvasGroup-а окна "Interactable", с последующим отключением/включением Геймобджекта. Если разок так открыть окно, то все хорошо. Если второй раз, то по кнопке будет видно, что она не интерактивная. Но при этом она нажимеатся, и если глянуть в аниматор то мы сможем пронаблюдать как проигрывается анимация Normal, хотя в действительности это вранье О_О |
Ответ: Вопросы от новичка
Подскажите, пожалуйста, как в List<T> получить постоянный указатель на элемент списка (кол-во элементов списка постоянно изменяется)?
В блитце использовал Handle для этого. |
Ответ: Вопросы от новичка
Ты используешь не тот список. В Blitz был связанный список на сколько я помню. https://msdn.microsoft.com/ru-ru/lib...(v=vs.90).aspx
|
Ответ: Вопросы от новичка
Спасибо!
Но мне так и непонятно как хранить ссылку\индекс\указатель на конкретный элемент\узел списка безо всяких first, last и пр. ? UPD: не хранить, а получить ссылку\индекс\указатель. В блитце был type с динамически изменяемым размером и полями: Код:
type aaa Где это реализовать в c#? LinkedList<T> ? он мне всю голову поломал Или вообще через экземпляры struct? |
Ответ: Вопросы от новичка
PHP код:
|
Ответ: Вопросы от новичка
Можешь хранить в словаре, а не в списке, и присваивать уникальный ключ каждому значению, как вариант.
|
Ответ: Вопросы от новичка
Да можно собственно и обычный список использовать для ссылочных типов (class).
PHP код:
|
Ответ: Вопросы от новичка
Теперь всосал. Большое спасибо!
|
Ответ: Вопросы от новичка
Обновился с 5.0.1 до 5.1, пропала возможность импортировать аудио
-_- |
Ответ: Вопросы от новичка
Цитата:
http://unity3d.com/unity/qa/patch-releases |
Ответ: Вопросы от новичка
Цитата:
|
Часовой пояс GMT +4, время: 13:29. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot