|
3D-программирование Вопросы, касающиеся программирования 3D мира |
18.04.2007, 11:38
|
#1
|
Оператор ЭВМ
Регистрация: 17.04.2007
Сообщений: 31
Написано 0 полезных сообщений (для 0 пользователей)
|
Привязка к модели...
Решил делать МИНИ RPG
Есть проблемка!!!
К примеру, у меня есть моделька чела, который бьет мечем, которого в руке у него нет. И есть моделька меча! Как мне привязать этот меч к руке?
------------------------------------------------------------------------------------
P.S
У кого-нибудь есть plugin для 3D max 7 экспорт и импорт .md2?,
а то "MilkShape 3D" тупит!!!
ЗАРАНИЕ БЛАГОДАРИН!!!
|
(Offline)
|
|
18.04.2007, 15:19
|
#2
|
AnyKey`щик
Регистрация: 14.04.2007
Сообщений: 2
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Привязка к модели...
Если в 3D Max стукни комне в аську 193130752
|
(Offline)
|
|
18.04.2007, 15:45
|
#3
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Re: Привязка к модели...
Тебе поможет команда FindChild. Она находит часть из модели. После ты можешь назначить координатам твоего меча координаты твоей,например, руки(естественно руки модели твоего персонажа) .
player = LoadAnimMesh("person.b3d")
ruka = FindChild(player, "rukamesh")
Осноуной цикл:
positionentity Mech, entityX(ruka), entityY(ruka), entityZ(ruka)
Вот и все
Не забудь у модельки в редакторе назначить руке имя - rukamesh, при этом ты в точности должет уже в коде в команде findchild прописать такое же имя (то есть типа Rukamesh или там RUKAMESH не прокатит).
|
(Offline)
|
|
18.04.2007, 18:21
|
#4
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Re: Привязка к модели...
positionentity Mech, entityX(ruka), entityY(ruka), entityZ(ruka)
|
Хех а не проще так
player = LoadAnimMesh("person.b3d")
ruka = FindChild(player,"ruka")
mech = FindChild(player, "mech")
ParentEntity(mech,ruka)
ведь так меч будет строго привязан к модели чела и все
__________________
|
(Offline)
|
|
19.04.2007, 01:28
|
#5
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Привязка к модели...
а не проще привязаь меч (и все остальное оружие в редакторе (максе) так как надо), а потом найти и все сурыть кроме нужного?
|
(Offline)
|
|
19.04.2007, 09:40
|
#6
|
Знающий
Регистрация: 07.09.2005
Сообщений: 238
Написано 2 полезных сообщений (для 2 пользователей)
|
Re: Привязка к модели...
Я так делал как HolyDel сказал, самый нормальный способ! =)
|
(Offline)
|
|
19.04.2007, 11:20
|
#7
|
Оператор ЭВМ
Регистрация: 17.04.2007
Сообщений: 31
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Привязка к модели...
У меня моделька в формате .md2!!! функция "FindChild" вообще работает на .md2? А то ошибки лезут!!!
|
(Offline)
|
|
19.04.2007, 11:33
|
#8
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Привязка к модели...
функция "FindChild" вообще работает на .md2?
|
false
в таком случае вяжется командой entityparent player,saBLYA
|
(Offline)
|
|
19.04.2007, 11:33
|
#9
|
Оператор ЭВМ
Регистрация: 17.04.2007
Сообщений: 31
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Привязка к модели...
И еще одна маленькая проблемка!?
У меня в игре есть два типа
Type pl_hero
Field md - моделька анимации
Field colmd - моделька колизии
End Type
Type animal
Field md
Field colmd , caption$
End Type
EntityType(hero\colmd,type_player)
EntityType(chicken\colmd,type_animal)
Collisions (type_player, type_animal,2,2)
|
Когда у меня происходит столкновение:
If EntityCollided(hero\colmd, type_animal)
|
Как мне именно этому animal(type_animal) изменить имя (animal\caption = "LOL")?
|
(Offline)
|
|
19.04.2007, 15:06
|
#10
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Re: Привязка к модели...
Чтоб найти именно етот entity есть команда CollisionEntity - возвращает сущность в конкретном столкновении.Должна быть в диапозоне от 1 до CountCollisions(entity), то есть
n = 1 to CountCollisions(hero\colmd)
if EntityCollided(hero\colmd, type_animal)
k=collisionEntity(hero\colmd, n)
Nameentity k,"LOL"
endif
next
Вроде так. Код не проверял , так что может не пахать.
|
(Offline)
|
|
20.04.2007, 01:36
|
#11
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Привязка к модели...
чуть оптимизации. условие выносим за цикл, т.к. от итератора результат условия не зависит.
if EntityCollided(hero\colmd, type_animal)
n = 1 to CountCollisions(hero\colmd)
Nameentity collisionEntity(hero\colmd, n),"LOL"
next
endif
и переменную мона убрать (хм. читабельность пострадала правда)
|
(Offline)
|
|
30.04.2007, 04:42
|
#12
|
Оператор ЭВМ
Регистрация: 17.07.2006
Сообщений: 37
Написано 2 полезных сообщений (для 0 пользователей)
|
Re: Привязка к модели...
А вообще модельку с анимацией к модельке с анимацией тоже через "родителя" привязывают?Я, было дело, хотел написать код для модели игрока, составленной из основных частей тела, которые можно было бы по ходу игры свободно менять. К примеру человек, на которого можно навесить кирасу, наручи, поножи и т.д.Начал было соединять все по координатам через AddMesh, чтобы на столкновения проверялась только одна модель (меньше загрузки памяти и проца), но с анимацией началась такая хренатень твориться, что от оптимизации отказался Кстати, есть ли резон сделать модельку с одним только анимированным скелетом, где косточки подогнанны под группы моделей (проще говоря: скелетики - типам людей, скелетики для разных там красиво движущихся частей окружающего мира, скелетики - типам монстриков), а потом наклепать модельки под которые будет подходить этот скелет, но на вид отличаться (не анимированные модельки рук, туловища в кирасе, ног, головы со шлемом. Объединить все это AddMesh-ем) и анимировать составленную модель последовательностью анимации из модельки со скелетом.Вроде будет получаться существенная экономия места на жестком, занимаемое игрухой, кроме того, если составление моделей делать при экране загрузки и последовательно, то и проц и память по идее не должны сильно загружаться.Как вам такая идея. Если есть идеи лучше, пАЖАЛУЙСта поделитесь.
|
(Offline)
|
|
30.04.2007, 21:38
|
#13
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Привязка к модели...
ничо не понял, но идея судя по всему в корне ошибочная.
AddMesh изменяет поверхность модели (ее составные части - вертексы и треугольники), в результате уже ничего нельзя будет с етим сделать, допустим, если жулик снимет с героя кирасы, то простой hideentity непойдет, впрочем ничего другого тоже не пойдет,
поетому юзай entityParent (или ParentEntity)/
а на коллизи проверяй тока одну можель (ту к которой все цепляеш, кстати, можеш вообще все ето прицепить к пивоту, чтобы могли остаться одник кирасы, без гл. героя)).
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:39.
|