2013-04-21 27 views
7

Irrlicht ile 2D arka planlar ve 3D modelleri ile Final Fantasy benzeri bir oyun motoru yazıyorum.Görünmez bir gözle Irrlicht çarpışma

enter image description here

Bu kod ile denedim ama oyuncu örgü kenarına geldiğinde aşağı düşer:

Böyle bir görünmez örgü kullanmak arka planda nesnelerle çarpışmalara hesaplamak için
TriangleSelector sel = device.SceneManager.CreateTriangleSelector(Program.field.currentScene.walkmeshLoaded, null); 
CollisionResponseSceneNodeAnimator coll = device.SceneManager.CreateCollisionResponseAnimator(sel, playerNode); 
playerNode.AddAnimator(coll); 
coll.Drop(); 
sel.Drop(); 

cevap

1

Kullandığınız sistemi kullanmadım ama iki gün oldu bu yüzden karanlıkta bir çekim yapacağım. Eğer bunu doğru okuyorsam, önceden tanımlanmış bir sistem ve bunun içinde bir ağ kullanırsınız. Oyuncu nesnesi ağın kenarına gittiğinde, ağdan düşer, doğru mu?

Oluyormuş gibi görünen şey, kullandığınız motorun bir çeşit yerçekimine sahip olmasıdır ve eğer varsa, bu örgü alt seviyenin üzerindedir. Kafesi bir köprü gibi düşünün; Eğer kenardan yürürsen düşersin. Yapmak isteyebileceğiniz şey, ya oyuncunun köprünün düşmesini önlemek için ağın kenarı boyunca kurulum duvarlarıdır ya da motor izin veriyorsa, oyuncuların kenardan geçmesini engelleyen kafes üzerinde çarpışma ayarı yapar. Daha sonra daha iyi bir fikir olurdu çünkü düşmanları ve NPC'lerin aynı yolları takip edeceğini ve duvarların daha fazla çarpışma tespit edeceğini (ve düşmanları uçurmak gibi şeyleri engelleyeceğini) düşündüğümü düşünüyorum.

Bunun tam bir cevap olmadığını biliyorum, ama umarım bu bir kaç fikir alır. Belki de yoldayım ama sağlanan bilgiden devam ettiğim şey bu.