|
Общие вопросы вопросы не попадающие ни в один из доступных разделов |
05.12.2011, 13:50
|
#31
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
05.12.2011, 14:06
|
#32
|
ПроЭктировщик
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений (для 52 пользователей)
|
Ответ: Вопросы от новичка
Спасибо, помогло
|
(Offline)
|
|
05.12.2011, 19:04
|
#33
|
ПроЭктировщик
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений (для 52 пользователей)
|
Ответ: Вопросы от новичка
Всплыли еще вопросы:
1. Можно программно как то передвинуть курсор, т.е. изменить Input.mousePosition? Поиск по форуму Unity3d привел только к решению с помощью WinAPI, что разумеется не очень.
2. Может кто привести код, как выбирать объекты из под курсора с помощью RayCast (я правильно понимаю, что надо использовать ScreenPointToRay)? Через OnMouseDown() криво работает, потому хочу по менять.
|
(Offline)
|
|
05.12.2011, 19:58
|
#34
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
1. Стандартными средствами - Нет
2. Например тут
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
06.12.2011, 16:07
|
#35
|
ПроЭктировщик
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений (для 52 пользователей)
|
Ответ: Вопросы от новичка
Спасибо.
1. Жаль
2. Воспользовался, работает. Примерно так же, как и OnMouseDown получилось. Видимо ошибка, где то в применении. На 3D сцене объекты, игрок ходит и нажимает на них, учитывая расстояние от от глаз игрока до пересечения с коллайдером. С разных мест объект по разному кликается. Видимо стоит поиграться с изменением расстояния.
Еще вопрос:
А можно как то колесо прокрутки отслеживать? Не в GUI, а в наследнике MonoBehaviour? В справке про скролл только по GUI нашел.
|
(Offline)
|
|
06.12.2011, 16:08
|
#36
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Input.GetAxis ("Mouse ScrollWheel")
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
08.12.2011, 02:39
|
#37
|
ПроЭктировщик
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений (для 52 пользователей)
|
Ответ: Вопросы от новичка
И снова я тут
1. У меня на камеру накладывается пост-эффект, а хочется, чтобы на некоторые объекты его не было. Насколько я понимаю надо их рендерить во вторую камеру, а потом как то добавлять? Можно принцип действий расписать или кодом кинуть?
2. Есть ли в Unity возможность эмулировать жидкие и вязкие тела, напр. стекающую по стене слизь?
3. На GUIText нельзя наложить никакой эффект? (размазать буквы, добавить тень)
4. Можно как то передать параметры в следующую сцену, вызываемую через Application.LoadLevel, кроме как записать их в файл, а при старте прочитать? Наверно можно попробовать в каждой сцене создать Dummy, на который навесить скрипт, содержащий static переменные + set + get на них (или массив) и передавать все через него, но что-то мне кажется, что это не очень правильно.
|
(Offline)
|
|
08.12.2011, 03:42
|
#38
|
Бывалый
Регистрация: 24.05.2011
Адрес: Украина,Харьков
Сообщений: 890
Написано 359 полезных сообщений (для 880 пользователей)
|
Ответ: Вопросы от новичка
1.В с цене две камеры .Создаем слой IgnorePostEffect.Обьектам,которые рендеряться без постэффектов назначаем этот слой.Для камеры с постэффектами в настройках Culling Mask снимаем галку с нашего слоя,теперь она не видит эти обьекты,а для второй камеры в том же поле ставим флаг только напротив нашего слоя-она у нас будет рендерить теперь только эти обьекты.Дублируем трансформ с одной камеры на другую,парентим,профит.
2.Нет
3.Создать соответствующий стиль (с размазанными буквами и прочим)и применить
4.Создаем думик Main,на него вешаем скрипт в который пишем наши переменные,в скрипт добавляем
void Awake() { DontDestroyOnLoad(gameObject); }
При загрузке нового уровня думик не дестроится и соответственно сохраняются значения всех переменных.
__________________
Нам суждено построить мосты и храмы,которых никогда не существовало и не могло существовать в природе.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
08.12.2011, 07:07
|
#39
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Добавлю:
3. Тень можно добавить вторым GUIText'ом. Вот на счет размыть не знаю. Стили тут не помогут, так как это не GUI
4. Если параметры - не объекты Unity (Текстуры, ГеймоОбжекты и т.д.) то статические переменные любого класса, не обязательно скрипта на каком-то объекте нормальный выход. Есть еще PlayerPrefs - данные сохраняются между запусками игры.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
08.12.2011, 12:56
|
#40
|
ПроЭктировщик
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений (для 52 пользователей)
|
Ответ: Вопросы от новичка
Lestar, спасибо за подробный 1. Буду пробовать, должно получиться
pax, в очередной раз спасибо
PlayerPrefs то, что нужно. Заодно порешил вопрос с сохранением прогресса игрока (думал нужно будет класс писать).
3. Наверно попробую исхитриться и отрендерить в текстуру (с применением технологии п.1), а уже потом на нее эффект кидать.
|
(Offline)
|
|
08.12.2011, 13:44
|
#41
|
scientist.alien
Регистрация: 12.02.2007
Сообщений: 2,098
Написано 1,030 полезных сообщений (для 2,593 пользователей)
|
Ответ: Вопросы от новичка
3. Наверно попробую исхитриться и отрендерить в текстуру (с применением технологии п.1), а уже потом на нее эффект кидать.
|
Проще будет рендерить в текстуру всё, что тебе надо размыть из гуя, камерой, которая содержит в себе пост-процесс блюра. Только рендерить придётся не через GUIText/GUITexture (их пост-процессинг не касается), а через квады в сцене. Но там математика нехитрая, ортогональная проекция и пошёл.
Хотя если так и делать, то уж проще вообще весь размывающийся гуй вынести в отдельный слой на эту вот камеру с размытием и отрендерить ей поверх главной камеры.
Надо будет только поэкспериментировать с тем, куда вставлять те элементы гуя, которые размывать не надо..
__________________
Public service announcement: вы можете заблокировать отображение сообщений определённого пользователя, добавив его ник в список игнорируемых.
Tau lab. We LOVE you. We MADE you.
|
(Offline)
|
|
08.12.2011, 23:12
|
#42
|
ПроЭктировщик
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений (для 52 пользователей)
|
Ответ: Вопросы от новичка
Lestar, у меня главная камера с эффектами, вторая - без эффектов, обе повесил дочерними на Collider-игрока. Transform у обоих одинаков, так что с позиционированием проблем нет (думаю можно будет поиграться с позиционированием и сделать еще эффект )
Добавил Layers - IgnoreMainCamera. Добавил кубик, у которого задал Layer = IgnoreMainCamera.
Для главной камеры в Culling Mask снял с IgnoreMainCamera (кубик в окошке предпросмотра пропал).
Для дочерней камеры в Culling Mask убрал все флаги, кроме IgnoreMainCamera (в окошке предпросмотра только кубик).
Однако, когда запускаю сцену - идет рендер только главной камеры, а вот кубика нет. Может надо еще и слой дочерней камеры задать?
Taugeshtu, я подумал, да мне это надо всего для двух экранов - стартового скина с названием игры и надписи - "Вы околели". Так что наверно ручками сделаю надписи, повешу их как текстуры на кубик в ортогональной проекции и забью.
Надо еще 3D Text попробовать.
|
(Offline)
|
|
08.12.2011, 23:17
|
#43
|
Элита
Регистрация: 26.07.2008
Сообщений: 1,972
Написано 1,095 полезных сообщений (для 3,923 пользователей)
|
Ответ: Вопросы от новичка
У камеры также есть параметр глубины отрисовки Depth, попробуй поменять его для одной из камер
+Поиграться с ClearFlags
|
(Offline)
|
|
08.12.2011, 23:43
|
#44
|
ПроЭктировщик
Регистрация: 12.02.2011
Сообщений: 131
Написано 23 полезных сообщений (для 52 пользователей)
|
Ответ: Вопросы от новичка
У главной камеры было Depth = 1 (осталось от скрипта по смене суток), у дочерней 0. Поставил у дочерней Depth = 1.1 и ClearFlags = Depth Only - теперь кубик стал отрисовываться, но возникла другая проблема - кубик затирает объекты с главной камеры, которые стоят перед кубиком.
На самом деле, я использовал не кубик, а стол, на котором лежит книга. Стол рендерится второй камерой, а книга и остальное окружение - главной. Так вот при изменении глубины - книга перестает отрисовываться.
Насколько я понимаю Depth - это просто Z-буффер, т.е. когда мы выводим данные со второй камеры, то все точки лежат как бы сверху, поскольку у нее значение Depth больше.
|
(Offline)
|
|
08.12.2011, 23:51
|
#45
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от Nuprahtor
+Поиграться с ClearFlags
|
Поставь Nothing для второй камеры
И проблема решиться
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:31.
|