Форумы на Наша-Life
Home user CP  
Календарь событий Найти других пользователей Часто задаваемые Вопросы Поиск  
Автор
Тема
Создать Новую Тему    Ответить
FishMan
(Real Project Leader)

Зарегистрирован: Jul 2003
Проживает: /
Написал: 9467 сообщений

Оценка: 143 Votes 143 чел.

Старожил Developer 
Сообщение #828075
Кто-нить понял о чём он вообще говорит?
──╔═══╗| Displacement Sculpting
╔╗║╔══╝| --------------
╚╝║╚═╗─| Владимир Чернышёв (OBA Main Character) by Flagg
╔╗║╔═╝─| --------------
╚╝║╚══╗| Operation Broken Arrow: Seven Hour War
──╚═══╝| --------------


The "Earth" without "art" is just "eh"
Old Post 05-03-2009 04:06
FishMan отсутствует Посмотреть данные 'FishMan' Отправить Приватное Сообщение для 'FishMan' Найти другие сообщения 'FishMan' Добавить FishMan в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Flagg
(Senior Member)

Зарегистрирован: Jul 2007
Проживает: Belarus/Borisov
Написал: 777 сообщений

Оценка: 39 Votes 39 чел.

Developer Старожил 
Сообщение #828115
Он? О траве конечно, трава у него - что надо.
Old Post 05-03-2009 07:24
Flagg отсутствует Посмотреть данные 'Flagg' Отправить Приватное Сообщение для 'Flagg' Найти другие сообщения 'Flagg' Добавить Flagg в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
FishMan
(Real Project Leader)

Зарегистрирован: Jul 2003
Проживает: /
Написал: 9467 сообщений

Оценка: 143 Votes 143 чел.

Старожил Developer 
Сообщение #828148
Забористая
──╔═══╗| Displacement Sculpting
╔╗║╔══╝| --------------
╚╝║╚═╗─| Владимир Чернышёв (OBA Main Character) by Flagg
╔╗║╔═╝─| --------------
╚╝║╚══╗| Operation Broken Arrow: Seven Hour War
──╚═══╝| --------------


The "Earth" without "art" is just "eh"
Old Post 05-03-2009 09:10
FishMan отсутствует Посмотреть данные 'FishMan' Отправить Приватное Сообщение для 'FishMan' Найти другие сообщения 'FishMan' Добавить FishMan в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
ROCK
(Gasschutzmaske)

Зарегистрирован: Aug 2003
Проживает: Россия/СПб
Написал: 2272 сообщений

Оценка: 37 Votes 37 чел.

Старожил 
Сообщение #828156
Сильно.
Значение не имеет значения
Old Post 05-03-2009 09:30
ROCK отсутствует Посмотреть данные 'ROCK' Отправить Приватное Сообщение для 'ROCK' Найти другие сообщения 'ROCK' Добавить ROCK в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Stone
(My Life is Real Project)

Зарегистрирован: Mar 2005
Проживает: Россия/Питер
Написал: 3475 сообщений

Оценка: 67 Votes 67 чел.

Старожил 
Сообщение #891136
Всем привет!

Хочу представить вашему вниманию тулзу под Макс собственной разработки, позволяющую подготовить модели деревьев для использования идеи, озвученной в теме.

Называется эта штука SmartTree Foliage Creation Utility, последний билд прикладываю к сообщению.

Основная идея - создаем полигоны-спрайты фиксированного размера, затем вершинный шейдер (логично что его нужно написать) ищет на заданном расстоянии соседние вершинки и ресайзит+поворачивает лицом к игроку все спрайты. Идея схлопнуть полигон в точку не прошла, поскольку компилятор studiomdl это дело благополучно режет.

Что мы имеем - вполне рабочую и на мой взгляд удобную тулзу с презентом в виде зашитых в нее багов. Писалась под 2009 Макс, под 2010 тоже должна работать. В принципе и под 2008 должна завестись, но полностью не могу быть уверен. Под более старые - не пойдет, поскольку используется ряд новых возможностей.

Чтобы понять, как с этой штуковиной работать, записал пачку видяшек (сначала даже сделал все красиво, с музыкой и титрами, однако пол-ночи работы пропали даром, не выдержав удара граблей кривого софта):

SmartTree: User interface
SmartTree: Basic settings
SmartTree: Surface Distribution
SmartTree: Volume Distribution
SmartTree: Manual sprites creation

Что еще навскидку хотелось бы сделать:
- На данный момент возникает дилема - с одной стороны хочется подобрать оптимальный размер для спрайтов, чтобы оценить внешний вид получаемого дерева, с другой - спрайты по задумке должны быть фиксированного размера. Думаю, стоит сделать инструмент, позволяющий сделать ресайз всех спрайтов перед экспортом. А уже в vmt будет задаваться итоговый размер, в который они будут ресайзиться.
- Для создания ЛОДов можно реализовать "прореживатель", удаляющий рандомно часть спрайтов (можно и вручную, но муторно..)
- Возможно в будущем сделаю даже превью с поворачиванием поликов, только пока что слабо себе представляю как это должно выглядеть с точки зрения взаимодействия с пользователем. Ведь в итоговой модели все спрайты должны быть ориентированы сторо с "севера на юг", образно выражаясь. А в таком режиме они будут вертеться туда-сюда. Плюс еще поди различи объекты, подлежащие такой обработке. В голове только мысль о кнопке-переключателе, по которой все объекты, в которых имя начинается с определенного штампа, будут обрабатываться так, что при повороте вьюпорта их полики будут поворачиваться тоже. В таком режиме можно будет даже поудалять и подвигать их, а при отключении все полики снова ориентируются, как магнитная стрелка..

Чего хочу от вас:
- Поюзать, потестить, поискать баги (очень желательно локализовать, т.е. определить при каких конкретно условиях происходит, иначе найти причину сложно..), обдумать что и в каком виде можно было бы добавить, чтобы получилась качественная тулза.

ПРЕДУПРЕЖДЕНИЕ:
Очень неприятный баг бывает при отмене операций, благо проявляющийся все реже и реже. Но если появится - то Макс "падает" замертво. Поэтому советую сохранить во-первых саму модель дерева перед началом "развешивания" листвы, а во-вторых какой-либо приятный для себя результат, чтобы не было разочарований. Часть таких багов я уже отловил, но изредка бывает, что вылезает, а разобраться почему времени не хватило.

К сожалению выдав на гора все это мне придется вас покинуть на некоторое время, но по возвращении надеюсь увидеть здесь много "пищи для ума"

P.S. При генерации идей исходим из соображений юзабельности, полезности и относябельности к теме создания конкретного дерева для использования данной конкретной технологии. Делать кухонный комбайн, генерирующий все подряд, не стоит - да и некогда по большому счету
Прикрепленный файл: smarttree_0.21.rar
Файл был скачан 12 раз(а).
Old Post 08-08-2009 09:40
Stone отсутствует Посмотреть данные 'Stone' Отправить Приватное Сообщение для 'Stone' Найти другие сообщения 'Stone' Добавить Stone в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
FishMan
(Real Project Leader)

Зарегистрирован: Jul 2003
Проживает: /
Написал: 9467 сообщений

Оценка: 143 Votes 143 чел.

Старожил Developer 
Сообщение #891176
Мдя видео пососедству просто блещет гениальностью авторов Оо
──╔═══╗| Displacement Sculpting
╔╗║╔══╝| --------------
╚╝║╚═╗─| Владимир Чернышёв (OBA Main Character) by Flagg
╔╗║╔═╝─| --------------
╚╝║╚══╗| Operation Broken Arrow: Seven Hour War
──╚═══╝| --------------


The "Earth" without "art" is just "eh"
Old Post 08-08-2009 12:37
FishMan отсутствует Посмотреть данные 'FishMan' Отправить Приватное Сообщение для 'FishMan' Найти другие сообщения 'FishMan' Добавить FishMan в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
 
KLIMaka
(Президент Мира - Броука!)

Зарегистрирован: Dec 2007
Проживает: Украина/Запорожье
Написал: 456 сообщений

Оценка: 28 Votes 28 чел.

Сообщение #891405
Не пилите сук... на котоорых сидите.
Old Post 09-08-2009 10:35
KLIMaka отсутствует Посмотреть данные 'KLIMaka' Отправить Приватное Сообщение для 'KLIMaka' Найти другие сообщения 'KLIMaka' Добавить KLIMaka в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Lex4art
(CG-бомж)

Зарегистрирован: Mar 2005
Проживает: /
Написал: 5363 сообщений

Оценка: 114 Votes 114 чел.

Большой респект! 
Сообщение #891864
Stone - выпилил таки идею . А можешь показать что получается (игровой скрин понажористей)?
H++ ["Neon" challenge] *
Derpville * Real Materials * Random stuff
Если я не ошибаюсь - значит я ничего не делаю.
Old Post 11-08-2009 02:45
Lex4art отсутствует Посмотреть данные 'Lex4art' Отправить Приватное Сообщение для 'Lex4art' Посетить домашнюю страничку Lex4art Найти другие сообщения 'Lex4art' Добавить Lex4art в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Тим
(IceDev)

Зарегистрирован: Dec 2006
Проживает: RUSSIA/Москва
Написал: 2835 сообщений

Оценка: 71 Votes 71 чел.

Developer Старожил 
Сообщение #891923
качаю, пока платно не стало

Тим добавил 11-08-2009 в 10:40:36:
А как я понял, в игре спрайты всегда будут лицом к игроку? П.с в 2008 максе работает на ура) П.сс оч полезный тул!
Ambient oclussion
EPIC helicopter crash!
Компиляция моделей
"Меня почти невозможно обидеть. Ложь меня не обижает, а правду я и сам знаю." (C) я
Old Post 11-08-2009 10:26
Тим отсутствует Посмотреть данные 'Тим' Отправить Приватное Сообщение для 'Тим' Найти другие сообщения 'Тим' Добавить Тим в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Freeeeeeeman
(надпись под Моим именем)

Зарегистрирован: Jun 2007
Проживает: Россия/Краснодар
Написал: 496 сообщений

Оценка: 34 Votes 34 чел.

Сообщение #892032
покажите плиз скриншотик)))
поставьте мне 5 или 4, 3, 2, а может и 1, если вы хотите.
ICQ - 364355209
Old Post 11-08-2009 18:08
Freeeeeeeman отсутствует Посмотреть данные 'Freeeeeeeman' Отправить Приватное Сообщение для 'Freeeeeeeman' Найти другие сообщения 'Freeeeeeeman' Добавить Freeeeeeeman в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
KLIMaka
(Президент Мира - Броука!)

Зарегистрирован: Dec 2007
Проживает: Украина/Запорожье
Написал: 456 сообщений

Оценка: 28 Votes 28 чел.

Сообщение #892035
>Основная идея - создаем полигоны-спрайты фиксированного размера, затем вершинный шейдер (логично что его нужно написать)

Обращаем внимание на то, что написано в скобках. Еще нет шейдера, так что ждем ))
Old Post 11-08-2009 18:13
KLIMaka отсутствует Посмотреть данные 'KLIMaka' Отправить Приватное Сообщение для 'KLIMaka' Найти другие сообщения 'KLIMaka' Добавить KLIMaka в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Freeeeeeeman
(надпись под Моим именем)

Зарегистрирован: Jun 2007
Проживает: Россия/Краснодар
Написал: 496 сообщений

Оценка: 34 Votes 34 чел.

Сообщение #892085
упустил)
поставьте мне 5 или 4, 3, 2, а может и 1, если вы хотите.
ICQ - 364355209
Old Post 11-08-2009 21:25
Freeeeeeeman отсутствует Посмотреть данные 'Freeeeeeeman' Отправить Приватное Сообщение для 'Freeeeeeeman' Найти другие сообщения 'Freeeeeeeman' Добавить Freeeeeeeman в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
manJak
(маппер-теоретик)

Зарегистрирован: Feb 2006
Проживает: Mother Russia/Moscow
Написал: 2953 сообщений

Оценка: 66 Votes 66 чел.

Developer Старожил 
Сообщение #903217
Ждите-ждите)) Возможно скоро займусь, хотя прочей модо-работы у меня - конь непаханый.

Stone, вижу за дело ты взялся основательно, молодца. =)
Потестить, правда возможности нету-сь, макс у меня далеко не 2009)
Но зато имеется мысоль (поздновато, знаю =\). Вешать на одно дерево листья с одинаковыми текстурами - не кошерно, сам понимаешь) Вешать листья с разными материалами - тоже не очень хорошо; хорошо когда листва одной модели рендерится одним батчем. Тем более, что сами деревья придётся пачковать (втыкать их по одному - дорогое удовольствие, как тебе известно), а значит на одной модели может оказаться много видов листвы. Так вот, текстуры листвы придётся объединять в гербар атласы, и назначать вершинам соответствующие текстурные координаты. Это, в свою очередь, означает, что для хранения смещения вершины от центра спрайта придётся использовать нормаль (я понятно излагаю? ).
Кстати, если записывать саму позицию центра спрайта в нормали его вершин, можно располагать вершины где угодно - это уже не будет играть никакой роли. Вот только я не уверен, что компоненты нормали не урежутся до [-1, 1] на каком-то из этапов.. Надо проверять.
Итого: Материал скорее всего потребуется один - атлас. А выбор нескольких материалов заменить заданием координат (не меньше 4-х пресетов, а в идеале - список с возможностью добавления/удаления): левый верхний угол и габариты. Кстати, при ручном размещении наверное пригодилось бы иметь возможность выбирать, каким пресетом "рисовать", а для автоматического - задание весов.
Old Post 14-09-2009 17:55
manJak отсутствует Посмотреть данные 'manJak' Отправить Приватное Сообщение для 'manJak' Найти другие сообщения 'manJak' Добавить manJak в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Stone
(My Life is Real Project)

Зарегистрирован: Mar 2005
Проживает: Россия/Питер
Написал: 3475 сообщений

Оценка: 67 Votes 67 чел.

Старожил 
Сообщение #903283
Епту мать, кто приехал наконец!!!! Рад видеть тебя! Где ж ты раньше был, умник

Более подробно можно обсудить в аське, но есть уже кой-какие соображения
а) Сейчас тулза в процессе модернизации, на данный момент есть рескейл в исходный размер спрайтов ( со смещением +/-1 для всех вершин ) и обратно в заданный, для превью в истином размере. Следующий шаг - режим просмотра, в котором полики имеют истиный размер и вращаются вслед за камерой, т.е. мы видим листву такой, какой она будет в игре.
б) Насчет сдвига в атласе и его задания в интерфейсе - нужно обдумать будет каким именно образом это удобнее всего будет представить. Довольно важная задача, как показывает практика, гора кнопочек - явно не лучшее решение
Но прежде чем к этому приступать предлагаю отладить технологию "на кошках" с текущим вариантом.
в) С нормалями в принципе особых претензий нет, в "нормализованном" режиме, для экспорта - в них будет сбрасываться координата центра спрайта. Для превью нормали станут снова человеческими...

Вот такие соображения на данный момент, рад что скоро смогу увидеть ожившие деревья )
Old Post 14-09-2009 21:14
Stone отсутствует Посмотреть данные 'Stone' Отправить Приватное Сообщение для 'Stone' Найти другие сообщения 'Stone' Добавить Stone в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Stone
(My Life is Real Project)

Зарегистрирован: Mar 2005
Проживает: Россия/Питер
Написал: 3475 сообщений

Оценка: 67 Votes 67 чел.

Старожил 
Сообщение #903346
Кстати сейчас потестил нормали и пришел к выводу, что идея хорошая, но реализовать можно только с извратом.
Дело в том, что вектор нормали всегда по длине равен 1. Т.е. какие координаты ему не задай - он автоматически нормализуется. Например:
setNormal $.mesh 1 [1,1,1]
getNormal $.mesh 1
[0.57735,0.57735,0.57735]
Посчитав длину вектора, который реально в нормаль записался - получаем ровно единицу.

До этого была мысль юзать не прямые координаты, а обратные величины, но при этом "поломаются" маленькие числа, да и вот эту проблему с нормализацией это тоже нисколько не решит.

Можно иметь нормализованный вектор и где-то еще хранить масштабный коэффициент.. Вопрос где :_) Ну и точность может пострадать, хотя не столь критично - в smd хранится инфа с точностью до 10^-6
Old Post 15-09-2009 09:57
Stone отсутствует Посмотреть данные 'Stone' Отправить Приватное Сообщение для 'Stone' Найти другие сообщения 'Stone' Добавить Stone в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Все время в GMT . Сейчас 09:47.
Создать Новую Тему    Ответить

Быстрый ответ
Ваше Имя:
Хотите Зарегистрироваться?
Ваш Пароль:
Забыли свой Пароль?
Вы можете оставлять свои комментарии анонимно, просто введя свои имя и оставив пустым поле пароля.
Ваш ответ:

[проверить размер]
[транслит в win] | [?]
[русская клавиатура]

Дополнительно: Подтверждение по E-Mail


Быстрый переход:
 
Оцените эту Тему:
 

Правила форума:
Создание Тем не разрешено
Создание Сообщений разрешено
Создавать Вложения не разрешено
Редактирование Сообщений не разрешено
Коды HTML запрещены
Коды форума разрешены
Смайлики разрешены
Коды [IMG] запрещены