Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity > Общие вопросы

Общие вопросы вопросы не попадающие ни в один из доступных разделов

Ответ
 
Опции темы
Старый 02.09.2013, 21:11   #1816
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Вопросы от новичка

Сообщение от WISHMASTER35 Посмотреть сообщение
Да я же с помощью камеры проецирую вершины на экран.
Да и не OcclusionCulling я делаю. Мне просто надо делать прозрачными объекты, которые закрывают главный объект - цель.
А мне кажется проще всего это сделать добавив в каждый шейдер функцию которая проверит перекрывает ли каждый пиксель зону которая должна быть видна, и если перекрывает то просто не будет рисовать этот пиксель.
(Offline)
 
Ответить с цитированием
Старый 03.09.2013, 00:12   #1817
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

dsd, и что выйдет? Мне надо весь объект скрывать, а не пиксель.
(Offline)
 
Ответить с цитированием
Старый 03.09.2013, 00:37   #1818
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Вопросы от новичка

Ну есть допустим какая то область в которую то что должно быть точно впишется. У этой области есть центр и какой нить радиус. Вот и проверяется если пиксель лежит внутри области и ближе к камере чем то что должно быть видно, то этот пиксель не рисуется. В итоге должен получиться овальчик наподобие того что в фаллауте втором был когда в здания заходишь.
(Offline)
 
Ответить с цитированием
Старый 03.09.2013, 00:44   #1819
seaman
Знающий
 
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений
(для 180 пользователей)
Ответ: Вопросы от новичка

Ну эту задачу проще сделать второй камерой, которая рисует только персонажа и рисует поверх всех камер. Только правда это будет выглядеть не так красиво, как если сделать прозрачный овал о котором пишет dsd.
(Offline)
 
Ответить с цитированием
Старый 03.09.2013, 01:30   #1820
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

seaman, у меня и так главный объект рендерится второй камерой. Чтобы все кроме главного объекта было размыты. Правда проблема есть, что на главный объект вообще никакие пост эффекты не действуют( Может подскажите как исправить?
Тем не менее рисовать поверх других это ужасный вариант.

Сейчас пробую как ты советовал лучи пускать. Пускаю лучи из всех 4х краев камеры и из центра в одну точку - центр главного объекта. Но если объект перекрывается частично и его центр не перекрыт, то и перекрытие не определяется.
Надо пускать лучи на в центр объекта, а в его крайнии точки. Только хз как найти те крайние точки.
(Offline)
 
Ответить с цитированием
Старый 03.09.2013, 16:33   #1821
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Никто не использовал это https://www.assetstore.unity3d.com/#/content/368 ?
Интересно чем отличается от Antares Universe.
Судя по скриншотам Playmaker больше ориентирован на скриптинг уровня, а Antares на алгоритмы, хотя для алгоритмов мне кажется лучше C# использовать.

Была когда-то идея научится левел скриптингу на атарасе, но так руки до этого и не дошли. Да и некоторых вопросов не понял как решить.

Последний раз редактировалось WISHMASTER35, 03.09.2013 в 22:01.
(Offline)
 
Ответить с цитированием
Старый 04.09.2013, 07:57   #1822
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Playmaker - стейтмашина, и "скриптинг" в нем это навешивание компонентов на стейты. Простые вещи на нем получаются достаточно просто, но если надо сделать что-то сложное, то тут без программирования на C# не обойтись.

Antares Universe мы задумывали как альтернативу обычному кодингу и не потому что C# проще. Эта среда не для программистов C# (хотя последние могут написать для нее модули), ее используют люди, кто не умеет или не хочет писать код руками. Достаточно покликать мышкой. У многих получается сделать свой проект чисто на Antares Universe не прибегая к классическому кодингу. http://forum.unity3d.com/threads/183...VIZIO-Showcase
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 04.09.2013, 21:29   #1823
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

pax, я раньше пытался продумать функции необходимые для скриптинга персонажей.
По моему мнению нужны такие функции:
1) создание в графе глобальных ссылок на объекты, которыми будем управлять.
2) Простой вызов методов в этих объектов. Причем я имею ввиду, чтобы метод можно было выбирать из списка, а не писать имя вручную. И список был только из методов с моим атрибутом, чтобы остальные методы не мешались.
3) Разветвление потока выполнения команд (например в какой-то момент начинаем управлять несколькими объектами). Это по-моему можно сделать запуская корутину для каждого потока.
4) Дождаться в одной точке завершения выполнения всех потоков или некоторых.
5) Ожидание каких-то событий.

Этот список можно сделать в Antares Universe или Playmaker?
(Offline)
 
Ответить с цитированием
Старый 05.09.2013, 00:06   #1824
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

1. Глобальные переменные это не хорошо, но сылки в графах AU хранить можно, как локальные переменные, как входящие значения блоков.
2. Вызывать методы у объектов AU умеет с помощью специальных блоков, работающих с помощью рефлексии. Атрибуты никакие не использовали, иначе все что нужно вызвать, пришлось бы помечать. Задача AU исключить обычное программирование (хотя программисты могут писать свои блоки). Но показываются в списках только публичные методы.
3. Не понял про потоки, ты можешь вешать графы на объекты как обычные скрипты. Делать Объекты префабами и их копировать для повторения логики. Блоки триггеров вроде бы есть какие-то, я не работаю с AU больше года.
4. Судя по всему, то что ты хочешь в AU нет. У графов есть не наглядная стейт машина, можно проверять в каком состоянии графы. Если все достигли определенного стейта - делать событие из следящего графа.
5. AU перехватывает все события Unity (перехватывал на момент, когда я с ним работал). Start/Update/OnCollisionEnter и т.д. Все работают, причем с интеграцией со стейт машиной. В определенном состоянии могут сробатывать одни события, в другом другие.

Что касается плеймейкера, я с ним особо не занимался. Но как я понимаю это просто стейт машина, обрабатывающая события и переключающая состояния. Состояния выполняют какое-то действие. Тут стейт машина наглядная. Виден граф стейтов, но сами стейты "программируются" компонентами.

Ну а так, под себя ни одна система не подойдет. Ты видишь ее так, другие так, третьи эдак. Мы частично скопировали идею virtools.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
WISHMASTER35 (05.09.2013)
Старый 05.09.2013, 01:27   #1825
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

pax, вот допустим так можно запустить три "потока"
StartCoroutine( F1() );
StartCoroutine( F2() );
StartCoroutine( F3() );
А как дождаться завершения всех или любой одной корутины я не представляю.
Ну я бы не сказал, что все по разному видят. В ходе работы все придут к одному мнению. Кстати, почему ты больше AU не разрабатываешь?

И еще пару вопросов.
1) Попробовал использовать шейдер Transparent/Diffuse, но почему он не работает с Z буфером?
Пробовал дописать ZWrite on и ZTest LEqual, но не помогло.
Шейдер этот, кстати, от обычного отличается лишь строчкой alpha в стоке "#pragma surface surf Lambert alpha". В документации http://docs.unity3d.com/Documentatio...ceShaders.html мало написано про это, точнее просто написано используйте для прозрачный шейдеров.
2) Попробовал использовать grap pass, поначалу этот шейдер рисовал какую-то искаженную фигню, но сейчас уже заработал. Я вот спросить хочу, он действительно копирует весь FullHD в текстуру? Накладная наверно операция. Я почему-то думал, что в grap текстуру рисуется сначала модель, а потом эта текстура рисуется.

Если бы работало так, как я думал, то можно было бы сделать объект полупрозрачным, если во втором проходе рисовать текстуру с блендингом.
Миниатюры
Нажмите на изображение для увеличения
Название: Alice.png
Просмотров: 748
Размер:	319.3 Кб
ID:	19658  
(Offline)
 
Ответить с цитированием
Старый 05.09.2013, 07:15   #1826
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

В коде с корутинами достаточно в каждой функции сделать инкремент общей переменной на один, по завершении делать декремент. И ждать когда переменная станет нулем.
В AU нет понятия потоков, мы корутины туда внедрили для остоновки потока на какое-то время.

По поводу того, почему я над ней больше не работаю - одно время было тяжелым, пришлось. И поддерживать ее не было времени.

1. Прозрачная геометрия не использует запись в глубину потому, что если нарисовать сначала передние треугольники, потом задние, то задние не нарисуются. А если нарисуются сначала задние, а потом передние, то все нарисуется. Это ты и наблюдаешь. Обычно в таких случаях прибегают к техникам в несколько проходов. Чтобы не рисовать внутренние грани сначала делают проход с глубиной, потом уже рисуют с учетом буфера. Но это наверное не решит все проблемы.
2. Почти не работал с ним, поэтому не знаю копируемый размер текстуры.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 06.09.2013, 19:50   #1827
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

Странно, что нельзя проверить выполняется ли корутина.
Объект Coroutine ничего не содержит, хотя yield может с ним работать, поэтому в цикле можно дождаться выполнения каждой корутины.
IEnumerator тоже не дает возможности узнать состояние выполнения корутины.
Правда есть метод MoveNext() в IEnumerator, думаю возможно сделать свой StartCoroutine.
Кстати, не понятно зачем StartCoroutine_Auto, в документации его нету, а StartCoroutine просто вызывает его. В юнити это не первый такой странный случай.

Я вот хотел расширить класс Material унаследовав от него свой класс Atlas, но не получилось. Я так понимаю формат mat это не asset? Странно, что не сделали обычным ассетом.
(Offline)
 
Ответить с цитированием
Старый 08.09.2013, 09:27   #1828
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

*.asset - это произвольный ассет, а *.mat это материал.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 09.09.2013, 19:26   #1829
4yBa4Ok
Знающий
 
Аватар для 4yBa4Ok
 
Регистрация: 01.04.2011
Адрес: Екатеринбург
Сообщений: 232
Написано 48 полезных сообщений
(для 82 пользователей)
Ответ: Вопросы от новичка

Возможно ли на юньке сделать игру для Windows Phone подобную этой:


__________________





(Offline)
 
Ответить с цитированием
Старый 09.09.2013, 19:53   #1830
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Вопросы от новичка

Возможно.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Nex (09.09.2013)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com