| 2D платформер в BlenderGameEngine | 
|  | 
|  | 
| 
| BASS | Дата: Понедельник, 18 Июня 2012, 15:33 | Сообщение # 2 |  |   independent developer Сейчас нет на сайте | ЕМНИП, авторы на официальном сайте писали, что 2d графики в BGE нет, поэтому моделим плоскости и на их основе сооружаем платформер-как-бы-псевдо-2D. 
 Добавлено (18.06.2012, 15:28)
 ---------------------------------------------
 вот почитайте - основы движка в версии 2.6
 Добавлено (18.06.2012, 15:33)---------------------------------------------
 и ещё здесь, вниз полистайте до раздела Game Engine - English, но лучше, чем ничего.
 
 Будь подобен лезвию бритвы: ярким, блестящим, отточенным, но холодным и не показывающим своего истинного цвета.
 
 
 Сообщение отредактировал BASS - Понедельник, 18 Июня 2012, 15:29 |  |  |  |  | 
| 
| mobipak | Дата: Понедельник, 18 Июня 2012, 16:03 | Сообщение # 3 |  |   Подрывник Сейчас нет на сайте | Для того, чтобы не было видно плоскости, нужно с помощью Photoshop`а сделать карту непрозрачности и засунуть в 3ds max. А вот насчет анимаций - большой вопрос... |  |  |  |  | 
| 
| Serenity | Дата: Понедельник, 18 Июня 2012, 16:28 | Сообщение # 4 |  | заслуженный участник Сейчас нет на сайте | Quote (MadMax) как можно сделать спрайтами платформер? как прикрутить физику? можете скинуть исходники/уроки?Напишу пока словами. Первое - делается изометрическая камера (нажать Orthografic), изменяя Lens можно приблизить/отдалить. ГГ куб, ходит вперёд/назад, и у него постоянно "играют" два ключа Loc (ближе/дальше от камеры), и Rot Z, это делается для того, чтобы ГГ ходил ровно по плоскости. К кубу ГГ крепится плоскость, которая отображает ГГ и его анимацию, и при движении в другую сторону ключами меняет Scale наоборот (для разворота ГГ). Кадры анимации прорабатываются где угодно, и номер кадра отправляется в код, например такой:
 
 
 Code  import GameLogic
 
 cont = GameLogic.getCurrentController()
 s = cont.owner
 
 c = GameLogic.getCurrentController()
 
 def changeTexture(c):
 import VideoTexture
 
 matID = VideoTexture.materialID(s, "MAmat")
 
 texture = VideoTexture.Texture(s, matID, 0)
 image = GameLogic.expandPath("///textures/"+str(c)+".png")
 if not s.has_key("tex"+str(c)):
 
 s["tex"+str(c)] = VideoTexture.ImageFFmpeg(image)
 texture.source = s["tex"+str(c)]
 s["Texture"] = texture
 s["Texture"].refresh(False)
 
 
 if s.pose==1: s["Frame"] = "stay"
 
 if s.pose==2: s["Frame"] = "strike01"
 if s.pose==3: s["Frame"] = "strike02"
 if s.pose==4: s["Frame"] = "strike03"
 if s.pose==5: s["Frame"] = "strike04"
 if s.pose==6: s["Frame"] = "strike05"
 if s.pose==7: s["Frame"] = "strike06"
 
 if s.pose==9: s["Frame"] = "run01"
 if s.pose==10: s["Frame"] = "run02"
 if s.pose==11: s["Frame"] = "run03"
 if s.pose==12: s["Frame"] = "run04"
 if s.pose==13: s["Frame"] = "run05"
 
 if s.pose==15: s["Frame"] = "jump01"
 if s.pose==16: s["Frame"] = "jump02"
 if s.pose==17: s["Frame"] = "jump03"
 if s.pose==18: s["Frame"] = "jump04"
 if s.pose==19: s["Frame"] = "jump05"
 if s.pose==20: s["Frame"] = "jump06"
 
 if s.pose==22: s["Frame"] = "oops"
 
 if s.pose==24: s["Frame"] = "paint01"
 if s.pose==25: s["Frame"] = "paint02"
 if s.pose==26: s["Frame"] = "paint03"
 if s.pose==27: s["Frame"] = "paint04"
 if s.pose==28: s["Frame"] = "paint05"
 if s.pose==29: s["Frame"] = "paint06"
 if s.pose==30: s["Frame"] = "paint07"
 if s.pose==31: s["Frame"] = "paint08"
 if s.pose==32: s["Frame"] = "paint09"
 if s.pose==33: s["Frame"] = "paint10"
 if s.pose==34: s["Frame"] = "paint11"
 if s.pose==35: s["Frame"] = "paint12"
 if s.pose==36: s["Frame"] = "paint13"
 if s.pose==37: s["Frame"] = "paint14"
 if s.pose==38: s["Frame"] = "paint15"
 if s.pose==39: s["Frame"] = "paint16"
 if s.pose==40: s["Frame"] = "paint17"
 if s.pose==41: s["Frame"] = "paint18"
 if s.pose==42: s["Frame"] = "paint19"
 if s.pose==43: s["Frame"] = "paint20"
 if s.pose==44: s["Frame"] = "paint21"
 
 changeTexture(s["Frame"])
 Добавлено (18.06.2012, 16:28)
 ---------------------------------------------
 MadMax,
 
 Хотел же сделать позже нормальный пример, но.. видать, терпения у тебя нет, держи
 Тут тебе и игра на двоих даже)
 
 И ты, конечно же, понимаешь, что ГГ тебе придётся нарисовать своего
   
 Самое главное не написал... ЭТО ДЛЯ 2.49!!!
 
 
 Сообщение отредактировал Serenity - Понедельник, 18 Июня 2012, 16:35 |  |  |  |  |