![]() |
Ответ: Фак по Юнити.
Цитата:
http://www.4shared.com/dir/Vyojz94v/..._lesson01.html |
Ответ: Фак по Юнити.
Пробовал этот скрипт в деле:
http://www.unifycommunity.com/wiki/i...ramesPerSecond В статистике 200 FPS, а скрипт показывает 70. В чем подвох? |
Ответ: Фак по Юнити.
А вертикальная синхронизация отключена?
Вообще плеер может не полностью ресурсы компьютера использовать... Попробуй брать мгновенный fps и вычисляй среднее как вариант (fps = 1f/(Time.deltaTime/Time.timeScale)), выводи раз в секунду например. Сорри первая формула была неудачной ) |
Ответ: Фак по Юнити.
Формула то рабочая я тоже так по началу считал.
Это похоже глюк или неправильные настройки в среде разработки. Когда запускаешь в среде этот код, больше 60 он не показывает при этом в статистике 200 FPS. Стоит скомпилировать exe и запустить, этот код уже будет показывать 200 FPS как и в статистике. Код:
float fps,accum,fr; |
Ответ: Фак по Юнити.
Цитата:
|
Ответ: Фак по Юнити.
Можно например так:
Код:
if(Time.frameCount%50==0)fps=(int)(1.0f/(Time.deltaTime/Time.timeScale)); П.С. однако этот метод гораздо компактнее. чем http://www.unifycommunity.com/wiki/i...ramesPerSecond |
Ответ: Фак по Юнити.
А как в unity делаются биллбоарды (спрайты повернутые всегда лицом к камере)? какие классы и методы для этого используются?
|
Ответ: Фак по Юнити.
Частицами можно сделать, можно самому считать. Например взять план и повесить скрипт, поворачивающий каждый кадр модель на камеру. Самый нормальный способ - частицами. У них есть специальный режим рендеринга для этого.
|
Ответ: Фак по Юнити.
|
Ответ: Фак по Юнити.
А что быстрее? Класс particle emitter вроде бы слишком перегружен, там и ускорения и отклонения и чего только нету. Может плэйн быстрее как думаете?
|
Ответ: Фак по Юнити.
Частицы быстрее, если тебе надо сотню и больше билбоардов. Управляй созданием частиц в ручную в эмиттере, и сможешь отрисовать все частицы за один draw call.
|
Ответ: Фак по Юнити.
Использую particle emitter, со скоростью все Ок! 16000 партиклов 150FPS. :)
А как через код установить текстуру particleEmitter? И почему я создаю желтый партикл Color.yellow, а на экране отображается розовый? П.С. Если кому интересно небольшой рабочий тест. дополнительно к объекту нужно прикрутить Particle Renderer и Elipsoid Particle Emitter Код:
using UnityEngine; |
Ответ: Фак по Юнити.
Используй явное создание частиц
http://unity3d.com/support/documenta...particles.html а материал определяет ParticleRenderer |
Ответ: Фак по Юнити.
Забыл что к камере прикрутил, Particle Renderer и Elipsoid Particle Emitter. в свойствах Render можно поставить материал.
Теперь все работает. |
Ответ: Фак по Юнити.
Возникла нехорошая проблема.
Персонаж игрока условно - куб с Box Collider`ом. Враги тоже. Их я двигаю transform.Translate`ом и они не реагируют на столкновения вообще никак. У меня возникло подозрение, что transform.Translate не учитывает физику, и мне стало от этого грустно. Какой командой стоит передвигать персонажей, или какие компоненты стоит добавить (пробовал Rigidbody, однако безрезультатно) |
Ответ: Фак по Юнити.
Если все объекты с коллайдерами и двигаются, то им необходимо добавить RigidBody и его переключить в режим IsKinematic и передвигать их надо в FixedUpdate.
|
Ответ: Фак по Юнити.
Хм, не помогло, ригидбади установлены, пробовал со всеми комбинациями галочек...
|
Ответ: Фак по Юнити.
Коллайдеры случаем не в режиме IsTrigger? В каком слое коллайдеры находятся? В настройках физики - эти слои между собой могут сталкиваться?
|
Ответ: Фак по Юнити.
Могут сталкиваться, коллайдеры не триггеры
|
Ответ: Фак по Юнити.
Тогда не могу предполагаать... если только transform который двигает объект не на том же объекте что и коллайдер...
|
Ответ: Фак по Юнити.
Вложений: 1
Нет, трансформ там же находится
Вот сцена, если есть возможность посмотреть |
Ответ: Фак по Юнити.
Посмотрел, похоже чтобы сталкивались наверное надо двигать объекты физикой. Либо использовать вместо BoxCollider - CharacterController. Либо вручную обрабатывать события он CollisionEnter.
|
Ответ: Фак по Юнити.
Цитата:
Rigidbody, в Update() включать IsKinematic, двигать transform.position как хочется, выключать IsKinematic, обнулять rigidbody.velocity и angularVelocity. |
Ответ: Фак по Юнити.
Код:
using UnityEngine; Префаб назначен, скрипт в сцене размещен, точки респавна присутствуют, все теги выставлены. И второй вопрос: как сделать триггер на партиклы? Например, стоишь в огне и у тебя здоровье отнимается. |
Ответ: Фак по Юнити.
делай так
Код:
using UnityEngine; |
Ответ: Фак по Юнити.
По первому вопросу разобрался, спасибо.
По второму: Код:
using UnityEngine; |
Ответ: Фак по Юнити.
Цитата:
Справка для примера, в ней что-то типа эффекта воздушной подушки или вентилятора вверх описано. Это не значит, что надо делать все как в примере. |
Ответ: Фак по Юнити.
Опробовал способ с OnTriggerStay - ничего не получилось. Для проверки кода создал сферу-триггер, прицепил ей тот же скрипт - все работает как надо. Видимо для партиклов нужен особый подход..
|
Ответ: Фак по Юнити.
Ну все правильно, ставь объект пустышку со сферическим коллайдером в место костра и все. Это истинный путь джедая )
|
Ответ: Фак по Юнити.
Повесил на партиклы скрипт
Код:
public GameObject go; Новый вопрос теперь: как перемещать партиклы? |
Ответ: Фак по Юнити.
Ну у каждого GO есть трансформ, если менять его позицию (transform.position) то объект будет перемещаться в пространстве...
|
Ответ: Фак по Юнити.
Если бы все было так просто, я бы не спршивал :( Пытаюсь перемещать с помощью transform.Translate - результат нулевой.
|
Ответ: Фак по Юнити.
Все достаточно просто. Скрипт перемещения висит на объекте с частицами?
|
Ответ: Фак по Юнити.
Не совсем. Частицы создаются инстантиатом со скрипта на игроке, следовательно перемещение тоже там.
Если быть точнее - нужно реализовать 'фаерболл', создающийся инстантиатом в префабе игроке и летящий по форварду, правда как реализовать в таком случае обработку коллизии фаерболла со стеной я в непонятках :( Пробовал разобрать на примере РПГ с некоторого примера, но там создается ригидбоди, а партиклы создаются уже при столкновении, но не делать же фаерболл ригидбодом? Ригидбоди то можно толкнуть силой :( |
Ответ: Фак по Юнити.
Столкновения можно посчитать кастом. Все еще не вижу проблем. Вешайте скрипт перемещения на партиклы, туда же скрипт проверки столкновений. Лучше это в один скрипт объединить.
|
Ответ: Фак по Юнити.
Цитата:
|
Ответ: Фак по Юнити.
Пожалуйста, но можно и поучиться пользоваться справкой и поиском в ней ;)
http://unity3d.com/support/documenta...e/Physics.html http://unity3d.com/support/documenta...s.Raycast.html и другие касты, выбирай, которые лучше подойдут. |
Ответ: Фак по Юнити.
Вложений: 1
Возможно ли сделать такой шейдер который заменял бы в текстуре все пикселы определенного цвета (например белого r=255 g=255 b=255) на тот который указан в anyobject.renderer.material.color.
Ну или иначе говоря: Когда мы меняем цвет через renderer.material.color вся текстура изменяет свой цвет. А нужно, чтобы цвет изменялся только у былых пикселей. |
Ответ: Фак по Юнити.
самый простой способ - сделать у текстуры альфаканал (если конечно он не используется) и значение альфы использовать для интерполирования цвета от цвета текстуры до указанного цвета. Если альфаканал используется, то можно взять еще одну текстуру, и использовать какой-то ее канал для данной задачи. Писал как-то похожий шейдер:
PHP код:
|
Ответ: Фак по Юнити.
Спасибо Pax. Я в шейдерах ничего не смыслю.
А можно что то типа: if(color=(255,255,255)color=materal.color; чтобы обойтись без текстуры маски. |
Ответ: Фак по Юнити.
Можно, но эффект будет не таким хорошим. Попробуй написать сам ;) а с одной текстурой можно использовать альфаканал.
PHP код:
|
Ответ: Фак по Юнити.
Вложений: 1
Еще раз спасибо.
Цитата:
И тот и другой метод работает. Но вы правы, с маской пожалуй все-таки лучше. Собственно результат: |
Ответ: Фак по Юнити.
Как привязать префабу дочерний префаб, как сделано, например, в FirstPersonController?
|
Ответ: Фак по Юнити.
Перетащить мышкой один на другой?
|
Ответ: Фак по Юнити.
FirstPersonController - это один префаб
|
Ответ: Фак по Юнити.
Дочерний префаб? Как это? Имеется ввиду иерархия объектов (один префаб состоит из множества объетов)?
|
Ответ: Фак по Юнити.
|
Ответ: Фак по Юнити.
Похоже, мы друг друга не поняли)
Вот префаб FirstPersonController состоит одновременно из самого себя, компонента Graphics и камеры Main Camera, но если попробовать добавить камеру любому другому префабу, то спрашивается, заменить ли один префаб на другой( |
Ответ: Фак по Юнити.
Если камеру добавлять в списке префабов, а не в инспекторе, все будет ОК ;)
|
Ответ: Фак по Юнити.
Цитата:
|
Ответ: Фак по Юнити.
Перепутал окно иерархии с инспектором
В общем, создаешь два объекта - obj1 и obj2. В окне Hierarchy перетягиваешь obj1 на obj2, получится структура. В окне Project жмешь правой кнопкой - Create Prefab. Перетягиваешь иерархию объектов obj1-obj2 на префаб, теперь созданный префаб является этой иерархией В Project указав префаб, ты можешь добавлять к нему компоненты, и эти компоненты добавятся ко всем объектам в Hirerarchy. Это базовые основы работы с префабами |
Ответ: Фак по Юнити.
И как я не додумался до такого элементарного :(
А я как дурак тягал с иерархии понесколько объектов на префаб и огорчался, что "кубик то серый", про структуру вообще из головы вылетело:( |
Ответ: Фак по Юнити.
To PAX не подкините пример как сделать так, чтобы на террайне оставались следы от гуссениц.
|
Ответ: Фак по Юнити.
Как сделать, чтобы шарик катался на стрелочках?
|
Ответ: Фак по Юнити.
Пардон, уже что-то нашел, наверное этого хватит:
http://www.decane.net/external/gener...munity_1.1.zip Что-то вроде этого: PHP код:
|
Ответ: Фак по Юнити.
Цитата:
|
Ответ: Фак по Юнити.
Подскажите, в assets имеется модель, я ее подгружаю программно при помощи
GameObject instance = (GameObject)Instantiate(Resources.Load("model")); ну т.е. создаются клоны этого объекта; так вот как прицеплять скрипты к этому клону-объекту (программно) ? или же как-то можно прицепить к модели скрипты (но она не на сцене находится а просто в папке валяется). Спасибо |
Ответ: Фак по Юнити.
Что мешает пользоваться готовым префабом со скриптом?
|
Ответ: Фак по Юнити.
GameObject.AddComponent()
либо кидай компоненты прямо на префаб или на модель. |
Ответ: Фак по Юнити.
Необходимо реализовать следующее:
имеется GUILayout.Button - прицеплено определенное действие просто по клику на кнопку, а еще надо осуществить возможность перетаскивания с кнопки (т.е. на кнопку навели->нажали->удерживаем и тащим (не кнопку а просто удержанной кнопкой курсор ведем в сторону) ) - проблема именно с определение вот этого состояния, когда на кнопку нажали и держат - подскажите пжлста как реализовать такое. Спасибо. |
Ответ: Фак по Юнити.
Мне кажется можно это сделать обрабатывая события GUI:
1. Определить над какой кнопкой находится мышка. 2. Обработать Event.type (EventType.MouseDown - начало перетаскивания, EventType.MouseUp - конец перетаскивания, EventType.MouseDrag - само перетаскивание). Можно поступить по другому: 1. Определить над какой кнопкой находится мышка. 2. Сохранить информацию об этом. 3. Перетаскивание организовать в Update с помощью Input. |
Ответ: Фак по Юнити.
Два сообщения перемеcтил сюда: http://forum.boolean.name/showthread.php?t=14476
|
Ответ: Фак по Юнити.
Я так понял после создания террайна его heightmap изменять уже нельзя.
http://unity3d.com/support/documenta...tmapWidth.html Тогда, как програмнно создать terrain определенного размера чтобы heightmap был 512х512 например. |
Ответ: Фак по Юнити.
|
Часовой пояс GMT +4, время: 06:51. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot