Dengan memanfaatkan beberapa perintah gerak objek yang digunakan dalam file .animated, sebetulnya kita dapat membuat simulasi tabrakan antara KA dan kendaraan di openBVE, yang bisa cukup realistis, tergantung dari kreativitas kita. Kali ini, akan dijelaskan cara membuat semacam simulasi sederhana untuk menggambarkan kecelakaan semacam itu. Berikut ini langkah-langkahnya:
Menyiapkan objek kendaraan dan menentukan sumbu pusat rotasinya
![]() |
Objek kendaraan yang sudah diatur sumbu pusat rotasinya |
Langkah pertama yakni menyiapkan objek kendaraan dan juga mengatur letak sumbu pusat rotasinya. Caranya yaitu dengan menggeser letak objek yang sudah jadi, sehingga titik 0,0,0 terletak di tempat dimana objek akan berrotasi dengan pusat rotasi di titik itu. Cara menggesernya dengan menggunakan perintah TranslateAll, baik itu di file .b3d maupun .csv. Yang membedakan adalah penggunaan koma, yakni pada file .b3d ditulis TranslateAll x,y,z sedangkan pada file .csv ditulis TranslateAll,x,y,z.
Menyiapkan file .animated dan memasukkan perintah gerak
[Object]
States = [alamat file]
Dibawah perintah tersebut, silakan anda tambahi perintah gerak seperti berikut ini:
RotateXFunction = if[trackDistance[0]<[jarak benda saat rotasi] & trackDistance[0]>-5 ,[besar sudut],value*(trackDistance[0]>[jarak benda untuk kembali ke posisi awal] & trackDistance[0]<700)]
RotateXDamping = [tingkat kecepatan rotasi], 1
Jarak benda saat rotasi disesuaikan dengan panjang lokomotif dan lebar objek, besar sudut dituliskan dalam satuan radian, sedangkan jarak benda untuk kembali ke posisi awal dituliskan dengan nilai negatif yang besar, agar benda tidak kembali ke posisi semula setelah KA lewat. Untuk tingkat kecepatan rotasi, semakin besar angka yang dimasukkan, maka kecepatan sudut saat rotasi akan semakin besar.
Dibawah perintah RotateXFunction dan juga RotateXDamping tersebut, anda dapat juga memasukkan perintah RotateYFunction dan juga RotateYDamping, untuk membuat simulasi semakin realistis. Untuk lebih jelasnya, silakan lihat gambar diatas.
Memasukkan objek kedalam file rute
![]() |
Perintah untuk memasukkan alamat objek ke rute |
![]() |
Perintah untuk memasukkan objek di lokasi yang diinginkan |
.FreeObj [no.rel];[no.objek];[x];[y];
Selamat mencoba!
Berikut ini adalah video hasil dari simulasi yang dibuat