forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Привязка к модели... (http://forum.boolean.name/showthread.php?t=3179)

butcher 18.04.2007 11:38

Привязка к модели...
 
Решил делать МИНИ RPG
Есть проблемка!!!

К примеру, у меня есть моделька чела, который бьет мечем, которого в руке у него нет. И есть моделька меча! Как мне привязать этот меч к руке?

------------------------------------------------------------------------------------
P.S
У кого-нибудь есть plugin для 3D max 7 экспорт и импорт .md2?,
а то "MilkShape 3D" тупит!!!
ЗАРАНИЕ БЛАГОДАРИН!!!

Kail 18.04.2007 15:19

Re: Привязка к модели...
 
Если в 3D Max стукни комне в аську 193130752

H@NON 18.04.2007 15:45

Re: Привязка к модели...
 
Тебе поможет команда FindChild. Она находит часть из модели. После ты можешь назначить координатам твоего меча координаты твоей,например, руки(естественно руки модели твоего персонажа) .
player = LoadAnimMesh("person.b3d")
ruka = FindChild(player, "rukamesh")
Осноуной цикл:
positionentity Mech, entityX(ruka), entityY(ruka), entityZ(ruka)
Вот и все
Не забудь у модельки в редакторе назначить руке имя - rukamesh, при этом ты в точности должет уже в коде в команде findchild прописать такое же имя (то есть типа Rukamesh или там RUKAMESH не прокатит).

mr.DIMAS 18.04.2007 18:21

Re: Привязка к модели...
 
Цитата:

positionentity Mech, entityX(ruka), entityY(ruka), entityZ(ruka)
Хех а не проще так
player = LoadAnimMesh("person.b3d")
ruka = FindChild(player,"ruka")
mech = FindChild(player, "mech")
ParentEntity(mech,ruka)
ведь так меч будет строго привязан к модели чела и все

HolyDel 19.04.2007 01:28

Re: Привязка к модели...
 
а не проще привязаь меч (и все остальное оружие в редакторе (максе) так как надо), а потом найти и все сурыть кроме нужного?

axel186 19.04.2007 09:40

Re: Привязка к модели...
 
Я так делал как HolyDel сказал, самый нормальный способ! =)

butcher 19.04.2007 11:20

Re: Привязка к модели...
 
У меня моделька в формате .md2!!! функция "FindChild" вообще работает на .md2? А то ошибки лезут!!!

HolyDel 19.04.2007 11:33

Re: Привязка к модели...
 
Цитата:

функция "FindChild" вообще работает на .md2?
false
в таком случае вяжется командой entityparent player,saBLYA

butcher 19.04.2007 11:33

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")?


H@NON 19.04.2007 15:06

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
Вроде так. Код не проверял , так что может не пахать.

HolyDel 20.04.2007 01:36

Re: Привязка к модели...
 
чуть оптимизации. условие выносим за цикл, т.к. от итератора результат условия не зависит.
if EntityCollided(hero\colmd, type_animal)
n = 1 to CountCollisions(hero\colmd)
Nameentity collisionEntity(hero\colmd, n),"LOL"
next
endif
и переменную мона убрать (хм. читабельность пострадала правда)

PuSHiSTiCK 30.04.2007 04:42

Re: Привязка к модели...
 
А вообще модельку с анимацией к модельке с анимацией тоже через "родителя" привязывают?Я, было дело, хотел написать код для модели игрока, составленной из основных частей тела, которые можно было бы по ходу игры свободно менять. К примеру человек, на которого можно навесить кирасу, наручи, поножи и т.д.Начал было соединять все по координатам через AddMesh, чтобы на столкновения проверялась только одна модель (меньше загрузки памяти и проца), но с анимацией началась такая хренатень твориться, что от оптимизации отказался :)Кстати, есть ли резон сделать модельку с одним только анимированным скелетом, где косточки подогнанны под группы моделей (проще говоря: скелетики - типам людей, скелетики для разных там красиво движущихся частей окружающего мира, скелетики - типам монстриков), а потом наклепать модельки под которые будет подходить этот скелет, но на вид отличаться (не анимированные модельки рук, туловища в кирасе, ног, головы со шлемом. Объединить все это AddMesh-ем) и анимировать составленную модель последовательностью анимации из модельки со скелетом.Вроде будет получаться существенная экономия места на жестком, занимаемое игрухой, кроме того, если составление моделей делать при экране загрузки и последовательно, то и проц и память по идее не должны сильно загружаться.Как вам такая идея. Если есть идеи лучше, пАЖАЛУЙСта поделитесь. :)

HolyDel 30.04.2007 21:38

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

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


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot