![]() |
Как взаимодействовать с миром?
Сделал я карту в 3Ds max 9, через пипелайн экспортировал в блитз, загрузил.
Так как первый раз делаю игру, то много еще не знаю. Кто может объяснить - как взаимодействовать с миром? Интересуют конкретно такие вопросы: 1. Как сделать так, чтобы подходишь к двери и она открывалась? Эти двери нужно сразу в максе на карте размещать? Как к ним обратиться? 2. Как сделать задания - типа нуно дойти до какой-то точки, если дошел, то появляется следующее такое задание? Как эти точки обозначать на карте в максе и как к ним в блитце обращаться? Буду раз за подробные ответы! Хотелось, бы чтоб кто-то мне как нубу объяснил:) И еще желательно с примерами какими-то, или ссылками на конкретные уроки, если есть. Потому что на этом сейчас как раз заступорился.... Заранее огромное спасибо!;) |
Ответ: Как взаимодействовать с миром?
1.Да эти двери надо размещать в этом твоём мире и в максе делать для них анимацию.....Например:
PHP код:
2.Задания также через EntityDistance Создаёшь Pivot (CreatePivot) IF EntityDistance(player,pivot)<=100 then Здесь задания EndIF Задания можно делать через команду Select(Про команду почитать в Blitze если ввести и нажать(F1)) |
Ответ: Как взаимодействовать с миром?
Цитата:
А если у меня на уровне этих дверей много, штук 50. Это что создавать файлы .b3d с анимацией для каждой двери? Или как делать? Или как мне в программе обратиться именно к конкретной двери? чтоб только для нее убрать коллизию? Цитата:
Как это сделать? Если можно пример? |
Ответ: Как взаимодействовать с миром?
Цитата:
Цитата:
|
Ответ: Как взаимодействовать с миром?
1) Почитай про типы (type) - полезная штука. Создавай двери типами, в процессе загрузки уровня, а потом проверяй на расстояние каждую.
2) Я Point'ы тыкаю, но думаю разницы нет. Вот приблизительно так: Код:
Type door |
Ответ: Как взаимодействовать с миром?
херня все выше описанное - делаешь 1 дверь , делаешь текстовик с коордами . копируешь дверь и ставишь по точкам - прирост 300% производительности.
Анимацию двери лучше сделать в проге - по углам , пивот не забудь сместить к положению петель, на двери ставишь тип и пикмоде , если дистанция < 10 напрмиер то пикмоде на дверь включаем иначе убираем. если ткнули мышь - опредедлить тип в какой попали . если это дверь то если угол такой то тогда открыть или закрыть в зависимости от угла.(наращиваешь или делишь угол), таким образом ты опишешь сразу все двери в твоем мире а не каждую в отдельности - смотри в сторону систематизации |
Ответ: Как взаимодействовать с миром?
Цитата:
А что ты хочешь чтобы у тя было в примере????? |
Ответ: Как взаимодействовать с миром?
Alex_Noc, зато в моем примере можно наделать уникальных дверей с уникальными анимациями, не обязательно связанными с кручением. =)
Что касается пикмодов, я согласен. |
Ответ: Как взаимодействовать с миром?
FireOwl, то есть я так понимаю исходя из твоего примера:
Сначала создаем в максе и загружаем отдельно дверь: door=LoadAnimMesh("door.b3d") Потом создаем и загружаем уровень с уже установлеными дверями, такими же как door.b3d - так? или уровень должен быть без установленных дверей? levelmesh=LoadAnimMesh("level1.b3d") Потом в цикле проверяем уровень level1.b3d на чайлды по имени - door, если найден, то заменяем его на нашу анимированную дверь door.b3d. А дальше уже будем проигрывать анимацию при приближении игрока. Так или я что-то не правильно понял? Объясни, плиз, если не так.... P.S. чайлды - это имена объектов нашей сцены? |
Ответ: Как взаимодействовать с миром?
Загрузи уровень с анимациями дверей
levelmesh=LoadAnimMesh("level1.b3d") А потом в этом меше ищи чайлды и воиспроизводи анимацию когда тебе надо Так делать не неадо Цитата:
|
Ответ: Как взаимодействовать с миром?
Цитата:
И это получается для каждой сделанной двери на уровне нужно делать анимацию? или для какой-то одной? как это сделать - просто не в курсе 2. когда будет воспроизводиться анимация - будет открываться только одна дверь или все на уровне? |
Ответ: Как взаимодействовать с миром?
что тебе в моем случае мешает сделать уникальность ?))
|
Ответ: Как взаимодействовать с миром?
Цитата:
1.Смотри создаёшь уровень со своими дверями Делаешь анимацию для каждой двери Эту каждую дверь Именуешь 2.Потом через FindChild ищешь эти двери в своём уровне Например: PHP код:
|
Ответ: Как взаимодействовать с миром?
Вот тебе пример радара
PHP код:
|
Ответ: Как взаимодействовать с миром?
а коолизии будут работать? с таким методом дверей)))) ВРЯДЛЕ
|
Ответ: Как взаимодействовать с миром?
Ну да кажись лучше создать уровень отдельно......двери отдельно с анимацией и это всё с компоновать
|
Ответ: Как взаимодействовать с миром?
ПРОВЕРЬ КОЛИЗИИИ НА ТВОИХ ДВЕРЯХ ВО ВРЕМЯ ОТКРЫВАНИЯ И ЗАКАРЫВАНИЯ!!!!!
|
Ответ: Как взаимодействовать с миром?
Лучше найди платные уроки с http://www.blitz-school.info/ ,по Blitz3d.Там все эти вопросы подробно описываются.
|
Ответ: Как взаимодействовать с миром?
Вложений: 1
Цитата:
А вот как это сделать именно на основе анимации, так и не понял. Вот например, если в максе делать... нужно использовать именно костную анимацию? т.е. привязывать саму дверь к кости или как? Допустим я так делаю для ол=дной двери, остальные двери просто копирую... Но ведь при проигрывании анимации потом в игре - будет проигрываться анимация для всех дверей на уровне или как? Так и не понял как это реализовать? может будет у кого-то время - покажете как это делается на конкретной сценке.... Вот например на этой во вложении (там стена в которой есть двери), может подстроете сцену так как нужно и напишите работающей код, например - подходишь к конкретной двери и она открывается. Заранее огромное спасибо! т.к. сам я не могу понять как и что там делается с это анимацией. Сейчас проблема именно в этих дверях и хотелось бы открывание сделать именно на основе анимации, а не программного вращения двери.... |
Ответ: Как взаимодействовать с миром?
Цитата:
Вот тебе урок как надо экспортировать с 3D Max'a А вот тебе Все хорошие уроки и примеры на Blitz3D Заливал я их давно, но уроков там достаточно+примеры имеются... Дерзай :) |
Ответ: Как взаимодействовать с миром?
Цитата:
Blitz3D работает можно сказать весь на условиях, подошел взорвался, подошел открылась. Больше фантазии надо иметь :) С примером и с дверью, напишу как можно меньше и попытаюсь втолковать :) Обойтись можно и без анимации если это двери.... Когда в 3D Max создаешь комнату, а по середине стены будет проем и дверь, то пивота двери смещаешь к краю двери. Блин как объяснить даже не знаю...Короче почитаешь про макс поймешь о чем я, если ты это сделал то получается когда ты в максе будешь ее вращать то видно будет уже что она открывается как дверь, далее експортируешь модель, получаем два дочерных объекта у модели это дверь пусть будет (door) и комната (komnata) Далее загружаем это все в Blitz3D И пишем Код:
Graphics3D 640,480,32,2 |
Ответ: Как взаимодействовать с миром?
народ, спасибо конечно за примеры, но как открывать дверь с помощью поворота ее вокруг пивота - это я знаю. Мне бы хотелось с помощью анимации это осуществить.
Я просто не пойму как проиграть анимацию именно одной конкретной двери на уровне. Ведь если я ночную проигрывать анимацию, то будут открываться все двери... И насколько я понял, то анимацию нужно делать используя кости? так? а не просто поворот мешает по оси... потому как в последнем случае у меня ничего не получилось - пишет ошибку, что в сцене нет анимации. почему я не хочу с помощью поворота кодом это ркализовать - потому что двери у меня открываются и наружу,и внутрь, а также петли как слева, так и справа могут стоять. или кто подскажет как в этом случае реализовать то,что мне нужно... |
Ответ: Как взаимодействовать с миром?
Ты хочешь чтобы твои двери открывались на основе анимации??? O_o это полный бред. Хотя конечно есть исключения - но они редки. Похоже вы вообще не понимаете игровую механику, да-да в 98% случаях двери вертятся\поднимаются\опускаются\раздвигаются програмно, и даже ролики на движке выполняются в большинстве случаев програмно (ракурсы камер, управление анимацией персов, звуки). А как вы хотели? другое дело что этим занимается не движок, а скрипт, отсюда и терминология "скриптовые сценки". Открой любую игру на базе Quake 3 (в этом двиге очень наглядная скриптовая система) и погляди на тамошние скрипты, ты удивишся, даже в Star trek : Elite Force 2 все сделано на скриптах. Вот так вот. =)
|
Ответ: Как взаимодействовать с миром?
на, держи, может поможет тыкай. алсо, не воспринимай как саморекламу.
|
Ответ: Как взаимодействовать с миром?
Цитата:
в максе анимируем Дверь... ищем её Блитцом Animate Дверь,Скорость... |
Ответ: Как взаимодействовать с миром?
програмное открытие/закрытие двери реализовать намного проще, а ты пытаешся через )!(0пу зуб вырвать !!
Напиши одну функу в которую будешь подавать хендл меша двери, скорость поворота и т.д. И эта функа будет поварачивать нужную дверь !! |
Ответ: Как взаимодействовать с миром?
Цитата:
|
Ответ: Как взаимодействовать с миром?
вот именно: зависит от конкретики
|
Ответ: Как взаимодействовать с миром?
Появился еще один вопрос, относительно поведения персонажа...
В игре вид от первого лица. Создаю персонаж так и привязываю камеру: Код:
Global player=CreateSphere() PositionEntity camera,0,100,0 - камеру поднял, чтоб сделать определенный рост персонажу. Но теперь, когда я двигаю мышей и смотрю например вниз или вверх - голова тилипается нереально, то приближаясь к полу прям лицм, то затылком.... Потому как вращается то сама сфера.... Как сделать рост персонажа правильно? |
Ответ: Как взаимодействовать с миром?
по-моему нужно так:
TurnEntity player, 0, MouseXSpeed(), 0 TurnEntity camera, MouseYSpeed(), 0, 0 |
Ответ: Как взаимодействовать с миром?
mr.DIMAS, спасибо, помогло!
|
Часовой пояс GMT +4, время: 23:06. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot