Tutorial Modding Vehicle ES MOD

KONFIGURASI MAIN VEHICLE
1. Tools:
Blender 2.79
Adobe Photoshop (bisa selain Photoshop).
2. Persiapan 3D
  2.1 Pastikan semua material sudah terisi oleh texture.
  Cara masukkan texture ke material:
  - New
2.3 Untuk material kaca gunakan format .PNG
Untuk tingkat transparan kaca menyesuaikan dari transparan texture
Gunakan cube untuk mengukur. Shift+A > Mesh > Cube
  Cube bawaan dari blender berukuran 2mx2mx2m (hapus cube apabila sudah tidak
  digunakan)
Select semua (A) > Ctrl+A > Rotate & Scale
  select semua (A) > Shift+Ctrl+Alt+C > Set Origin to Center of Mass
  (Surface)
3. Persiapan Ban (*apabila ban belum lengkap)
3.1 Duplicate roda dengan cara Shift+D > klik kanan
3.2 Mirror ban depan dengan view dari depan;
      1. Pastikan 3D cursor sudah ada di tengah-tengah (poin 1),
    jika belum tekan shift+C untuk reset 3D cursor;
      2. Pastikan pivor point (poin 2) sudah pada 3D
      cursor;
      3. Tekan Ctrl+M > X > klik kiri.
  
              4. Select ban yang sudah di mirror tadi. Edit Mode
            (tab) > select all (A) > Spasi (ketik flip normal) >
            klik
  4.1 Rename ban dengan "wheel" misal "Wheel1" "Wheel2" dan seterusnya (wajib
  mengandung kata wheel)
4.2 Buat empty plain axes dengan cara Shift+A > Empty ? Plain Axes, rename dengan "height=0.15|steerpercent=1|drive=true|"
buat sebanyak jumlah ban (abaikan nama dibelakang| .001 .002 dll)
- height = ketinggian suspensi;
  - steerpercent = presentase belok (gunakan minus jika ingin belok berlawanan.
  -1 sampai 1);
  - drive = jika ingin ban tersebut sebagai penggerak gunakan true jika tidak
  gunakan false.
5.1 Buat Cube. Shift+A > Mesh > Cube
5.2 Sesuaikan dengan bentuk kendaraan.
  Masuk edit mode(Tab) > Wireframe view (Z) > dan pastikan select pada
  vertex (lingkaran merah).
  5.4 Untuk membuat garis lagi tekan Ctrl+R > klik kiri > sesuaikan >
  klik kiri.
5.5 Rename mesh menjadi "collider"
6.1 Duplikat semua mesh kecuali collider (bisa di hide dulu)
Select mesh Shift +Klik kiri pada daftar mesh
Shift + D > klik kanan
selama hasil duplikat masih terselect satukan menjadi satu Ctrl+J
6.3 apply transform
CTRL+A -> rotate & scale
7. Testing
7.1 Export ke fbx
pastikan centang !EXPERIMENTAL Apply Transform
  8.1 Buat empty plain axes lalu rename menjadi “vehicle_settings”
  
  
    
    
9.4 Ulangi langkah pada testing untuk melihat hasil
  
  
    
    
    
    
      
      
      
      
        
        
        
      
        
      
          
            
          15.1 pastikan pivot point dan transform orientation sudah sesuai
              gambar
          
            
            
              
              
              
15.4 rename mesh menjadi "rear_view_mirror" jika lebih dari satu seperti ini
                
                
          
        
      
      
    
    
    
    
    
    
    18.5 buat empty plain axis rename "running:5" dimana angka 5 disini adalah 5
    gambar emisive pergerakan. lalu masuukan ke mesh light seperti pada
    gambar
    
    
    
    
    
    
      
      
      
        
      
        
      
        
          
          
2.2 Buat empty plain axes dengan cara Shift+A > Empty ? Plain Axes, rename dengan "height=0.15|steerpercent=0|drive=false|"
        
      
        
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
      
      
      
        
        
      
        
        
      
        
      
    
    
    
  
  
  
Shift+A -> Empty -> Plain Axes
  
    buat empty plain axes lalu masukkan dalam vehicle axes dengan nama seperti
    berikut
  
  brakepower=1500 (kekuatan rem n/m)
  mass=1000 (berat kendaraan dalam satuan Kg)
  maxspeed=140 (maksimal kecepatan dalam satuan km/h)
  maxsteerangle=50 (maksimal derajat roda kemudi)
  motorpower=2000 (kekuatan mesin n/m)
  
    tirefriction=1 (gesekan ban . semakin tinggi maka ban akan semakin lengket)
  
  tractioncontrol=true (pengendalian traksi true/false)
  
  9.1 Secara default material adalah diffuse tanpa efek refleksi
  
    untuk mendapat efek refleksi buatlah empty plain axis lalu rename menjadi
    "material.glossy"
  
  Shift+A > Empty > Plain axes
  
  
    buat empty plain axes rename menjadi nama material lalu masukkan ke dalam
    maerial.glossy
  
  Shift+A -> Empty -> Plain Axes
  
    untuk contoh saya memasukkan nama material body dan kaca agar glossy
  
  (jika nama material bentrok ubah nama mesh menjadi nama lain)
  
      9.3 pilihan konfigurasi material
    
    
      "material.chrome" -> material dengan tingkat refleksi tinggi
"material.glossy" -> material dengan tingkat refleksi sedang bagus untuk body mobil
"material.glossy.transparent" -> sama dengan glossy namun digunakan untuk transparan dan tidak bisa ganti skin
    "material.glossy" -> material dengan tingkat refleksi sedang bagus untuk body mobil
"material.glossy.transparent" -> sama dengan glossy namun digunakan untuk transparan dan tidak bisa ganti skin
      "material.skin" -> digunakan untuk material body dan bisa untuk ganti
      skin dan warna (max 1 material)
    
    
      "material.skin.glass" -> sama seperti skin namun support transparan
      bisa untuk kaca 
"material.skin.glass.in" -> untuk kaca kendaraan bagian dalam 
    
    
    9.4 Ulangi langkah pada testing untuk melihat hasil
10.1 Buat empty plain axes lalu rename menjadi "dashcam"
  Shift+A > Empty > plain Axes
  sesuaikan posisi seolah menjadi mata pengemudi
  11. Konfigurasi setir dashboard
11.1 Pastikan origin setir terdapat pada tengah-tengah
    
    
    spasi > snap cursor to active
    
    
      Tab > select semua (A) > Rotate (R) > sumbu x (X) > klik kiri
    
    
    Tab > Rotate (R) > sumbu x (X) > klik kiri
    
    11.3 rename mesh menjadi "steering"
    12. Konfigurasi Mesh Lampu
12.1  cara memisahkan mesh lamp
      aktifkan face select saat di edit mode
      
      
        12.2 rename mesh (bisa lebih dari satu mesh, misal namai dengan
        light.ligtlight.002 dst)
      
      light.citylight (untuk lampu kota)
      light.headlight (untuk lampu utama)
      light.farheadlight (untuk lampu utama jauh)
      light.seinleft (untuk lampu sein kiri)
      light.seinright (untuk lampu sein kanan)
      light.brakelight (untuk lampu rem)
      light.reverselight (untuk lampu mundur)
      
      13.1 buat empty plain axes rename menjadi “spotlight_headlight”
      ight.seinleft.citylight (untuk lampu sein kiri digabung dengan citylight)
light.seinright.citylight (untuk lampu sein kanan digabung dengan citylight)
Shift+A -> Empty -> Plain Axes
      
        buat lagi empty plain axes lalu rename misal sorot_kiri atau sorot_kanan
        (nama bebas) dan masukkan ke spotlight_headlight
      
      
      14. Konfigurasi knalpot asap hitam (optional)
14.1 buat empty plain axes rename menjadi "black_smoke"Shift+A > empty > plain axes
      sesuaikan posisi
      
      15. Konfigurasi SKIN dan WARNA
          15.1 buat empty plain axes rename menjadi "material.skin" (support
          ganti skin dan warna)
buat plain axes lagi lalu rename menjadi nama material (support 1 material saja)
        buat plain axes lagi lalu rename menjadi nama material (support 1 material saja)
          Shift+A > empty > plain axes
        
      
      
        
          15.2 buat empty plain axes rename menjadi "material.skin.glass"
          (support ganti skin untuk kaca yang transparan)
buat plain axes
          lagi lalu rename menjadi nama material (support 1 material saja)
        
        
          Shift+A > empty > plain axes
        
      
      buat plain axes lagi lalu rename menjadi nama material (support 1 material saja)
16. Konfigurasi Rearview Mirror (kaca spion)
              !!!
            
            
                semakin banyak kaca spion semakin berat gameplay karena render
                banyak camera sekaligus
              
              !!!
          
              15.2 pisahkan kaca spion 
edit mode(Tab) -> select face (klik kanan) -> separate (P) -> selection
            edit mode(Tab) -> select face (klik kanan) -> separate (P) -> selection
              15.3 lakukan uvmapping 
pada front view (view dari depan) -> UV Mapping (U) -> project from view
lalu sesuaikan hasil uv agar memenuhi satu kotak
            pada front view (view dari depan) -> UV Mapping (U) -> project from view
lalu sesuaikan hasil uv agar memenuhi satu kotak
15.4 rename mesh menjadi "rear_view_mirror" jika lebih dari satu seperti ini
                  15.5 untuk mengatur render camera buat empty plain axis
                    lalu masukkan ke rear_view_mirror
                
                
                  Shift+A > empty > plain axes
sesuaikan posisi sesuai kaca spion
                sesuaikan posisi sesuai kaca spion
                  nama bebas misal cammirrorpos dll
                
                
            16. Konfigurasi Suara Mesin
17. Konfigurasi Jarum RPM dan Kecepatan
        17.1 pastikan pivot point -> median point dan transform orientation
        -> local
      
      
      
        17.2 sesuaikan posisi jarum dan pastikan pivot seperti pada gambar
        
        
        
        
        
        
          
      
      18.1 persiapan mesh dan material
    
          17.3 rename menjadi
        
        
          "rotate.rpm" untuk jarum rpm
        
        
          "rotate.speed" untuk jarum kecepatan
        
        
          17.4 mengatur rotasi
        
        
          buat plain axis lalu masukkan ke jarum seperti pada gambar dan namai
          dengan derajat rotasi
        
        
          Shift+A > empty > plain axes
        
        18. Konfigurasi Animated Lighting (Running sein and Strobe)
      pastikan pisahkan mesh, buat material, dan texture baru seperti contoh
      pada gambar
    
    rename menjadi "light.seinleft" atau "light.seinright"
    
    
      kali ini saya membuat 5 gambar untuk pergerakan lampunya. untuk jumlah
      bisa menyesuaikan sesuai kebutuhan anda 
    
    
      18.3 gabungkan kelima gambar termasuk gambar base menjadi satu gambar
      kebawah . untuk menghemat resolusi saya menggunakan 1024x2048 untuk
      hasilnya seperti gambar dibawah
    
    
    
      18.4 masukkan texture ke material running sein (walaupun terlihat tidak
      pas namun di dalam game akan otomatis sinkron)
    
    
      Shift+A > empty > plain axes
    
    
      18.6 agar lebih menarik material dapat dimasukkan ke kategori
      material.glossy atau material.chrome
    
    
      18.7 jangan lupa masukkan texture dan fbx yang baru ke dalam zip lalu load
      pada game
    
    
      *Penting*
    
    
      untuk animasi lampu sementara hanya support di 
    
    
      "light.seinright"
    
    
      "light.seinleft"
    
    
      "ligjt.citylight" (pada lampu kota animasi akan berulang ulang)
    
    KONFIGURASI TRAILER (JOINT)
A. Contoh Trailer Truck Gandeng
1. Persiapan 3D
2. Konfigurasi Wheel (sama seperti main vehicle di atas)
          2.1 Rename ban dengan "wheel" misal "Wheel1" "Wheel2" dan seterusnya
          (wajib mengandung kata wheel)
        
        2.2 Buat empty plain axes dengan cara Shift+A > Empty ? Plain Axes, rename dengan "height=0.15|steerpercent=0|drive=false|"
          buat sebanyak jumlah ban (abaikan nama dibelakang| .001 .002 dll)
        
        
        
      
        
          
            
              
                  
                    2.4 masukkan wheel ke dalam joint sesuai keperluan
                  
                  
                    
                  
            
          
        
                    2.4 masukkan wheel ke dalam joint sesuai keperluan
                  
                  3. Konfigurasi Setting jointA
          3.1 buat empty plain axes rename menjadi "attach:root" (karena jointA
          menempel pada main vehicle maka digunakan root)
        
        
          Shift+A > empty > plain axes
        
        
      
      
        
          3.2 buat empty plain axes rename menjadi "mass:50" (berat dari jointA)
        
        
          Shift+A > empty > plain axes
        
        
      
      
        
          3.3 buat empty plain axes rename menjadi "maxrotationx:15" (maksimal
          rotasi pada sumbu X adalah 15 derajat)
        
        
          Shift+A > empty > plain axes
        
      
      
        
          3.4 buat empty plain axes rename menjadi "maxrotationy:180" (maksimal
          rotasi pada sumbu Y adalah 180 derajat)
        
        
          Shift+A > empty > plain axes
        
        
        Catatan:
        
          maksimal rotasi sumbu X,Y, dan Z. gunakan sesuai kebutuhan
        
        
          "maxrotationx:(derajat)"
        
        
          "maxrotationy:(derajat)"
        
        
          "maxrotationz:(derajat)"
        
        
      
      4. Konfigurasi Setting jointB
          4.1 buat empty plain axes rename menjadi "attach:joint_A" (karena
          jointB menempel pada mesh jointA)
        
        
          Shift+A > empty > plain axes
        
        
      
      
        
          4.2 buat empty plain axes rename menjadi "mass:200" (berat dari
          jointB)
        
        
          Shift+A > empty > plain axes
        
        
      
      
        
          4.3 buat empty plain axes rename menjadi "maxrotationx:15" (maksimal
          rotasi pada sumbu X adalah 15 derajat)
        
        
          Shift+A > empty > plain axes
        
      
      
        Catatan:
        
          maksimal rotasi sumbu X,Y, dan Z. gunakan sesuai kebutuhan
        
        
          "maxrotationx:(derajat)"
        
        
          "maxrotationy:(derajat)"
        
        
          "maxrotationz:(derajat)"
        
      
      4. Konfigurasi Setting jointC
          4.1 buat empty plain axes rename menjadi "attach:joint_C" (karena
          jointC menempel pada mesh jointA)
        
        
          Shift+A > empty > plain axes
        
        
      
      
        
          4.2 buat empty plain axes rename menjadi "mass:3000" (berat dari
          jointC)
        
        
          Shift+A > empty > plain axes
        
        
      
      
        
          4.3 buat empty plain axes rename menjadi "maxrotationy:250" (maksimal
          rotasi pada sumbu Y adalah 15 derajat)
        
        
          Shift+A > empty > plain axes
        
      
      
        Catatan:
        
          maksimal rotasi sumbu X,Y, dan Z. gunakan sesuai kebutuhan
        
        
          "maxrotationx:(derajat)"
        
        
          "maxrotationy:(derajat)"
        
        
          "maxrotationz:(derajat)"
        
        
      
      5. Konfigurasi Setting Light , Collider , Shadow sama dengan Main Vehicle dan Harus dimasukkan ke joint
KONFIGURASI VEHICLE LOAD (MUATAN)
1. Persiapan 3D
2. Muatan Static (tidak dapat bergerak)
2.1 masukkan ke plain axis vehicleload 
2.2 apply transform location dan rotation & scale
CTRL+A -> locationCTRL+A -> rotate & scale
2.3 (optional) jika ingin menambahkan collider masukkan ke model dengan nama "collider"* tambahkan collider jika model mempunyai bentuk yang unik 
2.4 apply transform location dan rotation & scale
CTRL+A -> locationCTRL+A -> rotate & scale
2.1 masukkan ke plain axis vehicleload 
2.2 apply transform location dan rotation & scale
CTRL+A -> location
CTRL+A -> rotate & scale
2.3 (optional) jika ingin menambahkan collider masukkan ke model dengan nama "collider"
* tambahkan collider jika model mempunyai bentuk yang unik 
2.4 apply transform location dan rotation & scale
CTRL+A -> location
CTRL+A -> rotate & scale
3. Muatan Physic (dapat bergerak)
3.1 rubah nama muatan yang ada di vehicleload , tambahkan "rigidbody." misal rigidbody.tas 
3.2 apply transform location dan rotation & scale
CTRL+A -> locationCTRL+A -> rotate & scale
3.3 (optional) jika ingin menambahkan collider masukkan ke model dengan nama "collider"* tambahkan collider jika model mempunyai bentuk yang unik 
3.4 apply transform location dan rotation & scale
CTRL+A -> locationCTRL+A -> rotate & scale
3.5 (optional) jika ingin menambahkan berat pada muatan buat empty plain axis lalu masukkan pada vehicleload. namai dengan "mass:20" 20 = sesuaikan berat sesuai keinginan
Shift+A > empty > plain axes
--muatan static dan physic dapat di gabungkan pada satu vehicleload--
3.1 rubah nama muatan yang ada di vehicleload , tambahkan "rigidbody." misal rigidbody.tas 
3.2 apply transform location dan rotation & scale
CTRL+A -> location
CTRL+A -> rotate & scale
3.3 (optional) jika ingin menambahkan collider masukkan ke model dengan nama "collider"
* tambahkan collider jika model mempunyai bentuk yang unik 
3.4 apply transform location dan rotation & scale
CTRL+A -> location
CTRL+A -> rotate & scale
3.5 (optional) jika ingin menambahkan berat pada muatan buat empty plain axis lalu masukkan pada vehicleload. namai dengan "mass:20" 20 = sesuaikan berat sesuai keinginan
Shift+A > empty > plain axes
Shift+A > empty > plain axes
--muatan static dan physic dapat di gabungkan pada satu vehicleload--





















