|
3D-программирование Вопросы, касающиеся программирования 3D мира |
11.06.2010, 14:41
|
#1
|
AnyKey`щик
Регистрация: 21.01.2010
Сообщений: 17
Написано 0 полезных сообщений (для 0 пользователей)
|
Обращеие к частям 3D модели
В процессе создания пробной маленькой игрушки столкнулся со следующей задачей.
Моделирую я в 3D Max'е, для вставки моделей использую формат *.3ds
Модель состоит из двух частей с разными именами, это - сам игрок и собственно его оружие. Возможно ли как-нибудь обращаться непосредственно в Блице к этим частям одной модели? Например я хочу наложить одну текстуру на игрока, а вторую на оружие, или передвинуть их в разные места, но и игрок и оружие находятся в одном файле модели. Как это сделать?
|
(Offline)
|
|
11.06.2010, 14:46
|
#2
|
Быдлокодер
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,019
Написано 2,312 полезных сообщений (для 5,349 пользователей)
|
Ответ: Обращеие к частям 3D модели
Сообщение от Mustang_GT
В процессе создания пробной маленькой игрушки столкнулся со следующей задачей.
Моделирую я в 3D Max'е, для вставки моделей использую формат *.3ds
Модель состоит из двух частей с разными именами, это - сам игрок и собственно его оружие. Возможно ли как-нибудь обращаться непосредственно в Блице к этим частям одной модели? Например я хочу наложить одну текстуру на игрока, а вторую на оружие, или передвинуть их в разные места, но и игрок и оружие находятся в одном файле модели. Как это сделать?
|
Да можно, а как хз...
|
(Offline)
|
|
11.06.2010, 15:07
|
#3
|
Дэвелопер
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений (для 1,962 пользователей)
|
Ответ: Обращеие к частям 3D модели
Сообщение от help
FindChild ( entity,child_name$ )
Parameters:
entity - entity handle
child_name$ - child name to find within entity
Description:
Returns the first child of the specified entity with name matching child_name$.
|
body=FindChild (player,body)
gun=FindChild (player,gun)
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
11.06.2010, 15:10
|
#4
|
AnyKey`щик
Регистрация: 21.01.2010
Сообщений: 17
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Обращеие к частям 3D модели
Спасибо, похоже это то, что нужно) Пойду попробую
|
(Offline)
|
|
11.06.2010, 18:30
|
#5
|
Мастер
Регистрация: 27.01.2008
Адрес: Россия, СКФО, ЧР, Грозный
Сообщений: 1,144
Написано 578 полезных сообщений (для 2,207 пользователей)
|
Ответ: Обращеие к частям 3D модели
Запомни, 3ds формат не поддерживает имена длиннее 8 символов, и когда будешь искать имена, обязательно (ОБЯЗАТЕЛЬНО, БЛЖДАД!) учитывай регистр и бери в скобки!
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
11.06.2010, 18:58
|
#6
|
Разработчик
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений (для 289 пользователей)
|
Ответ: Обращеие к частям 3D модели
экспортируй как аним модель из макса
|
(Offline)
|
|
11.06.2010, 19:46
|
#7
|
Разработчик
Регистрация: 24.02.2010
Адрес: Новороссийск
Сообщений: 485
Написано 112 полезных сообщений (для 329 пользователей)
|
Ответ: Обращеие к частям 3D модели
оО неужели еще кто-то юзает 3ds?
__________________
299 792 458
|
(Offline)
|
|
11.06.2010, 19:47
|
#8
|
AnyKey`щик
Регистрация: 21.01.2010
Сообщений: 17
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Обращеие к частям 3D модели
А что тогда надо? И чем 3ds не удобен?
|
(Offline)
|
|
11.06.2010, 19:56
|
#9
|
Мастер
Регистрация: 27.01.2008
Адрес: Россия, СКФО, ЧР, Грозный
Сообщений: 1,144
Написано 578 полезных сообщений (для 2,207 пользователей)
|
Ответ: Обращеие к частям 3D модели
Вообще, самый верный вариант для блица - это его же родной формат .b3d Держит всё что необходимо. А .3ds и .x это полный отстой
|
(Offline)
|
|
11.06.2010, 19:59
|
#10
|
AnyKey`щик
Регистрация: 21.01.2010
Сообщений: 17
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Обращеие к частям 3D модели
Ну... до *.b3d пока ещё не дошёл) А родной 3D Max всегда под рукой и в нём я по крайней мере хоть как-то шарю)
|
(Offline)
|
|
11.06.2010, 20:18
|
#11
|
AnyKey`щик
Регистрация: 21.01.2010
Сообщений: 17
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Обращеие к частям 3D модели
Ещё один вопрос, правда совсем не по теме.
Как организовать анимационное движение у модели?
Вот пример кода:
Graphics3D 0,0,0,1
SetBuffer BackBuffer()
cam=CreateCamera()
light=CreateLight()
PositionEntity cam,20,85,-20
Igrok = LoadAnimMesh("XXX.3ds") <- Сдесь загрузка анимационной модели игрока в спокойствии(оглядывается, дишит и т.п.)
PointEntity cam,Igrok
EntityParent cam,Igrok
//В этом месте идёт загрузка прочих моделей без анимации, к примеру карта
Animate Igrok
Repeat
If KeyDown(17) MoveEntity Igrok,0,0,1
If KeyDown(31) MoveEntity Igrok,0,0,-1
UpdateWorld()
RenderWorld()
Flip
Until KeyHit(1)
End
Интересует момент
If KeyDown(17) MoveEntity Igrok,0,0,1
If KeyDown(31) MoveEntity Igrok,0,0,-1
Куда-то сюда каким-то образом надо вставить фрагмент, чтобы при нажатии этих кнопок игрок двигался(что он прекрасно делает) и загружал другую анимацию, как ходит, а при отпускании всё возвращалось обратно. Задача не сложная, но я совсем новичёк и как только не пытался ничего не выходит. Иногда что-то выходит, но совсем глючное и не правильное)
P.S.: Сори за то что не там написано, прост решил не создавать тему ради этого)
|
(Offline)
|
|
11.06.2010, 23:29
|
#12
|
Дэвелопер
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений (для 1,962 пользователей)
|
Ответ: Обращеие к частям 3D модели
Сообщение от Mustang_GT
Ещё один вопрос, правда совсем не по теме.
Как организовать анимационное движение у модели?
Вот пример кода:
Graphics3D 0,0,0,1
SetBuffer BackBuffer()
cam=CreateCamera()
light=CreateLight()
PositionEntity cam,20,85,-20
Igrok = LoadAnimMesh("XXX.3ds") <- Сдесь загрузка анимационной модели игрока в спокойствии(оглядывается, дишит и т.п.)
PointEntity cam,Igrok
EntityParent cam,Igrok
//В этом месте идёт загрузка прочих моделей без анимации, к примеру карта
Animate Igrok
Repeat
If KeyDown(17) MoveEntity Igrok,0,0,1
If KeyDown(31) MoveEntity Igrok,0,0,-1
UpdateWorld()
RenderWorld()
Flip
Until KeyHit(1)
End
Интересует момент
If KeyDown(17) MoveEntity Igrok,0,0,1
If KeyDown(31) MoveEntity Igrok,0,0,-1
Куда-то сюда каким-то образом надо вставить фрагмент, чтобы при нажатии этих кнопок игрок двигался(что он прекрасно делает) и загружал другую анимацию, как ходит, а при отпускании всё возвращалось обратно. Задача не сложная, но я совсем новичёк и как только не пытался ничего не выходит. Иногда что-то выходит, но совсем глючное и не правильное)
P.S.: Сори за то что не там написано, прост решил не создавать тему ради этого)
|
Эх, поиск юзать надо и хелп курить!
..
model=LoadAnimMesh("model.b3d")
anim=LoadAnimSeq("walking.b3d")
..
Repeat
..
If KeyDown(17) And AnimSeq=0 Animate(model,1,1,walking)
|
(Offline)
|
|
23.06.2010, 23:24
|
#13
|
Бывалый
Регистрация: 26.04.2009
Адрес: Россия, Уфа
Сообщений: 680
Написано 182 полезных сообщений (для 406 пользователей)
|
Ответ: Обращеие к частям 3D модели
Лови довольно понятный пример:
Надеюсь это было полезно!
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:33.
|