Powered By

Free XML Skins for Blogger


Powered by Blogger


WordPress for iPhone


Norton Safe Web

McAfee SiteAdvisor

Join LiveConnector Chatting

Join 4Shared Now!


Pembuatan Grafik “Ninja In The Dark” Dengan Ogre 3D

Perangkat yang dibutuhkan :
1. Hardware*:
  • AMD Athlon(tm) 64 X2 Dual Core Processor 5000+
  • GF 8100 M2+ TE
  • Memory 2048MB
  • HDD 320GB
*) spesifikasi komputer yang saya miliki

2. Software:
  • Autodesk 3DS Max 2009
  • Python 2.6.5
  • Python-Ogre 1.7 Core Files
  • Py2exe
  • Notepad ++
  • Patch Update DirectX terbaru (Maret 2011)

Ogre merupakan suatu engine untuk merender grafik, dengan cara mengimport file-file yang telah kita buat sebelumnya dengan bahasa pemrograman yang kita gunakan. Dalam proses pembuatan, saya menggunakan bahasa pemrograman Python dan saya membuat sebuah objek sederhana berupa karakter ninja. Disini saya asumsikan anda menguasai (setidaknya mengerti) bahasa Python dan telah menginstall Python-Ogre di komputer anda. Untuk kode paling dasar seperti dibawah ini.

importogre.renderer.OGRE as ogre

importSampleFramework as sf

classTutorialApplication(sf.Application):

def _createScene(self):

pass

if __name__ == '__main__':

ta = TutorialApplication()

ta.go()



Kemudian untuk melakukan pengaturan cahaya ambient untuk adegan sehingga kita dapat melihat apa yang kita lakukan dengan memanggil fungsi set AmbientLight dan menentukan warna yang kita inginkan. Diharapkan untuk memperhatikan nilai konstruktor ColourValue mengharapkan untuk merah, hijau, dan biru dalam kisaran antara 0 dan 1. Kita tambahkan baris ini ke _createScene:_

sceneManager = self.sceneManager
sceneManager.ambientLight = ogre.ColourValue(1, 1, 1)

Hal berikutnya yang perlu kita lakukan adalah menciptakan suatu Entitas. Kita melakukan hal ini dengan memanggil fungsi createEntity yang merupakan anggota SceneManager's (pada kode dasar dibawah ini saya menggunakan nama “ninja”):

ent1 = sceneManager.createEntity("Ninja", "ninja.mesh")

Variabel self.sceneManager berisi objek Scene Manager saat ini (ini dilakukan bagi kita oleh class Sample Framework.Application). Parameter pertama ke createEntity adalah nama Badan yang kita ciptakan. Semua badan harus memiliki nama yang unik. Anda akan mendapatkan pesan kesalahan jika Anda mencoba untukmenciptakan dua entitas dengan nama yang sama. The "ninja.mesh" parameter menentukan mesh yang kita ingin gunakan untuk Entitas tersebut. Sekali lagi, mesh memberitahukan bahwa kita mesh yang digunakan telah dimuat untuk kita oleh kelas SampleFramework.Application.

Sekarang kita telah menciptakan Entitas tersebut, kita perlu menciptakan sebuah SceneNode untuk dilampirkan.SceneManager memiliki akar dari SceneNode.

node1 = sceneManager.getRootSceneNode().createChildSceneNode("NinjaNode")


Kemudian perlu melampirkan EntitaskeSceneNode sehingga Ninja memiliki lokasi yang akan diberikan pada:

node1.attachObject(ent1)

Setelah itu kita jalankan program maka kita akan melihat tampilan sesuai dengan kode-kode yang kita buat.

Berikut ini adalah kode untuk pemanggilan objek sederhana yang telah saya buat. Untuk objek berupa ninja yang sedang berdiri dengan memegang sebuah pedang ditangan kanannya dengan warna lingkungannya yang hanya berupa warna hitam.

import sys
sys.path.insert(0,'..')
importPythonOgreConfig
 
importogre.renderer.OGRE as ogre
importSampleFramework as sf
 
class Ninja (sf.Application):
def _createScene (self):
sceneManager = self.sceneManager
sceneManager.ambientLight = ogre.ColourValue (0.4, 0.4, 0.4)
        ent1 = sceneManager.createEntity ("Ninja", "ninja.mesh")
        node1 = sceneManager.getRootSceneNode().createChildSceneNode ('NinjaNode')
node1.attachObject(ent1)
 
if __name__ == '__main__':
ms = Ninja ()
ms.go()

Setelah itu program dijalankan.


Ini adalah tampilan pembuka Ogre dimana kita dapat mengubah setting tampilan sesuai dengan yang kita inginkan.Berikut hasil Rendering dari program yang telah dibuat :

Gambar Depan


Gambar Belakang


Gambar Atas


Gambar Bawah


Gambar Samping Kanan


Gambar Samping Kiri

0 komentar:

Posting Komentar

sponsor google