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

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

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity > Эффекты/Шейдеры

Ответ
 
Опции темы
Старый 07.05.2014, 20:51   #1
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Багофича с выдавливанием по нормалям

Привет, булчан!

Суть проблемы такова - если выдавливать некие вершины, которые не попадают под сглаживание (например, сглаживание 30 градусов, а у нас куб), то вершины выдавливаются независимо друг от друга. Вот такНажмите на изображение для увеличения
Название: Без-имени-1.jpg
Просмотров: 1220
Размер:	92.7 Кб
ID:	20510
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 07.05.2014, 21:08   #2
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Багофича с выдавливанием по нормалям

ну типа да. там где разные нормали, вертексы в одной точке разные, хоть и с одинаковой позицией.
а в чём вопрос?
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Старый 07.05.2014, 21:58   #3
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Багофича с выдавливанием по нормалям

Сообщение от Mr_F_ Посмотреть сообщение
а в чём вопрос?
Можно ли это обойти? Или придется хорошенько поизвращаться?
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 07.05.2014, 22:02   #4
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Багофича с выдавливанием по нормалям

смотря чего ты хочешь добиться.
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Старый 07.05.2014, 22:08   #5
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Багофича с выдавливанием по нормалям

Что бы вершины всегда вели себя так, будто они подвержены сглаживанию. А то не получается шейдер как на картинке использовать на прямоугольниках и т.д.
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 07.05.2014, 23:07   #6
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Багофича с выдавливанием по нормалям

Что ты хочешь получить выдавливанием по нормали?
Конкретно на твоём примере и скейл сойдёт.

Можно хранить в вертексах дополнительные сглаженные нормали для выдавливания (в юнити тебе проще будет альтернативную модель сглаженную импортнуть).
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Старый 08.05.2014, 01:57   #7
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Багофича с выдавливанием по нормалям

Сообщение от Mr_F_ Посмотреть сообщение
Конкретно на твоём примере и скейл сойдёт.
В том то и проблема, что модели будут сложной формы.

Сообщение от Mr_F_ Посмотреть сообщение
Можно хранить в вертексах дополнительные сглаженные нормали для выдавливания (в юнити тебе проще будет альтернативную модель сглаженную импортнуть).
Я думал в самой модели тупо сделать копию меша, вывернуть и выдавить (с помощью макса, например). Эдакая двухслойная модель. Но это уже извращение.
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 08.05.2014, 02:22   #8
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Багофича с выдавливанием по нормалям

Как сказал Mr_F_ либо храни доп. информацию в каждой вершине с направлением для сглаживания (можно легко автогенирировать при загрузке модели, пробегаясь по всем вершинам и смешивая нормали для тех, что имеют общую позицию, и добовлять в вершинные буфера).

Либо если тебе нужна обводка, это лучше достигается пост обработкой, следственно посмотри в этом направлении тоже.
(Offline)
 
Ответить с цитированием
Старый 08.05.2014, 02:31   #9
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Багофича с выдавливанием по нормалям

Сообщение от moka Посмотреть сообщение
Как сказал Mr_F_ либо храни доп. информацию в каждой вершине с направлением для сглаживания (можно легко автогенирировать при загрузке модели, пробегаясь по всем вершинам и смешивая нормали для тех, что имеют общую позицию, и добовлять в вершинные буфера).

Либо если тебе нужна обводка, это лучше достигается пост обработкой, следственно посмотри в этом направлении тоже.
Постобработка ненавязчиво требует 1000$
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
moka (08.05.2014)
Старый 08.05.2014, 07:18   #10
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Багофича с выдавливанием по нормалям

Сообщение от moka Посмотреть сообщение
(можно легко автогенирировать при загрузке модели, пробегаясь по всем вершинам и смешивая нормали для тех, что имеют общую позицию, и добовлять в вершинные буфера).
К сожалению только отдельный меш, либо закодировать в массив colors например. Больше негде дополнительную инфу в меше хранить.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 08.05.2014, 12:16   #11
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Багофича с выдавливанием по нормалям

tangents, если бамп не используется
colors вроде как 8 бит на канал - маловато
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Старый 08.05.2014, 13:25   #12
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Багофича с выдавливанием по нормалям

Сообщение от Mr_F_ Посмотреть сообщение
tangents, если бамп не используется
colors вроде как 8 бит на канал - маловато
Угу, если не используется.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 09.05.2014, 00:27   #13
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Багофича с выдавливанием по нормалям

Сообщение от pax Посмотреть сообщение
К сожалению только отдельный меш, либо закодировать в массив colors например. Больше негде дополнительную инфу в меше хранить.
Это ограничения Unity? То есть модификация индексного буфера не возможна?

Сообщение от Mr_F_ Посмотреть сообщение
tangents, если бамп не используется
colors вроде как 8 бит на канал - маловато
Это опять в Unity такое ограничение на данные цвета?
(Offline)
 
Ответить с цитированием
Старый 09.05.2014, 01:46   #14
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Багофича с выдавливанием по нормалям

Сообщение от moka Посмотреть сообщение
Это ограничения Unity? То есть модификация индексного буфера не возможна?
Да, вероятно это сделано для совместимости со всеми поддерживаемыми платформами. Их уже вероятно больше десяти.

Сообщение от moka Посмотреть сообщение
Это опять в Unity такое ограничение на данные цвета?
Вообще массив цветов это 4*float, как оно в шейдер передается я не знаю (вероятнее всего флоатами).
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 09.05.2014, 01:49   #15
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Багофича с выдавливанием по нормалям

То есть модификация индексного буфера не возможна?
возможно. скопировать программно меш и сделать ему новый IB со склееными вертексами можно. "Больше негде дополнительную инфу в меше хранить." - значит что нельзя расширять существующую структуру вертекса, в юнити она захардкодена намертво.

Это опять в Unity такое ограничение на данные цвета?
на самом деле это лишь моё предположение, т.к. вертексколор чаще всего хранят в формате D3DDECLTYPE_D3DCOLOR (в DX, по крайней мере):
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
Учитывая, что в юнити довольно пожатая вертексная структура, и colors предназначен именно для цвета, то ставлю 3 рубля на то, что используются именно 1 байт на канал.
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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