11 Juli 2012

3D dengan Visual Basic 6.0

malam agan-agan semua... :)
stelah sekian lama tidak posting di blogger, malam ini ane nyoba posting sedikit ilmu buat para pembaca sekalian... :)
zaman sekarang sapa yang tidak kenal dngan 3D (ne2k ompong aja tau gitu looh.... :D).
3 Dimensi atau biasa disingkat 3D ini, sdah mndunia, baik untuk pembuatan filem2 animasi, ataupun iklan berbgai merek produk2 terkenal dunia. Ya Sudahlah... daripada berbasa basi ria lbih baik langsung ke intinya aja gan.... :D
malam ini ane mau postingin program yang ane buat yaitu tntang pembuatan animasi 3D sederhana pada visual basic 6.0. dalam program ini, ane sdah menyediakan sebuah module sndiri yang ane edit dari slah stu situs visual basic 6.0 (Disini). karena module telah tersedia untuk vb6 nya, maka proses pemrograman mnjadi simpel aja gan.... hhheee....
berikut step2 nya gan :





1. Siapkan Cemilan + Kopi  (nyantai aja gan)  .....:)     
2. buka Microsoft Visual Basic 6.0
3. pilih Standard EXE

4. klik kanan menu project1. pilih add module, lalu pilihlah module 3d yang akan kita masukkan ke program vb.

5. buatlah form yang terdiri dari 6 command button, 1 picturebox, 1 frame seperti berikut

6. aturlah propertiesnya NAME seperti ini 

7. masukkan code untuk form load
            ’’’’’’’’ memanggil fungsi penampil 3d dari module’’’’’’’’’’
Show                                       ‘ menampilkan form
DoEvents                                ‘ menunggu
InitRM Picture1                      ‘ membuat picture1 sebagai tmpat tampilan 3d
InitScene                                 ‘membuat scene 3d
RenderLoop 0, 0, 0, 0, 0          ‘ me-render 3d dngan kondisi reset atau default
EndIt                                      
8. masukkan code untuk masing-masing tombol
Private Sub belakang_Click()
ObjectFrame.SetRotation Nothing, -1, 0, 0, 0.1
RootFrame.Move 0.1
End Sub

Private Sub depan_Click()
ObjectFrame.SetRotation Nothing, 1, 0, 0, 0.1
RootFrame.Move 0.1
End Sub

Private Sub kanan_Click()
ObjectFrame.SetRotation Nothing, 0, 0, -1, 0.1
RootFrame.Move 0.1
End Sub

Private Sub kiri_Click()
ObjectFrame.SetRotation Nothing, 0, 0, 1, 0.1
RootFrame.Move 0.1
End Sub

Private Sub putar_kanan_Click()
ObjectFrame.SetRotation Nothing, 0, -1, 0, 0.1
RootFrame.Move 0.1
End Sub

Private Sub putar_kiri_Click()
ObjectFrame.SetRotation Nothing, 0, 1, 0, 0.1
RootFrame.Move 0.1
End Sub

9. untuk mengatur kecepatan pergerakan gambar 3d, anda cukup mengubah nilai 0,1 mnjadi angka yang anda inginkan, semakin besar nilainya maka smakin cepat pergerakan gambar 3D nya....

10. tekan F5 atau tombol play untuk melihat hasilnya




Penting !
Program ini bekerja dengan memanfaatkan library directx bawaan windows, sehingga untuk gambar 3d nya kita mengambil file berformat .X. pada program ini ane mengambil gmbar 3d roket 3D desain teman ane…:)
Agan juga bisa membuka gambar 3d lain, tetapi harus berformat .X file, letakkan di satu folder dengan program vb agan, lalu ubah new.x yang berda di module dengan nama X file yang agan mau tampilin. program ini bekerja pada windows XP Sp2, ane udah nyoba di Windows 7 tapi gk jalan gan, gak tau kenapa...hhhheee....:D


untuk download program silahkan Ke Sini
   

3 Tanggapan:

  1. butuh bimbingan 3dmodel dong kak, ada yg bisa dihubungi ga?
    klo misalnya mau roll,pitch,yaw kayak di komurindo gitu gmna?

    BalasHapus
  2. sinkronkan saja mas, antara yang didapat dari accelerometer dengan putaran pada 3d nya, jadi misal data yang didapatkan dari sensor akselerometer dalam bentuk gravitasi(g) harus dikonversi dulu ke dalam bentuk putaran 360 derajat agar bisa dimasukkan ke Gambar 3D nya...
    oh ya, program diatas tidak berjalan untuk komputer atau laptop dengan spesifikasi Direct X nya diatas 7, jadi hanya bisa diterapkan di komputer jadul,,,hhhehe
    saran saya coba cari mengenai animasi Open GL di vb6,,,
    terima kasih,,, :D

    BalasHapus
  3. sebelumnya terimakasih
    gini mas, di dx7
    sy bingung klo objectframe.rotation itu dia muternya ga dimulai dari titik origin, awalnya sih iya, tp nantinya malah ditambahin sma data inputan kedua, jdnya ga dari titik origin lagi, misalnya inputan sy 90, lalu sy input lg 30, nanti dia bergerak dari 90 degree sebesar 30 degree, bukan dari titik originnya ... karena itulah sy ga pakai dx7
    ada saran kak?

    kan bisa download dx7vb.dll nya ?

    kemudian, sy punya .3ds sudah dikonvert ke .x, size filenya jd lebih besar, dan akhirnya ga bisa di load di vbnya, itu knpa ya mas?

    terakhir, sy belum belajar opengl di vb6, kmarin2 nyari hal itu tp masih blm nemu tutorial yg pas,akhirnya sy ketemu dgn directx8
    dan Alhamdulillah sudah dapat di load. cuma, masih ada beberapa hal yg mmbuat sy bingung.
    nah, salah satunya masalah file .x tadi yg ga bisa di load. klo yg new.x buatan temen mas sih bisa, tp terlalu kecil ukurannya (mungkin karena sy tampilin langsung di formnya bukan di picture box). kmudian, ada file 3ds di nasa yg bisa didownload secara gratis, tp stlh di convert ke .x malah ga bisa di load ama vb nya. klo boleh tau converter apa yg mas gunakan, mungkin boleh di share? :P

    mohon maaf nih mas, ada media yg bisa sy hubungi ga utk belajar, misalnya facebook atau lainnya? blog ini punya akun fb kan mas?soalnya kan biar lebih jelas aja utk brtanya, nnti sy lihatin progress sy biar lebih jelas :P
    klo ga bisa, ga apa2 disini jg :)

    sekali lg maaf ya klo ada kata2 yg kurang berkenan, terima kasih atas responnya :)

    BalasHapus