Proton Bus Simulator-da avtobus modlarının 2-ci mərhələsinə hazırlıq
Bu sənəd qaralamadır. Daha əhatəli olması bir az vaxt aparacaq. Zəhmət olmasa səbirli olun, unutmayın ki, bu, boş vaxtlarda hazırlanan indie layihədir. Modların necə hazırlandığını başa düşməyin ən yaxşı yolu nümunə modları araşdırmaqdır. Modlarımızın əksəriyyəti redaktə və təhlil üçün 3D-yə açıqdır. Onlar saytda yerləşdiriləcək: www.busmods.com
Avtobus mod sisteminin 2-ci mərhələsi əvvəllər yalnız yerli avtobuslarda mövcud olan bir neçə animasiyanı gətirir. Əksər şeylər yalnız 3D-də xüsusi adlarla yeni hissələrin yerləşdirilməsini tələb edir. Bir neçə digər xüsusiyyət və əmrlər əlavə edildi. Ən vacibləri bu sənəddə izah edilir, daha sadə olanları isə birbaşa nümunə modlarında araşdırmaq olar.
Bu bələdçi ilə davam etmək üçün 1-ci mərhələdə modları necə çevirəcəyinizi artıq bilməlisiniz, əks halda işləri başa düşməyə bilərsiniz. Sıfırdan başlayırsınızsa, zəhmət olmasa 1-ci mərhələ üçün dərslərə baxın: http://blog.protonbus.com.br/2018/09/primeira-fase-do-sistema-de-mods-de.html
Əks halda göstərilməyibsə (qapılar, səslər, işıqlar və s.), əksər parametrlər əsas avtobus faylında edilir.
[mod]
name=MiBRTS
busModVersion=2
preview=preview.png
busModVersion elementini 2-yə dəyişin. Bu, gələcəkdə, 3-cü mərhələ yeni şeyləri dəstəkləyəndə faydalı olacaq... Cari oyun bunu oxuyacaq ki, oyunçulara modun dəstəklənmədiyi barədə xəbərdarlıq etsin (orada 3 və ya 5 və ya daha yüksək rəqəmlə sınaqdan keçirsəniz bu artıq baş verəcək).
preview elementi seçim ekranında görünəcək şəkli göstərir. Şəkil avtobusun əsas qovluğunda (baseDir) yerləşir, textures-də deyil. Bu element buraxılsa, oyun avtomatik olaraq preview.png adlı şəkli axtaracaq.
Böyük fayl olmaması üçün şəkildə 16:9 nisbətindən, məsələn 1280x720 və ya yarısından istifadə etməyə üstünlük verin: 640x360.
[config]
useStandardShader=1
0 = deaktivdir1 = aktivdirBu seçim Unity-nin cari shaderi olan Standard Shader-in istifadəsini məcbur edir. Avtobusun içi bir az daha gözəl görünə bilər, lakin mobil telefonlarda daha ağır ola bilər. Ağırlaşarsa silinə bilən bir seçimdir. 0-da saxlamaq və ya buraxmaq əvvəlki standartı (Legacy/Diffuse shader) daha solğun rənglər və parıltı/spekulyar olmadan saxlayır.
Eksperimental bir seçim olduğu üçün metallic, specular və s. parametrləri dəyişdirmək hələ mümkün deyil, onlar standart 0.5-də qalacaqlar.
[reverseCamera]
posX=0
posY=3.22161
posZ=-6.11213
rotX=30
rotY=180
rotZ=0
Güzgüyə bənzər əmr, lakin bu halda arxaya baxan, avtobusun arxasında bir yerdə yerləşən kameradır. x oxunda bir az aşağıya doğru fırlana bilər. Arxaya baxmaq üçün şaquli oxda (Unity-də Y, Blender-də Z) 180 dərəcə fırlanmaya diqqət yetirin.
Geri görüş kamerası monitoru əsasən ekranın olduğu yerdə yerləşən bir müstəvidir. Oyunda deaktiv qalacaq, yalnız geri gedərkən görünəcək. Altında bir fon olmalıdır ki, geri getməyəndə bir deşik olmasın. Müstəvi titrəmənin qarşısını almaq üçün fondan bir az yuxarıda olmalıdır (oyunlarda ənənəvi Z-fighting).
Ekran hissəsi belə adlandırılmalıdır: _reverse_camera_screen_
UV-də bütün teksturaya xəritələnməlidir, lakin əlaqəli materiala və ya teksturaya ehtiyac yoxdur. Güzgülərdən fərqli olaraq, xəritələmədə x üzrə güzgüdən istifadə etməyin, çünki kamera tərsinə çevrilmiş bir şəkil yaratmır.
[posSmoke1]
enabled=1
posX=-1.0966
posY=3.08716
posZ=-6.1505
rotX=0
rotY=0
rotZ=0
multiplier=0.5
colorR=0.2
colorG=0.2
colorB=0.2
colorA=0.1

Egzoz nəzarəti yeni parametrlər qazandı: multiplier daha çox və ya daha az zərrəcik yaymaq üçün intensivlik çarpanıdır. Dəyəri yuxarıya doğru şişirtməyin, çünki oyunçular üçün ağır ola bilər. 0.5 qoymaq yayacağının yarısını yayır, 2 qoymaq iki qatını yayır, 1.2 bir az daha çox və s. Sınaqdan keçirməyə davam edin, lakin 5, 10 və s. kimi çox böyük rəqəmlərdən istifadə etməyin.
Orada specialTextures bölməsində particleSystemSmoke1 parametrində istifadə ediləcək tüstü teksturasını təyin edə bilərsiniz.
[specialTextures]
particleSystemSmoke1=ParticleCloudWhite.png
Bəzi yeni əmrlər rəng fərdiləşdirməsini qəbul edir. Mühərrik 0 (yox) ilə 1 (tam rəng) arasında dəyərlərə malik RGBA formatında rənglərdən istifadə edir.
Nümunələr:
colorR=1
colorG=0
colorB=0
colorA=1
Yuxarıdakı rəng qırmızı olur. G-ni 1-də və R və B-ni 0-da saxlasanız, yaşıl olur. B-ni 1-də və R və G-ni 0-da saxlasanız, mavi olur. Oradan istədiyiniz rəngə çatmaq üçün dəyərləri qarışdıra bilərsiniz.
C düyməsini basdıqda və ya Android-də komanda kamerası işarəsini kliklədikdə, oyun oyunçunun düymələri klikləyə biləcəyi idarə paneli sahələrinə yönəlmiş görünüşü dəyişdirir.
Bu kamera mövqeləri command_camera_ əmri və hər bir mövqe üçün artan nömrə ilə müəyyən edilir.
[command_camera_1]
posX=-0.174367
posY=1.76852
posZ=5.27041
rotX=-62.1665d
rotY=-13.3138
rotZ=-0.000039
[command_camera_2]
posX=-0.344243
posY=1.85677
posZ=5.22591
rotX=-66.1773
rotY=-15.7203
rotZ=-0.00003
Bu növ kameradan limitsiz sayda ola bilər (command_camera_3 və s. istifadə edin). Onları konfiqurasiya etmək xeyli vaxt aparır, çox səbrə ehtiyacınız olacaq. Bu, isteğe bağlı, lakin arzuolunan bir şeydir.
Kondisioner sisteminin parametrləri bir neçə fayla səpələnmişdir. Kondisionerə nəzarət əsas avtobus faylında yerləşir.
[air_conditioner]
enabled=1
posX=-0.761969
posY=2.74968
posZ=5.72929
rotX=-18
rotY=0
rotZ=0
scaleX=0.0025
scaleY=0.0025
scaleZ=1
[air_conditioner_screen_on]
colorR=0
colorG=1
colorB=0
colorA=1
[air_conditioner_screen_off]
colorR=0
colorG=0.25
colorB=0
colorA=0.75
Vurğulanan enabled=1-dir. 0-da saxlanılsa, deaktiv olacaq.
Son ikisi ekran nöqtələrinin rəngini təyin edir. Geri görüş kamerası ekranından fərqli olaraq, buna müstəvi lazım deyil, sistem onu dinamik şəkildə yaradır.

Kondisioner yandırma və məcburi fan düymələrinin üzərində, bu düymələr aktivləşdirildikdə yanacaq kiçik işıqlar üçün daha iki koordinat götürün. Bu işıqlar işıqlar faylında (lights) belə təyin olunacaq:
[air_conditioner_on_1]
posX=-0.683482
posY=2.77392
posZ=5.72009
rotX=-18.6
scaleX=0.01
scaleY=0.01
scaleZ=0.01
picture=Z_LuzAr.png
[air_conditioner_fan_1]
posX=-0.651946
posY=2.77392
posZ=5.72009
rotX=-18.6
scaleX=0.01
scaleY=0.01
scaleZ=0.01
picture=Z_LuzAr.png

air_conditioner_on_1: Hava yandırma düyməsi üçün işıq.air_conditioner_fan_1: Məcburi fan düyməsi üçün işıq.Səslər faylında (sounds):
[airConditioningSlow]
file=sounds/airConditioningSlow.wav
...
[airConditioningFast]
file=sounds/airConditioningFast.wav
...
_airconditioner_button1_: yandırma/söndürmə düyməsi_airconditioner_button2_: məcburi fan düyməsi_airconditioner_down_: temperaturu azaltma düyməsi_airconditioner_up_: temperaturu artırma düyməsiProton-da yansımalar metallic və glossiness parametrlərini dəyişdirdiyiniz konfiqurasiya faylında (.bus) müəyyən edilir.
//yan yansımalar
[ref001]
metallic=0.4
glossiness=0.8
//maska yansımaları
[ref002]
metallic=1
glossiness=1

Sözügedən yansımaları istifadə edəcək hissələrin adları _ istifadə edərək identifikatoruna malik olmalıdır, məsələn, _ref001_. Məs: _ref001_skin001_govde.
Şüşələrdə yansıma istifadə etmək istəyirsinizsə, şüşələri belə təyin edin (hələlik on həddi var):
[glass001]
enabled=1
shininess=0.9
specColorR=0.3
specColorG=0.3
specColorB=0.3
specColorA=0
refColorR=0.2
refColorG=0.2
refColorB=0.2
refColorA=0

Sonra 3D-də hissəni _glass001_ və s. adlandırın.
enabled=0 saxlasanız, şüşə yansımanı itirir və köhnə rejimi istifadə etməyə qayıdır.
VACİB: yağışlı şüşə hissələrində yansıma istifadə etməyin! Yalnız normal şüşələrdə istifadə edilməlidir. Yağışlı şüşələr _transparent_ istifadə etməlidir.
Bəzi müasir avtobuslarda yumşaq düymələri olan elektron panel (Multiplex) var.

Teksturalar orada specialTextures bölməsində təyin olunur:
[specialTextures]
multiplexOff=MultiTextura.png
multiplexOn=MultiTextura.png
multiplexActive=MultiTextura_ON.png
Asanlaşdırmaq üçün həm mexaniki, həm də avtomatik üçün hər iki hissəni yerləşdirmək mümkündür və oyun oyunçunun seçiminə uyğun olaraq ekranı dəyişdirəcək. Hissələri sadəcə uyğun adlarla adlandırın.
Avtomatik transmissiya halında, 123DNR-ə malik Scania-lar dəstəklənmir, aktiv olan 3 olacaq.

Başa düşmək üçün nümunə modları axtarın və araşdırın, zəhmət olmasa.
_anim001_on, _click001_on..3ds faylında saxlayın.