Trang

31/1/13

CharacterControl Demo (Bullet to Irrlicht)

Điều khiển nhân vật có tương tác vật lý !


Đến phần điều khiển nhân vật này thiệt là đau đầu ! Lúc mình chuyển Code từ Bullet sang thì nó cứ xoay ngược (do Code của Bullet là RightHang còn Trong Bullet là LeftHand axis) Cuối cùng thêm dấu trừ vào thì ổn hết. À mà còn phải cải tiến phần Render riêng cho Character trong Irrlicht nữa.
Mình lấy nhân vật là Ninja có sẳn trong  media  của Irrlicht và cái Map cũng là của Irrlicht luôn cho tiện và dĩ nhiên cũng cho thấy mình đã chuyển code thành công từ Bullet sang Irrlicht.
Mệt ! Mới cài thêm cái CamStudio để lưu lại màn hình và âm thanh để đưa lên Youtube luôn
Xong phần này mình sẽ nghiên cứu tiếp phần điều khiển xe trong Bullet và phần vật thể mềm (Đây là phần mình thích nhất đó)
Clip CharacterControl :
Hẹn gặp lại các bạn trong bài viết tới !

26/1/13

Hướng dẫn tích hợp SMFL Audio vào Irrlicht


Hướng dẫn tích hợp SMFL Audio vào Irrlicht

Hiện mình dùng bản 1.5 do nó tương thích bản release và debug

Download SFML : http://www.sfml-dev.org/download.php

Giải nén :

Cài đặt đường dẫn trong VC++ :


Tích hợp trong chương trình Irrlicht :

 

#include

#ifdef _DEBUG

#pragma comment(lib, "sfml-audio-d.lib")//thu vien am thanh SFML debug

#else

#pragma comment(lib, "sfml-audio.lib")//thu vien am thanh SFML release

#endif

#pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup")

#endif

 

Code :
 //thêm các dòng sau trong tệp tin main.cpp
  sf::Music Music;

     if (!Music.OpenFromFile("footsteps.wav")) return EXIT_FAILURE;

      Music.SetLoop(true);

     // Play the music

    Music.Play();
...
Thêm các thư viện liên kết động vào cùng thư mục chương trình :
libsndfile-1.dll
sfml-audio.dll
sfml-audio-d.dll
sfml-system.dll
sfml-system-d.dll

Vậy là xong !

19/1/13

Convert Irrlicht bspMesh to Bullet

Chuyển bspMesh từ Irrlicht sang Bullet
 
Nếu các bạn xem qua các ví dụ Irrlicht thì chắc không lạ gì cái Map QUAKE của Irrlicht (như trong ví dụ 2)
Mình cũng dùng ví dụ 2, Nhưng tích hợp thêm hiệu ứng vật lý cho MAP QUAKE này. Thật tuyệt vời.
Đúng là khi làm thêm được gì mới thì mình cũng thấy rất vui! Hôm qua còn làm thêm cái súng lò xo nhưng chưa làm được phần cò súng (bắn thằn lằn thôi - sẽ có hình sản phẩm khi hoàn thành)
Sau đây là clip của nó :
Tiếp theo mình sẽ dùng cách này để chuyển mô  hình địa hình sang Bullet xem có hay hơn không chứ dùng HeightMap của Bullet thấy không chính xác lắm.

16/1/13

Convert Irrlicht Mesh To Bullet Mesh

Chuyển đổi mô hình từ
Irrlicht vào trong Bullet !
Khi thực hiện chuyển đổi từ ví dụ của Bullet sang Irrlicht mình toàn lấy toàn bộ code từ Bullet và sau đó mới xây dựng các hàm vẽ các mô hình phù hợp.
Bây giờ mình làm ngược lại (chính xác là thuận) đó là nếu mình có một mô hình 3D trong Irrlicht thì làm sao áp Bullet cho nó để có thể tương tác với nó một cách hoàn chỉnh.
Có hai cách đó là dùng ConvexHull (khung bao lồi tối ưu) có số đỉnh trong Bullet nhỏ hơn hay bằng số đỉnh của nó trong Irrlicht. Cách này phù hợp với các mô hình mà không cần va chạm đến từng chi tiết.
Cách thứ hai là dùng bvhTriangleMesh có số đỉnh hoàn toàn giống từ Bullet sang Irrlicht. Cách này phù hợp cho địa hình (như nhà, đồi núi, hang động hay các mô hình lớn) mà nhân vật có thể đi chuyển bên trong.
Kết quả mình làm cũng khá tốt :
Đối với ConvexHull :

Đối với bvhTriangleMesh :

5/1/13

Thêm âm thanh vào ví dụ Irrlicht tích hợp Bullet

Thêm âm thanh vào ví dụ Irrlicht tích hợp Bullet


 
Tích hợp âm thanh (dùng Sound Engine khác) mình đã làm nhiều rồi,nhưng tích hợp âm thanh vào các ví dụ của Bullet (khi dùng Irrlicht để render) thì mình mới làm.
Mình chọn cái ví dụ để làm đầu tiên là CcdPhysicDemo mình làm thêm âm thanh và hiệu ứng va chạm cho cu tý nhà mình chơi thích hơn.
Kết quả ban đầu rất khã quan. Mình dùng các code ở : http://www.bulletphysics.org/mediawiki-1.5.8/index.php/Collision_Callbacks_and_Triggers để tạo âm thanh khi có va chạm xảy ra. Còn âm thanh khi bắn khối hộp thì do mình thêm riêng vào.
Mình dùng SFML phần Sound để xuất âm thanh.
Sau đây là clip của chương trình :

Mới cập nhật !

Bài đăng phổ biến