Viseur d'arme
Cet exemple de code montre comment attacher un mesh de viseur custom sur une arme et le rendre fonctionnel.
Server/Index.lua
-- Création d'une AK47
local my_ak47 = NanosWorldWeapons.AK47(Vector(1035, 154, 300), Rotator())
-- Ajoute un StaticMesh de viseur point rouge a l'AK47 sur le bone "sight_socket". Notre AK47 disposant déjà d'un bone nommé "sight_socket" au bon emplacement sur l'arme, nous pouvons simplement y attacher le viseur. Si l'arme ne dispose pas d'un bone pré-configuré, il aurait été nécessaire d'attacher le viseur a un bone dont le nom est "" (empty) et modifier sa position en modifiant sont Attach Location pour correspondre à l'emplacement idéal
my_ak47:AddStaticMeshAttached("sight", "nanos-world::SM_T4_Sight", "sight_socket")
-- Modifie du coeficient de FOV a 0.35x lors de la visée
my_ak47.SightFOVMultiplier = 0.35
-- Définit le décalage de la visée afin de correspondre au centre du viseur,
-- ce decalage devra être adapté a chaque arme. Pour l'AK47, le viseur point rouge est idéalement placé a Z = -15.9
my_ak47:SetSightTransform(Vector(0, 0, -15.9), Rotator(0, 0, 0))
Quelques Static Mesh pouvant être utilisés comme viseur :
nanos-world::SM_T4_Sight
nanos-world::SM_Vertgrip
nanos-world::SM_Suppressor
nanos-world::SM_Scope_25x56_X