не, ты не правильно понял :)... Та функция вернет объект.. Смотри, ты создал карту, назвал эту карту "test". Поставил на карту какой-то объект и назвал этот объект "cube_1" Теперь в скриптЭдиторе загружаешь эту карту
Code
scene = LoadScene("abstract::test.sbx")
теперь "вытаскиваем" наш объект из карты
Code
name = scene:GetKey("cube_1")
Далее можно писать код управления нашим объектом
В главном цикле:
Code
if KeyHit(KEY_W)==1 then MoveEntity (name,Vec3(0,0,1)) end
и тд..... надеюсь мысль понятна? кстати я свой сайт починил, может что полезного там найдешь Blender 3D, Godot Engine, LUA
Сообщение отредактировал ant0N - Среда, 18 Июля 2012, 17:18
да есть, ну вот например смотри: я собрал там карту и в ней есть например некая капсула, которой я хотел бы управлять в самой игре. загрузил я карту, и как мне этой капсулой управлять, при нажатии каких то клавиш? или нужно это писать в свойствах самой капсулы еще в редакторе карт?
это делается так: поставил на карту какой-нибудь объект запомнил его имя в редакторе (например cube_1) и в коде пишешь
Code
cube = scene:GetKey("cube_1")
и теперь можешь им управлять PS. scene это переменная, которую ты присвоил загрузке карты
Code
scene = LoadMap("abstract::map.sbx")
Blender 3D, Godot Engine, LUA
Сообщение отредактировал ant0N - Понедельник, 16 Июля 2012, 10:25
PointClass - стандартное ключевое слово редактора Cartography Shop и мы лишь указываем имя класса - Monster [50,255,50] - это цвета создаваемого объекта в формате RGB (в нашем случае - зеленый) [32,32] - размеры объекта (в нашем случае это кубик 32х32) name - имя монстра (или его тип), которое мы можем анализировать в игре. остальные параметры символизирует его статус и живой он или нет. Безусловно это слишком мало характеристик, которыми можно описать монстра в современной игре, поэтому Вы можете добавить другие, создающие полную картину для начальной инициализации монстра. Если вы находитесь в редакторе, то выйдите из него и снова войдите для вступления изменений в силу. Теперь в меню Objects появилось подменю user_obj, где находится созданный вам класс Monster. Если поместите его на карту, то он будет отображаться у вас в виде зеленого квадратика на проекциях и в виде зеленого куба на трехмерном виде:
Свойств объекта будут доступны при нажатии в редакторе клавиши "P" при выделенном объекте:
Само собой разумеется, что мы можем добавить другие свойства, какие нам необходимы. Теперь давайте посмотрим, как это работает в при загрузки карты в программу на Blitz3D. Добавьте пол к нашему уровню, чтоб кроме пользовательского объекта Monster на уровне было хоть что-то еще. Сохраните карту под именем addobj.csm. Воспользуйтесь шаблоном load_csm.bb и добавьте в него функции загрузки уровня, управления камерой (вобщем, все то что мы уже не раз проделывали для демонстрации загрузки и навигации по уровню .CSM) Теперь модифицируем секцию Point Entities в коде загрузки карты, следующим образом:
;Point Entities entitycount=ReadInt(f) DebugLog entitycount+" entities" For n=1 To entitycount visgroup=ReadInt(f); used to be flags, but wasn't really used group=ReadInt(f) properties$=readstringn(f) x#=ReadFloat(f) y#=ReadFloat(f) z#=ReadFloat(f) entity=CreatePivot(map) NameEntity entity,properties PositionEntity entity,x,y,z
Как вы уже догадались, все добавленные пользователем объекты попадают в раздел Point Entities где их можно анализировать и предпринимать определенные действия. В данном случае мы проанализировали свойство name объекта и когда программа нашла соответствие на заданное в редакторе имя (в нашем случае Toad) создаем обычный объект сфера, для индикации местоположения монстра. Безусловно в игре у вас будет гораздо большее количество объектов. Поэтому изначально нужно хорошо продумать их типизацию, все начальные свойства и параметры. Однако загрузка их и анализ в программу будет универсален. На месте сферы, безусловно мог быть добавлен любой объект и модель монстра в том числе вот почитай
Добавлено (15.07.2012, 11:09) --------------------------------------------- а для лидверкса нет смысла писать, у него же есть свой редактор
по ключам, или(ну не знаю как это назвать, по параметрам которые я задаю им в самом 3d редакторе
ты спросил - я ответил
Добавлено (15.07.2012, 10:56) --------------------------------------------- я знаю что ты хочешь чтобы я написал код для управления объектами, но я блиц3д уже больше полу года не открывал, и никогда больше не открою Blender 3D, Godot Engine, LUA
Сообщение отредактировал ant0N - Воскресенье, 15 Июля 2012, 10:56
собственно вопрос вот в чем, допустим я создал карту из десяти кубов, и загрузил её в свой проект( не важно куда, хоть в blitz3d, хоть в blitzmax(много существует framework'ов)) как мне обратиться например к 7 кубу из карты? по ключам, или(ну не знаю как это назвать, по параметрам которые я задаю им в самом 3d редакторе) для того чтоб можно было им управлять.
да, ты прав, это делается по ключам... если ты работаешь в Cartography Shop или 3D World Studio, то там это специально предусмотренно Blender 3D, Godot Engine, LUA
>>ну и хотелось бы видеть более развернутый урок, например создание карты в редакторе, загрузка её , и взаимодействие с отдельными объектами на этой карте, (это почти тоже самое что мне нужно сейчас для b3d))))
Это все есть на моем сайте... Он сейчас не работает, но я пытаюсь это исправить Blender 3D, Godot Engine, LUA
ради интереса зашел в эту тему, на сто процентов был уверен что здесь будут предлагать С++ и С#. Первый потому что он "супер пупер мега крутой", а второй потому что юнити... %)
Если из этих двух, то питон Blender 3D, Godot Engine, LUA
почему именно это движок? Знаю одного человека который пытался создать сообщество этого движка, но никто не поддержал..
Добавлено (04.07.2012, 17:49) --------------------------------------------- почему именно это движок? Знаю одного человека который пытался создать сообщество этого движка, но никто не поддержал..