Форум Игромании
 
Регистрация
Справка
Пользователи Календарь Сообщения за день

 
 
Опции темы
Старый 04.03.2008, 00:05   #1
Новичок
 
Аватар для ivg
 
Регистрация: 01.09.2007
Сообщений: 3
Репутация: 2 [+/-]
Blitz 3D

Мы создаем игру на движке блиц3д и необходимо реализовать отрывающиеся конечности у персонажей. И небыло бы проблем, если бы персонаж после расчленения оставался лежать на месте экзекуции. Но надо сделать таким образом, чтобы страдалец бегал с оторванной конечностью. И тут возникают проблемы - как эту конечность оторвать, если она привязана к скелету? Да и как это сделать на программном уровне, если тело персонажа представляет собой единую модель вместе с руками и ногами? Модели и анимацию делаем в 3d Max. Вот такая вот проблема. Интересно узнать, как это реализуется в профессиональных проектах. В качестве примера приведу еще не вышедшую "Legendary the box", где будет возможность отстреливать от монстров куски.
ivg вне форума  
Отправить сообщение для ivg с помощью ICQ
Старый 04.03.2008, 00:33   #2
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,372
Репутация скрыта [+/-]
ivg
Совет "не использовать Blitz" Вам, очевидно, не подходит? Тогда копайтесь в его функциях (или там за прошедшее время кто-то удосужился прикрутить объектно-ориентированное программирование?).
Вам нужно получить доступ непосредственно к буферу вершин модели. Дело в том, что любая модель - это просто куча вершин, связанных в полигоны. Данные по вершинам (позиция, текстурные координаты и т.п.) всецело определяют модель. Таким образом, добравшись до этих данных, теоретически можно попробовать их как-то обрабатывать, но
1) Это будет медленно (Lock памяти, модификации, разве что буфер удастся при отстреле быстро разделить на два...)
2) Вовсе не факт, что... ммм... "недодвижок" уровня Blitz3D это позволяет.

Возможно, лучше будет написать вертексный шейдер - опять же, если Blitz это позволяет и у Вас достаточно умения написать такой шейдер.

Но самое нормальное - это, конечно, не использовать единую модель. Ума не приложу, зачем с такими амбициями Вам это понадобилось. Ну сделайте отдельно модели рук ног и т.д., почему обязательно одна модель на целый персонаж?
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)

Последний раз редактировалось pokibor; 21.03.2008 в 09:16.
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ
Старый 04.03.2008, 18:35   #3
Новичок
 
Аватар для ivg
 
Регистрация: 01.09.2007
Сообщений: 3
Репутация: 2 [+/-]
Дело в том, что при использовании отдельных моделей конечностей, в местах их "стыковки" с телом будут ярковыраженные стыки, которые в нашем случае не получится скрыть одеждой. Конечно хочется сделать более качественные модели, но если не будет других вариантов, то придется руки и ноги делать отдельно.

Была мысль скрывать оторванные конечности с помощью карт прозрачности, но опять же, как это реализовать на программном уровне? Понятно, что рисовать много текстур, учитывающих каждый возможный вариант (оторвано, например, обе руки, или обе ноги, или одна рука и две ноги и т.п.) практически нереально.
ivg вне форума  
Отправить сообщение для ivg с помощью ICQ
Старый 04.03.2008, 18:45   #4
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,372
Репутация скрыта [+/-]
Цитата:
Сообщение от ivg Посмотреть сообщение
Дело в том, что при использовании отдельных моделей конечностей, в местах их "стыковки" с телом будут ярковыраженные стыки, которые в нашем случае не получится скрыть одеждой. Конечно хочется сделать более качественные модели, но если не будет других вариантов, то придется руки и ноги делать отдельно.
Что-то я не понял, почему. Что, не судьба вашу одну модель просто разбить на две-три-десять-сколько нужно?

Цитата:
Сообщение от ivg Посмотреть сообщение
Была мысль скрывать оторванные конечности с помощью карт прозрачности, но опять же, как это реализовать на программном уровне?
Есть такая хорошая штука - шейдерами называется. Как раз для таких фокусов они и предназначены.

Цитата:
Сообщение от ivg Посмотреть сообщение
Понятно, что рисовать много текстур, учитывающих каждый возможный вариант (оторвано, например, обе руки, или обе ноги, или одна рука и две ноги и т.п.) практически нереально.
Что-то я не понял, зачем рисовать много текстур. Можно одну и ту же комплексную назначать моделям руки, ноги и чего угодно, а текстурными координатами говорить, что именно брать из этой текстуры. Плюс есть мультитекстурирование. Либо, если уж так неймётся, напишите программу, по одной комплексной генеряющую эти ваши отдельные.
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ
Старый 05.03.2008, 08:45   #5
Новичок
 
Аватар для Chkalov_vs
 
Регистрация: 10.01.2007
Адрес: -42° 12’ E -43° 57’ N
Сообщений: 56
Репутация: 26 [+/-]
Если я не ошибаюсь в формате md2 (используется квейком и блиц его прекрасно понимает) анимация морфинговая. Может можно просто сделать несколько вариантов анимации модели (с руками и без), а уж потом использовать соответствующие "кадры" анимации?
Chkalov_vs вне форума  
Отправить сообщение для Chkalov_vs с помощью ICQ
Старый 05.03.2008, 20:00   #6
Новичок
 
Аватар для ivg
 
Регистрация: 01.09.2007
Сообщений: 3
Репутация: 2 [+/-]
Ты имеешь ввиду с помощью морфинга из целой руки делать оторванную?
ivg вне форума  
Отправить сообщение для ivg с помощью ICQ
Старый 06.03.2008, 08:07   #7
Новичок
 
Аватар для Chkalov_vs
 
Регистрация: 10.01.2007
Адрес: -42° 12’ E -43° 57’ N
Сообщений: 56
Репутация: 26 [+/-]
Цитата:
Сообщение от ivg Посмотреть сообщение
Ты имеешь ввиду с помощью морфинга из целой руки делать оторванную?
Именно. Но я могу и ошибаться. Судя по описанию в Игромании, формат md2 хранит в себе несколько вариантов одной модели и подгружает их по очереди. По идее должно получиться. Надо у профи спрашивать.
Chkalov_vs вне форума  
Отправить сообщение для Chkalov_vs с помощью ICQ
Старый 06.03.2008, 08:55   #8
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,372
Репутация скрыта [+/-]
Chkalov_vs
Судя по моему опыту работы с md2, он просто хранит в себе анимации и всё. При этом я ещё ни в одной модели не видел, например, исчезновения одной из вершин в каких-то кадрах, поэтому не уверен, что формат поддерживает то, что Вы имеете в виду.
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ
Старый 06.03.2008, 18:48   #9
Новичок
 
Аватар для ivg
 
Регистрация: 01.09.2007
Сообщений: 3
Репутация: 2 [+/-]
Я не знаю на счет md2, но модификатор morfer в максе работает, только если колличество вершин неизменно. Поэтому я имел ввиду придать руке форму оторванной, не удаляя вершины, а смещая их соответствующим образом (например все вершины в одну точку). Я в нашем проекте занимаюсь моделлингом и анимацией, а в блице не шарю, но когда я предложил такой вариант нашим программистам, мне сказали, что блиц не поддерживает морфер, но при его использовании он присваивает вершинам кости и работает с ними. Только в таком случае, колличество вершин ограничено (около 250-ти). Поэтому такой вариант тоже не подходит.
Цитата:
Сообщение от pokibor Посмотреть сообщение
Что-то я не понял, почему. Что, не судьба вашу одну модель просто разбить на две-три-десять-сколько нужно?
Что-бы сгладить переходы между полигонами, к модели применяется модификатор Smooth, но если разбить модель на несколько частей, то переходы между этими частями уже не сглаживаются, поэтому будут заметны стыки.
ivg вне форума  
Отправить сообщение для ivg с помощью ICQ
Старый 06.03.2008, 18:57   #10
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,372
Репутация скрыта [+/-]
Цитата:
Сообщение от ivg Посмотреть сообщение
Что-бы сгладить переходы между полигонами, к модели применяется модификатор Smooth
Программно??? В процессе игры???
Ну тогда шейдер можно чуток переписать. Или просто с нормалями поиграться.
Цитата:
Сообщение от ivg Посмотреть сообщение
, но если разбить модель на несколько частей, то переходы между этими частями уже не сглаживаются, поэтому будут заметны стыки.
А сначала сгладить как надо (если имеется в виду 3dmax), а потом отделить нужные вершины в отдельный объект - не катит?
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ
Старый 06.03.2008, 19:02   #11
Новичок
 
Аватар для ivg
 
Регистрация: 01.09.2007
Сообщений: 3
Репутация: 2 [+/-]
Цитата:
Сообщение от pokibor Посмотреть сообщение
Программно??? В процессе игры???
Нет, в самом максе.
Цитата:
Сообщение от pokibor Посмотреть сообщение
А сначала сгладить как надо (если имеется в виду 3dmax), а потом отделить нужные вершины в отдельный объект - не катит?
Smooth сглаживает переходы между полигонами единой модели, поэтому даже если после сглаживания отделяем часть модели в отдельный объект, сглаживание на объекте сохраняется, а в месте его стыковки с основной моделью пропадает.
ivg вне форума  
Отправить сообщение для ivg с помощью ICQ
Старый 06.03.2008, 19:05   #12
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,372
Репутация скрыта [+/-]
Цитата:
Сообщение от ivg Посмотреть сообщение
Smooth сглаживает переходы между полигонами единой модели, поэтому даже если после сглаживания отделяем часть модели в отдельный объект, сглаживание на объекте сохраняется, а в месте его стыковки с основной моделью пропадает.
Продублируйте ряд перекрывающихся полигонов между конечностью и туловищем, и сделайте один чуть-чуть под другим.
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ
Старый 06.03.2008, 20:48   #13
Новичок
 
Аватар для Chkalov_vs
 
Регистрация: 10.01.2007
Адрес: -42° 12’ E -43° 57’ N
Сообщений: 56
Репутация: 26 [+/-]
Цитата:
Сообщение от ivg Посмотреть сообщение
Smooth сглаживает переходы между полигонами единой модели, поэтому даже если после сглаживания отделяем часть модели в отдельный объект, сглаживание на объекте сохраняется, а в месте его стыковки с основной моделью пропадает.
Проделал следующую операцию: применил к модели Smooth, конвертировал в EditableMesh, детачил часть модели. Стык практически ен виден.
А не вариант после попадания в руку заменить модель на другую? Это уже к программистам вопрос.

П.С. Нельзя ли сменить назвение темы, например, "вопросы по блицу"?
Да, переименовано в "Blitz 3D", чтобы больше про Блиц тем не плодили.

Последний раз редактировалось pokibor; 06.03.2008 в 22:00.
Chkalov_vs вне форума  
Отправить сообщение для Chkalov_vs с помощью ICQ
Старый 06.03.2008, 22:43   #14
Новичок
 
Аватар для ivg
 
Регистрация: 01.09.2007
Сообщений: 3
Репутация: 2 [+/-]
Цитата:
Сообщение от Chkalov_vs Посмотреть сообщение
Проделал следующую операцию: применил к модели Smooth, конвертировал в EditableMesh, детачил часть модели. Стык практически ен виден.
Проделывал тоже самое, результат не понравился. Такой вариант на тот случай если не получится с целой моделью. Позже попробую как советует pokibor, т.е. сделать полигоны не встык, а один под другим.
Цитата:
Сообщение от Chkalov_vs Посмотреть сообщение
А не вариант после попадания в руку заменить модель на другую? Это уже к программистам вопрос.
Заменить можно, но не создавать же много моделей под каждый возможный случай.
ivg вне форума  
Отправить сообщение для ivg с помощью ICQ
Старый 14.03.2008, 08:46   #15
Новичок
 
Аватар для Chkalov_vs
 
Регистрация: 10.01.2007
Адрес: -42° 12’ E -43° 57’ N
Сообщений: 56
Репутация: 26 [+/-]
Экспортирую модель из макса в б3д с помощью B3dPipeline, нормал бамп не отображается. Каким образом можно его прикрутить?
Chkalov_vs вне форума  
Отправить сообщение для Chkalov_vs с помощью ICQ
Старый 20.03.2008, 21:35   #16
Игроман
 
Аватар для Feanor62rus


 
Регистрация: 31.07.2006
Адрес: loltraktorville
Сообщений: 2,780
Репутация: 786 [+/-]
На сколько я знаю Blitz 3D с нормал бампингом, паралаксом и прочими наворотами не работает.
__________________
Люди — идиоты. Они сделали кучу глупостей: придумали костюмы для собак, должность рекламного менеджера и штуки вроде айфона, не получив взамен ничего, кроме кислого послевкусия. А вот если бы мы развивали науку, осваивали Луну, Марс, Венеру… Кто знает, каким был бы мир тогда? Человечеству дали возможность бороздить космос, но оно хочет заниматься потреблением — пить пиво и смотреть сериалы.
Рей Бредбери.



Feanor62rus вне форума  
Отправить сообщение для Feanor62rus с помощью Skype™
Старый 21.03.2008, 04:01   #17
Новичок
 
Регистрация: 20.12.2007
Сообщений: 20
Репутация: 0 [+/-]
Цитата:
На сколько я знаю Blitz 3D с нормал бампингом, паралаксом и прочими наворотами не работает.
В таком случае уж лучше было бы промолчать
Давно уже в разработке двиг приносящий ДХ9 для блица.
Найти можно на blitz.pp.ru в разделе "Проекты".
__________________
http://ru.ziggyware.com

Последний раз редактировалось JohnK; 21.03.2008 в 18:42.
JohnK вне форума  
Старый 21.03.2008, 20:54   #18
Игроман
 
Аватар для Feanor62rus


 
Регистрация: 31.07.2006
Адрес: loltraktorville
Сообщений: 2,780
Репутация: 786 [+/-]
Официально он не входит в комплект блица, так что не надо на меня наезжать))
JohnK, простите, а что такое "двиг для блица"? Сам блиц то двигом можно назвать с очень большой натяжкой. Но "двиг для блица"... это переворачивает мое мировоззрение)))
Так он в разработке или уже работает?
__________________
Люди — идиоты. Они сделали кучу глупостей: придумали костюмы для собак, должность рекламного менеджера и штуки вроде айфона, не получив взамен ничего, кроме кислого послевкусия. А вот если бы мы развивали науку, осваивали Луну, Марс, Венеру… Кто знает, каким был бы мир тогда? Человечеству дали возможность бороздить космос, но оно хочет заниматься потреблением — пить пиво и смотреть сериалы.
Рей Бредбери.



Feanor62rus вне форума  
Отправить сообщение для Feanor62rus с помощью Skype™
Старый 23.03.2008, 16:19   #19
Новичок
 
Регистрация: 19.03.2008
Сообщений: 16
Репутация: -2 [+/-]
Exclamation AI в Blitz3D

Люди! Когда делаешь игру, часто доходит дело до ИИ! Но думаешь как подступиться! И как сделать правильнее! Если ставить вейпоинты как дорогу, то бот будет просто ходить по назначенному маршруту! Тоесть бот не сможет "ДУМАТЬ" ! Можно ли создать вейпоинты по всей плоскости кроме стен? И чтобы бот сам выбирал куда ему идти! )) Конечно это СЛОЖНО ! А есть другие способы?
Повторная тема. Пока перемещаю в тему по Блицу, раз уж в названии прямо указан Блиц. Если обсуждение перейдёт-таки к конкретным алгоритмам, возможно, будет организована новая тема либо я его перенесу в одну из "важных" тем.

Последний раз редактировалось pokibor; 23.03.2008 в 17:17.
Fire-studio вне форума  
Старый 23.03.2008, 17:08   #20
Новичок
 
Регистрация: 20.12.2007
Сообщений: 20
Репутация: 0 [+/-]
Цитата:
JohnK, простите, а что такое "двиг для блица"? Сам блиц то двигом можно назвать с очень большой натяжкой. Но "двиг для блица"... это переворачивает мое мировоззрение)))
Так он в разработке или уже работает?
Двиг для блица - это двиг для блица)
Да, мечта извращенца, но, увы, иначе никак. Он в разработке, но есть уже стабильные версии.
Цитата:
Сообщение от Fire-studio Посмотреть сообщение
Люди! Когда делаешь игру, часто доходит дело до ИИ! Но думаешь как подступиться! И как сделать правильнее! Если ставить вейпоинты как дорогу, то бот будет просто ходить по назначенному маршруту! Тоесть бот не сможет "ДУМАТЬ" ! Можно ли создать вейпоинты по всей плоскости кроме стен? И чтобы бот сам выбирал куда ему идти! )) Конечно это СЛОЖНО ! А есть другие способы?
Сначала лучше бы жанр сказать)
Затем, уже решать.
Понятие "Легко" в создании ИИ отсутствует.
Цитата:
Можно ли создать вейпоинты по всей плоскости кроме стен?
Да, можно.
__________________
http://ru.ziggyware.com

Последний раз редактировалось pokibor; 23.03.2008 в 17:18.
JohnK вне форума  
 


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

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

Быстрый переход


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


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Rambler's Top100 Яндекс цитирования