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=14311)

}{@KeR 27.02.2011 23:08

Ответ: Как взаимодействовать с миром?
 
Ну да кажись лучше создать уровень отдельно......двери отдельно с анимацией и это всё с компоновать

Alex_Noc 28.02.2011 00:18

Ответ: Как взаимодействовать с миром?
 
ПРОВЕРЬ КОЛИЗИИИ НА ТВОИХ ДВЕРЯХ ВО ВРЕМЯ ОТКРЫВАНИЯ И ЗАКАРЫВАНИЯ!!!!!

Program23 28.02.2011 17:20

Ответ: Как взаимодействовать с миром?
 
Лучше найди платные уроки с http://www.blitz-school.info/ ,по Blitz3d.Там все эти вопросы подробно описываются.

Drayfer 12.03.2011 21:35

Ответ: Как взаимодействовать с миром?
 
Вложений: 1
Цитата:

Сообщение от Program23 (Сообщение 180916)
Лучше найди платные уроки с http://www.blitz-school.info/ ,по Blitz3d.Там все эти вопросы подробно описываются.

Да уроки эти у меня есть. Но там открытие двери - на основе программного вращения объекта происходит, а не на основе анимации.

А вот как это сделать именно на основе анимации, так и не понял.

Вот например, если в максе делать... нужно использовать именно костную анимацию? т.е. привязывать саму дверь к кости или как?
Допустим я так делаю для ол=дной двери, остальные двери просто копирую... Но ведь при проигрывании анимации потом в игре - будет проигрываться анимация для всех дверей на уровне или как?

Так и не понял как это реализовать? может будет у кого-то время - покажете как это делается на конкретной сценке....
Вот например на этой во вложении (там стена в которой есть двери), может подстроете сцену так как нужно и напишите работающей код, например - подходишь к конкретной двери и она открывается.

Заранее огромное спасибо! т.к. сам я не могу понять как и что там делается с это анимацией. Сейчас проблема именно в этих дверях и хотелось бы открывание сделать именно на основе анимации, а не программного вращения двери....

maxturbo 12.03.2011 22:35

Ответ: Как взаимодействовать с миром?
 
Цитата:

Сообщение от Drayfer (Сообщение 182547)
Да уроки эти у меня есть. Но там открытие двери - на основе программного вращения объекта происходит, а не на основе анимации.

А вот как это сделать именно на основе анимации, так и не понял.

Вот например, если в максе делать... нужно использовать именно костную анимацию? т.е. привязывать саму дверь к кости или как?
Допустим я так делаю для ол=дной двери, остальные двери просто копирую... Но ведь при проигрывании анимации потом в игре - будет проигрываться анимация для всех дверей на уровне или как?

Так и не понял как это реализовать? может будет у кого-то время - покажете как это делается на конкретной сценке....
Вот например на этой во вложении (там стена в которой есть двери), может подстроете сцену так как нужно и напишите работающей код, например - подходишь к конкретной двери и она открывается.

Заранее огромное спасибо! т.к. сам я не могу понять как и что там делается с это анимацией. Сейчас проблема именно в этих дверях и хотелось бы открывание сделать именно на основе анимации, а не программного вращения двери....

В помощь тебе справка Blitz3D и функции такие как FindChild, LoadAnimMesh...
Вот тебе урок как надо экспортировать с 3D Max'a
А вот тебе Все хорошие уроки и примеры на Blitz3D
Заливал я их давно, но уроков там достаточно+примеры имеются...
Дерзай :)

maxturbo 12.03.2011 22:56

Ответ: Как взаимодействовать с миром?
 
Цитата:

Сообщение от Drayfer (Сообщение 182547)
Вот например на этой во вложении (там стена в которой есть двери), может подстроете сцену так как нужно и напишите работающей код, например - подходишь к конкретной двери и она открывается.

Чего там понимать то особо?? :)
Blitz3D работает можно сказать весь на условиях, подошел взорвался, подошел открылась. Больше фантазии надо иметь :)
С примером и с дверью, напишу как можно меньше и попытаюсь втолковать :)
Обойтись можно и без анимации если это двери....
Когда в 3D Max создаешь комнату, а по середине стены будет проем и дверь, то пивота двери смещаешь к краю двери. Блин как объяснить даже не знаю...Короче почитаешь про макс поймешь о чем я, если ты это сделал то получается когда ты в максе будешь ее вращать то видно будет уже что она открывается как дверь, далее експортируешь модель, получаем два дочерных объекта у модели это дверь пусть будет (door) и комната (komnata)
Далее загружаем это все в Blitz3D
И пишем
Код:

Graphics3D 640,480,32,2
SetBuffer BackBuffer()

camera=CreateCamera()
PositionEntity camera,0,0,0

model=LoadAnimMesh("model.b3d")
door_=FindChild (madel,"door")

While Not KeyDown(1)

;Дальше тут пишешь условия на то чтоб когда объект близко то открыть дверь
;Как ее открыть думаю догадаешься, просто ее надо будет поворачивать

UpdateWorld
RenderWorld
Flip

Wend
End

Времени нет, так бы накатал пример, да и Blitz3D уже не пользуюсь :)

Drayfer 13.03.2011 00:30

Ответ: Как взаимодействовать с миром?
 
народ, спасибо конечно за примеры, но как открывать дверь с помощью поворота ее вокруг пивота - это я знаю. Мне бы хотелось с помощью анимации это осуществить.
Я просто не пойму как проиграть анимацию именно одной конкретной двери на уровне. Ведь если я ночную проигрывать анимацию, то будут открываться все двери...
И насколько я понял, то анимацию нужно делать используя кости? так? а не просто поворот мешает по оси... потому как в последнем случае у меня ничего не получилось - пишет ошибку, что в сцене нет анимации.

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

Черный крыс 13.03.2011 01:25

Ответ: Как взаимодействовать с миром?
 
Ты хочешь чтобы твои двери открывались на основе анимации??? O_o это полный бред. Хотя конечно есть исключения - но они редки. Похоже вы вообще не понимаете игровую механику, да-да в 98% случаях двери вертятся\поднимаются\опускаются\раздвигаются програмно, и даже ролики на движке выполняются в большинстве случаев програмно (ракурсы камер, управление анимацией персов, звуки). А как вы хотели? другое дело что этим занимается не движок, а скрипт, отсюда и терминология "скриптовые сценки". Открой любую игру на базе Quake 3 (в этом двиге очень наглядная скриптовая система) и погляди на тамошние скрипты, ты удивишся, даже в Star trek : Elite Force 2 все сделано на скриптах. Вот так вот. =)

Hurrit 13.03.2011 03:04

Ответ: Как взаимодействовать с миром?
 
на, держи, может поможет тыкай. алсо, не воспринимай как саморекламу.

RegIon 13.03.2011 09:50

Ответ: Как взаимодействовать с миром?
 
Цитата:

народ, спасибо конечно за примеры, но как открывать дверь с помощью поворота ее вокруг пивота - это я знаю. Мне бы хотелось с помощью анимации это осуществить.
Я просто не пойму как проиграть анимацию именно одной конкретной двери на уровне. Ведь если я ночную проигрывать анимацию, то будут открываться все двери...
И насколько я понял, то анимацию нужно делать используя кости? так? а не просто поворот мешает по оси... потому как в последнем случае у меня ничего не получилось - пишет ошибку, что в сцене нет анимации.

почему я не хочу с помощью поворота кодом это ркализовать - потому что двери у меня открываются и наружу,и внутрь, а также петли как слева, так и справа могут стоять. или кто подскажет как в этом случае реализовать то,что мне нужно...
ну раз так,то:
в максе анимируем Дверь...
ищем её Блитцом
Animate Дверь,Скорость...

IGR 13.03.2011 12:56

Ответ: Как взаимодействовать с миром?
 
програмное открытие/закрытие двери реализовать намного проще, а ты пытаешся через )!(0пу зуб вырвать !!
Напиши одну функу в которую будешь подавать хендл меша двери, скорость поворота и т.д. И эта функа будет поварачивать нужную дверь !!

Alex_Noc 18.03.2011 16:06

Ответ: Как взаимодействовать с миром?
 
Цитата:

Сообщение от IGR (Сообщение 182615)
програмное открытие/закрытие двери реализовать намного проще, а ты пытаешся через )!(0пу зуб вырвать !!
Напиши одну функу в которую будешь подавать хендл меша двери, скорость поворота и т.д. И эта функа будет поварачивать нужную дверь !!

Ну тут спорный вопрос что проще реализовать . я реализовывал и через анимацию - в коде намного меньше строк чем программно , но программно гибче будет :rolleyes:

impersonalis 18.03.2011 16:10

Ответ: Как взаимодействовать с миром?
 
вот именно: зависит от конкретики

Drayfer 24.03.2011 20:35

Ответ: Как взаимодействовать с миром?
 
Появился еще один вопрос, относительно поведения персонажа...

В игре вид от первого лица. Создаю персонаж так и привязываю камеру:

Код:

Global player=CreateSphere()
PositionEntity player,0,80,0
EntityRadius player, 19,30
EntityType player, TypePlayer

camera=CreateCamera(player)
CameraRange camera,0.1,4000
PositionEntity camera,0,100,0

Управление клавиатурой и мышей, как обычно.
PositionEntity camera,0,100,0 - камеру поднял, чтоб сделать определенный рост персонажу. Но теперь, когда я двигаю мышей и смотрю например вниз или вверх - голова тилипается нереально, то приближаясь к полу прям лицм, то затылком.... Потому как вращается то сама сфера....

Как сделать рост персонажа правильно?

mr.DIMAS 24.03.2011 21:57

Ответ: Как взаимодействовать с миром?
 
по-моему нужно так:
TurnEntity player, 0, MouseXSpeed(), 0
TurnEntity camera, MouseYSpeed(), 0, 0


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

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