sure thing.
but, i’m not resposnable for the headache ahead.
the very first thing you need, is an empty map.
second of all, go to the coordinate 0 ( which you can recognize as it has it’s own " cross " which can be seen everywhere since you cannot turn it off )
second of all, set up spawns and camera next to the 0.
so you won’t have to lose too much time each time you restart.
because trust me, you’ll be doing that more than anyone would like to.
in my case here, i made a plaftform for my self.
which you can place in your scene.blk ( works for selow, not so sure for others )
this platform is useful to allow you from preventing vehicles ending up in water, and allows you to place objects on the edges.
so with the preparations in place, is what you will need to do individually for each situation,
Keep in mind, the method is roughly the same, but the attachment nodes will be different. and for how much obvious that might sound, each node has different axes, and might completely work differently from the other methods.
Vehicles Attachments
vehicles for the most part, are simple. depending what you want to do, but most of the decorations will be placed on the node: Root
attaching to vehicles means, not only decorations, but functional tools too such as adding repair kits, or medkits as i did, or even custom rendinsts objects.
https://i-enlisted.cdn.gaijin.net/original/3X/b/c/bc9f34cac45526a34c5f846b73988ebb51022e95.jpeg
https://i-enlisted.cdn.gaijin.net/original/3X/7/d/7dfcd7dd0b95506bbe7c88a1cf4948b71bc5698c.jpeg
here is the code:
full code
germ_sdkfz_251_1_transport{
_use:t="base_sdkfz_251_1"
_use:t="tank_light_vehicle_tracks_sound"
_use:t="forestall"
_use:t="car_vehicle_horn_sound"
_use:t="vehicle_horn_note_D5"
_use:t="halftrack_seats"
commanderFpsCamMaxAngle:p2=40.0, 40.0
item__iconOffset:p2=0.0, 0.3
item__iconScale:r=1.6
cockpit__zoomOutFov:r=1.5
cockpit__zoomInFov:r=2.0
commanderCockpitFpsCamMaxAngle:p2=40.0, 5.0
gunner_cam_limit__useCockpitDir:b=yes
vehicle_commander_cam__attachToVehicle:b=yes
"vehicle__isExplosionFatal:b"{
_tags:t="server"
value:b=yes
}
"attach_decorators__entities:list<eid>"{
}
"attach_decorators__templates:array"{
"attach_decorators__templates:object"{
relativeTm:m=[[-6.31983e-08, -0.909492, 0.415721] [1, -6.31983e-08, 1.37591e-08] [1.37591e-08, 0.415721, 0.909492] [-0.19, 1.48, 0.81]]
template:t="ger_ammunition_wwii"
nodeName:t="root"
}
"attach_decorators__templates:object"{
relativeTm:m=[[4.37114e-08, -7.10543e-15, -1] [-0.913897, -0.405946, -3.99477e-08] [-0.405946, 0.913897, -1.77445e-08] [-1.76, 1.16, 0.79]]
template:t="german_backpack_tan_decor"
nodeName:t="root"
}
"attach_decorators__templates:object"{
relativeTm:m=[[-1, 8.74228e-08, -3.55271e-15] [-7.12946e-08, -0.815515, 0.578735] [5.05947e-08, 0.578735, 0.815516] [-2.10, 1.58, 0.97]]
template:t="tank_decor_box_01_decor"
nodeName:t="root"
}
"attach_decorators__templates:object"{
relativeTm:m=[[-1, 8.74228e-08, -3.55271e-15] [-7.12946e-08, -0.815515, 0.578735] [5.05947e-08, 0.578735, 0.815516] [-1.17, 1.52, 0.88]]
template:t="ger_repair_kit_item+item_in_world"
nodeName:t="root"
}
"attach_decorators__templates:object"{
relativeTm:m=[[0.258819, -0.965926, -5.96046e-08] [0.965926, 0.258819, -4.9738e-14] [1.54269e-08, -5.75736e-08, 1] [-1.70, 1.38, -0.75]]
template:t="guitar"
nodeName:t="root"
}
"attach_decorators__templates:object"{
relativeTm:m=[[9.27258e-08, -0.70058, -0.713573] [-1, -2.99867e-08, -1.00505e-07] [4.90141e-08, 0.713573, -0.70058] [-1.17, 1.57, -0.87]]
template:t="grenades"
nodeName:t="root"
}
"attach_decorators__templates:object"{
relativeTm:m=[[0.7982, -0.0501598, -3.59263e-07] [-3.58111e-07, 2.95967e-08, -0.799774] [0.0501597, 0.798198, 7.0786e-09] [1.38, -0.36, 0.05]]
template:t="german_balkenkreuz_flag_turret_decor"
nodeName:t="root"
}
"attach_decorators__templates:object"{
relativeTm:m=[[-1, 8.74228e-08, -3.55271e-15] [-7.12946e-08, -0.815515, 0.578735] [5.05947e-08, 0.578735, 0.815516] [-1.16, 1.46, -0.99]]
template:t="decor_panzerfaust_60+panzerfaust_100_gun_vehicle_item"
nodeName:t="root"
}
"attach_decorators__templates:object"{
relativeTm:m=[[-0.0091281, -0.600274, 0.799742] [0.00778826, 0.799708, 0.600338] [-0.999928, 0.0117086, -0.00262473] [-0.03, 1.55, -0.89]]
template:t="jap_advanced_medkit_item+item_in_world"
nodeName:t="root"
}
}
"vehicle_seats__effectors:array"{
}
"dm_parts_repair_names:list<t>"{
part:t="part:t="
part:t="drive_turret_h"
part:t="drive_turret_v"
part:t="cannon_breech"
part:t="engine"
part:t="transmission"
part:t="gun_barrel"
part:t="gun_barrel_01"
part:t="gun_barrel_02"
part:t="gun_barrel_03"
part:t="gun_barrel_04"
part:t="gun_barrel_05"
part:t="track_r"
part:t="track_l"
part:t="track_r_01"
part:t="track_l_01"
part:t="wheel_l_back"
part:t="wheel_l_front"
part:t="wheel_l_drive"
part:t="wheel_r_back"
part:t="wheel_r_front"
part:t="wheel_r_drive"
part:t="wheel_r_01"
part:t="wheel_l_01"
}
"disableDMParts:list<t>"{
part:t="ex_decor_r_06"
part:t="ex_decor_r_05"
}
_group{
_tags:t="render"
animchar_camera_target__node_name:t="gun_barrel_01"
animchar_camera_target__node_offset:p3=0.0, 1.0, 0.0
animchar_camera_target__nodeIndex:i=-1
}
"vehicle_seats__seatsProvideOrder:tag"{
}
"vehicle_seats__seats:shared:array"{
"seats:object"{
name:t="main_gunner"
locName:t="vehicle_seats/gunner"
attachNode:t="gunner"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[0.998634, -0.0522494, 3.22645e-15] [0.0522494, 0.998634, 5.83176e-09] [-3.04709e-10, -5.82379e-09, 1.0] [0.0, -0.21, -0.0]]
seatComponent:t="isGunner"
nextSeat:t="driver"
shouldHideOwner:b=no
receiveDamageFromDMPart:t="gunner"
cameraNodeName:t="gun_barrel_01"
directTurretControl:b=yes
canPlaceManually:b=yes
cameraOffset:p3=-0.2, 0.2, 0.0
isHoldGunModeAllowed:b=no
"turretNames:array"{
turretNames:t="turret_01"
}
"loaderTurretNames:array"{
turret:t="turret_01"
}
"effectors:object"{
r.hand:t="righthand_2"
l.hand:t="lefthand_2"
r.foot:t="pedal_rfoot_2"
l.foot:t="pedal_lfoot_2"
}
}
"seats:object"{
name:t="driver"
locName:t="vehicle_seats/driver"
seatOwnsEntityControl:b=yes
attachNode:t="driver"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[0.992464, 0.121849, 8.6818e-14] [-0.121849, 0.992464, -3.38511e-08] [-4.12471e-09, 3.35951e-08, 0.999806] [-0.11, -0.36, 0.02]]
seatComponent:t="isDriver"
nextSeat:t="main_gunner"
shouldHideOwner:b=no
receiveDamageFromDMPart:t="driver"
cameraNodeName:t="bone_camera_driver"
seatAnimUpper:t="drive_passenger"
seatAnimLower:t="drive_passenger"
cameraType:t="commander"
cameraOffset:p3=-0.4, 0.0, 0.0
isHoldGunModeAllowed:b=no
canPlaceManually:b=yes
cockpitTemplate:t="germ_sdkfz_251_1_driver_cockpit"
"effectors:object"{
r.hand:t="righthand_4"
l.hand:t="lefthand_4"
r.foot:t="pedal_rfoot_4"
l.foot:t="pedal_lfoot_4"
}
}
"seats:object"{
name:t="passenger"
attachNode:t="root"
locName:t="vehicle_seats/shooter"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[-5.66093e-08, 0.0, 0.949747] [-0.0, 0.949492, 0.0] [-0.949743, -0.0, -5.66091e-08] [-1.0, 1.15, -0.58]]
seatComponent:t="isPassenger"
shouldHideOwner:b=no
cameraNodeName:t="bone_camera_driver"
canPlaceManually:b=yes
seatEnum:t="stool_seat"
holdingGunPassengerVertLookLimit:p2=0.0, 85.0
}
"seats:object"{
name:t="passenger"
attachNode:t="root"
locName:t="vehicle_seats/shooter"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[-5.66213e-08, 0.0, -0.949948] [0.0, 0.949743, 0.0] [0.949899, 0.0, -5.66184e-08] [-1.05, 1.15, 0.56]]
seatComponent:t="isPassenger"
shouldHideOwner:b=no
cameraNodeName:t="bone_camera_driver"
canPlaceManually:b=yes
seatEnum:t="stool_seat"
holdingGunPassengerVertLookLimit:p2=0.0, 85.0
}
"seats:object"{
name:t="passenger"
attachNode:t="root"
locName:t="vehicle_seats/shooter"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[-5.66093e-08, 0.0, 0.949747] [-0.0, 0.949492, 0.0] [-0.949743, -0.0, -5.66091e-08] [-1.5, 1.15, -0.58]]
seatComponent:t="isPassenger"
shouldHideOwner:b=no
cameraNodeName:t="bone_camera_driver"
canPlaceManually:b=yes
seatEnum:t="stool_seat"
holdingGunPassengerVertLookLimit:p2=0.0, 85.0
}
"seats:object"{
name:t="passenger"
attachNode:t="root"
locName:t="vehicle_seats/shooter"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[-5.66213e-08, 0.0, -0.949948] [0.0, 0.949743, 0.0] [0.949899, 0.0, -5.66184e-08] [-1.55, 1.15, 0.56]]
seatComponent:t="isPassenger"
shouldHideOwner:b=no
cameraNodeName:t="bone_camera_driver"
canPlaceManually:b=yes
seatEnum:t="stool_seat"
holdingGunPassengerVertLookLimit:p2=0.0, 85.0
}
"seats:object"{
name:t="passenger"
attachNode:t="root"
locName:t="vehicle_seats/shooter"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[-5.66093e-08, 0.0, 0.949747] [-0.0, 0.949492, 0.0] [-0.949743, -0.0, -5.66091e-08] [-2.0, 1.15, -0.58]]
seatComponent:t="isPassenger"
shouldHideOwner:b=no
cameraNodeName:t="bone_camera_driver"
canPlaceManually:b=yes
seatEnum:t="stool_seat"
holdingGunPassengerVertLookLimit:p2=0.0, 85.0
}
"seats:object"{
name:t="passenger"
locName:t="vehicle_seats/shooter"
attachNode:t="commander"
shouldHideOwner:b=no
ignoreAttachNodeRotation:b=yes
attachTm:m=[[0.9756, -0.207853, 0.0681933] [0.217301, 0.956563, -0.193191] [-0.0250834, 0.203356, 0.978681] [1.31, -0.5, -0.02]]
seatComponent:t="isPassenger"
receiveDamageFromDMPart:t="commander"
seatAnimUpper:t="drive_passenger"
seatAnimLower:t="drive_passenger"
canPlaceManually:b=yes
seatEnum:t="stool_seat"
holdingGunPassengerVertLookLimit:p2=0.0, 85.0
}
"seats:object"{
name:t="passenger"
locName:t="vehicle_seats/shooter"
attachNode:t="machine_gunner"
shouldHideOwner:b=no
ignoreAttachNodeRotation:b=yes
attachTm:m=[[0.981638, 0.190809, 0.0] [-0.190809, 0.981638, 0.0] [0.0, 0.0, 1.00012] [-0.09, -0.36, 0.02]]
seatComponent:t="isPassenger"
isHoldGunModeAllowed:b=no
receiveDamageFromDMPart:t="commander"
seatAnimUpper:t="drive_passenger"
seatAnimLower:t="drive_passenger"
canPlaceManually:b=yes
cockpitTemplate:t="germ_sdkfz_251_1_passenger_cockpit"
"effectors:object"{
r.hand:t="righthand_5"
l.hand:t="lefthand_5"
r.foot:t="pedal_rfoot_5"
l.foot:t="pedal_lfoot_5"
}
}
"seats:object"{
name:t="passenger"
attachNode:t="root"
locName:t="vehicle_seats/shooter"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[-5.66213e-08, 0.0, -0.949948] [0.0, 0.949743, 0.0] [0.949899, 0.0, -5.66184e-08] [-2.05, 1.15, 0.56]]
seatComponent:t="isPassenger"
shouldHideOwner:b=no
cameraNodeName:t="bone_camera_driver"
canPlaceManually:b=yes
seatEnum:t="stool_seat"
holdingGunPassengerVertLookLimit:p2=0.0, 85.0
}
"seats:object"{
name:t="passenger"
attachNode:t="root"
locName:t="vehicle_seats/shooter"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[1.90355e-06, -0.258413, 0.964424] [-1.43542e-06, 0.962215, 0.257821] [-0.998741, -1.87868e-06, 1.46732e-06] [-1.0, 1.1, -0.62]]
seatComponent:t="isPassenger"
isHoldGunModeAllowed:b=no
cameraNodeName:t="bone_camera_driver"
shouldHideOwner:b=yes
}
"seats:object"{
name:t="passenger"
attachNode:t="root"
locName:t="vehicle_seats/shooter"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[7.94122e-07, -0.104399, -0.993303] [2.42817e-06, 0.991231, -0.104181] [0.998935, -2.32787e-06, 1.04379e-06] [-1.0, 11.0, 0.54]]
seatComponent:t="isPassenger"
isHoldGunModeAllowed:b=no
cameraNodeName:t="bone_camera_driver"
shouldHideOwner:b=yes
}
"seats:object"{
name:t="passenger"
attachNode:t="root"
locName:t="vehicle_seats/shooter"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[1.90355e-06, -0.258413, 0.964424] [-1.43542e-06, 0.962215, 0.257821] [-0.998741, -1.87868e-06, 1.46732e-06] [-1.5, 1.1, -0.62]]
seatComponent:t="isPassenger"
isHoldGunModeAllowed:b=no
cameraNodeName:t="bone_camera_driver"
shouldHideOwner:b=yes
}
"seats:object"{
name:t="passenger"
attachNode:t="root"
locName:t="vehicle_seats/shooter"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[7.94122e-07, -0.104399, -0.993303] [2.42817e-06, 0.991231, -0.104181] [0.998935, -2.32787e-06, 1.04379e-06] [-1.5, 1.1, 0.54]]
seatComponent:t="isPassenger"
isHoldGunModeAllowed:b=no
cameraNodeName:t="bone_camera_driver"
shouldHideOwner:b=yes
}
"seats:object"{
name:t="passenger"
attachNode:t="root"
locName:t="vehicle_seats/shooter"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[-5.66093e-08, 0.0, 0.949747] [-0.0, 0.949492, 0.0] [-0.949743, -0.0, -5.66091e-08] [-2.0, 1.1, -0.62]]
seatComponent:t="isPassenger"
isHoldGunModeAllowed:b=no
cameraNodeName:t="bone_camera_driver"
shouldHideOwner:b=yes
}
"seats:object"{
name:t="passenger"
attachNode:t="root"
locName:t="vehicle_seats/shooter"
ignoreAttachNodeRotation:b=yes
attachTm:m=[[7.94122e-07, -0.104399, -0.993303] [2.42817e-06, 0.991231, -0.104181] [0.998935, -2.32787e-06, 1.04379e-06] [-2.0, 1.1, 0.54]]
seatComponent:t="isPassenger"
isHoldGunModeAllowed:b=no
cameraNodeName:t="bone_camera_driver"
shouldHideOwner:b=yes
}
}
"animcharDecals:AnimcharDecals"{
}
"animcharDecalsData:array"{
"animcharDecalsData:object"{
textureName:t="simple_09"
slot:i=0
scale:r=2.0
rotation:r=90.0
twoSided:b=true
oppositeMirrored:b=true
mirrored:b=true
dProj0:p4=0.0, 1.0, 1.5, -1.
dProj1:p4=0, 0, 0, 0
uProj0:p4=-0.968, 0.251, 0.002, 2.037
uProj1:p4=0, 0, 0, 0
vProj0:p4=-0.241, -0.935, 0.259, 1.048
vProj1:p4=0, 0, 0, 0
locNorm0:p3=0.067, 0.25, 0.966
locNorm1:p3=0, 0, 0
locPos0:p3=1.659, 273, 0.415
locPos1:p3=0, 0, 0
}
}
}
// custom decoration
german_backpack_tan_decor{
_use:t="game_rendinst_decor"
_use:t="base_vehicle_decor"
ri_extra__name:t="mbs_backpack_a"
ri_extra__hasCollision:b=no
animchar__res:t="sandbag_single_decor_c_char"
collres__res:t="sandbag_single_decor_c_collision"
animchar_render__enabled:b=no
}
of interest, more precisely, what allows things to get attached in the first place, it’s the entity which
every code will need::
"attach_decorators__entities:list<eid>"{
}
"attach_decorators__templates:array"{
"attach_decorators__templates:object"{
relativeTm:m=[[...]]
template:t=""
nodeName:t=""
}
}
which, by defining the template, and giving it a nome, the game will take what you feed the info, and apply them phisically on the vehicle. which moves when that one moves too.
additionally, as previously hinted, if we analyze the different kind that i have used:
we can see a medkit, placed on the side, which you can pick up:
same for the tool kit and what not.
so, for the sake of examples ( and… i needed to do one )
we’ll try to recreate a sherman m4a2 with m1a1 blade dozer kit together!
additionally, perhaps, we’ll stich some decorations, and a toolbox kit.
to start, we’ll need the vehicle in entities.blk.
you can either create a new type of vehicle which you will be able to place on the map, or replace the existing one.
it depends what you are trying to do, but rule of thumb is,
-
if you want players to use it, or make the vehicle somewhat unique, you create a new type. additionally, can also be used in custom profiles
-
if you want players to spawn with it already, and just modify the vehicle it self, you “replace it”
so, it will look something like:
// If you want a new entity
m4a2_w_m1_blades{
_use:t="us_m4a2_sherman_1944"
}
// If you want to replace an existing one
us_m4a2_sherman_1944{
_override:b=yes
}
so, first things first,
- place the vehicle, and save it:
- open the scene.blk, find your vehicle, and change the following line transform with these coordinates:
( or simply open the vehicles properties and type 0,0,0 )
transform:m=[[1, 0, 0] [0, 1, 0] [0, 0, 1] [0, 0, 0]]
so we’ll have out vehicles on the platform:
- place all decorations that you need and want.
in my case, a medkit, an ammo tank box, the m1a1 dozer ( which it’s a rendinst ) and additionally, a bag ( another rendinst )
- if you you are planning on making rendinsts into actual decorations, you’ll need to transform them into a template for each over entities.blk .
in my case:
m1a1_dozer_decor{
_use:t="game_rendinst_decor"
_use:t="base_vehicle_decor"
ri_extra__name:t="ussr_tractor_c_65_bucket"
ri_extra__hasCollision:b=no
animchar__res:t="sandbag_single_decor_c_char"
collres__res:t="sandbag_single_decor_c_collision"
animchar_render__enabled:b=no
}
large_decor_bag{
_use:t="game_rendinst_decor"
_use:t="base_vehicle_decor"
ri_extra__name:t="canvas_roll"
ri_extra__hasCollision:b=no
animchar__res:t="sandbag_single_decor_c_char"
collres__res:t="sandbag_single_decor_c_collision"
animchar_render__enabled:b=no
}
you’ll see after why.
- move around and position where you would like said decorations to go:
ideally, in my case, this is where i would like them to go:
i would not recommend resizing in this first phase
- open both the entities.blk, and the scene.blk ( which should be already open by this point ) copy the templates and coordinates from the scene, and insert them over the entities:
in my case,
i’ll have to transform this:
entity{
_template:t="game_rendinst_decor"
transform:m=[[1, 0, 0] [0, -4.37114e-08, -1] [-0, 1, -4.37114e-08] [-0.416098, 1.28392, -1.19847]]
ri_extra__name:t="canvas_roll"
ri_extra__hasCollision:b=no
}
entity{
_template:t="game_rendinst_decor"
transform:m=[[1, 0, 0] [0, -1, -8.74228e-08] [-0, 8.74228e-08, -1] [1.63073, 1.21432, -0.00114463]]
ri_extra__name:t="ussr_tractor_c_65_bucket"
ri_extra__hasCollision:b=no
}
entity{
_template:t="jap_advanced_medkit_item+item_in_world+node_attached_itm"
transform:m=[[0.985727, -0.16835, 0] [0.16835, 0.985727, 0] [-0, 0, 1] [-3.06715, 1.25624, 0.390646]]
}
entity{
_template:t="usa_repair_kit_item+item_in_world"
transform:m=[[1, 0, 0] [0, 1, 0] [0, 0, 1] [-3.0757, 1.31182, -0.31937]]
}
entity{
_template:t="tank_decor_box_01_decor+item_in_world"
transform:m=[[1, 0, 0] [-0, -4.37114e-08, 1] [0, -1, -4.37114e-08] [-0.180569, 1.48062, 1.38751]]
}
from scene .blk into entities.blk
and the result should look like:
m4a2_w_m1_blades{
_use:t="us_m4a2_sherman_1944"
"attach_decorators__entities:list<eid>"{
}
"attach_decorators__templates:array"{
"attach_decorators__templates:object"{
relativeTm:m=[[1, 0, 0] [0, -4.37114e-08, -1] [-0, 1, -4.37114e-08] [-0.416098, 1.28392, -1.19847]]
template:t="large_decor_bag"
nodeName:t="root"
}
"attach_decorators__templates:object"{
relativeTm:m=[[1, 0, 0] [0, -1, -8.74228e-08] [-0, 8.74228e-08, -1] [1.63073, 1.21432, -0.00114463]]
template:t="m1a1_dozer_decor"
nodeName:t="root"
}
"attach_decorators__templates:object"{
relativeTm:m=[[0.985727, -0.16835, 0] [0.16835, 0.985727, 0] [-0, 0, 1] [-3.06715, 1.25624, 0.390646]]
template:t="jap_advanced_medkit_item+item_in_world"
nodeName:t="root"
}
"attach_decorators__templates:object"{
relativeTm:m=[[1, 0, 0] [0, 1, 0] [0, 0, 1] [-3.0757, 1.31182, -0.31937]]
template:t="usa_repair_kit_item+item_in_world"
nodeName:t="root"
}
"attach_decorators__templates:object"{
relativeTm:m=[[1, 0, 0] [-0, -4.37114e-08, 1] [0, -1, -4.37114e-08] [-0.180569, 1.48062, 1.38751]]
template:t="tank_decor_box_01_decor"
nodeName:t="root"
}
}
}
unfortunately. as you’ll soon find out. it’s not over.
but, save the conversion, and restart:
and you’ll be greated with horror:
miss placed objects not like you originally planned.
to fix this, there are two cases but… each objects have different axes and works differently from the editor, and the relatives. can’t say much beside play around.
BUT, the most cases, it’s the missplaced object:
such as, for example, my medkit and toolbox. the rotation is correct, but the placement, is not.
in order to fix it, you can select the " generated " item ( because that one is the one we are interested ) and remove the originally placed item:
and change around the numbers in this parameter inside your generated decoration:
( if it doesn’t work, try to drag it normally. because sometimes it allows you to drag it around, other times it doesn’t let you, and therefore you’ll have to tweak those parameters manually. just as a side note, if you are able to drag it, double click on the localTm
to refresh numbers. otherwise you save it’s original position ( the incorrect one and i learned that the hard way ) to then paste the refreshed numbers onto entities .blk )
-
save these numbers, and replace them in entities.blk.
-
and do pretty much the same for those who the rotation remained the same, but were just misslocated.
on the other hand, for those who rotation changed, and other parameters,
keep the original item that you placed, and try to change of 90° one of the rotation axes.
very hard to tell, since as previously said, each object works in a different way.
but, in my case, i noticed that the item is inverted of 180°
which, for experience, as previously hinted, to understand how it works, try to rotate of only 90°. which it will be easier to understand and fix later.
because things aren’t precisely like how they look.
for example, in my case; i know that the object is inverted of 180°, logically, one would use the " red " axe, but if i do:
upon saving and restarting ( and changing the numbers from the scene to .blk to entities .blk ):
it… actually worked. uh. didn’t expected that to be honest. because it’s very rare, and something you’ll have to take in consideration.
because sometimes it doesn’t.
it mostly depend from the object. but yeah, you gotta play around and lots of trial and error.
anyway, since the position is okey, gotta fix it’s current location and remove the first placed decor since i don’t need it anymore.
and the same happens with the scale.
you’ll have to play around. but i know for certain there that axes are not correlated to the editor.
for example, the height of an object might change the lenght instead.
or the lenght might change the wideness instead. truly messy.
but despite the difficulties we managed to make a sherman dozer with different type of decorations ( some workings, others just visual ) by using rendinsts too!
code:
m4a2_w_m1_blades{
_use:t="us_m4a2_sherman_1944"
"attach_decorators__entities:list<eid>"{
}
"attach_decorators__templates:array"{
"attach_decorators__templates:object"{
relativeTm:m=[[1, 0, 0] [0, -4.37114e-08, -1] [-0, 1, -4.37114e-08] [-0.37, -1.53, 1.36]]
template:t="large_decor_bag"
nodeName:t="root"
}
"attach_decorators__templates:object"{
relativeTm:m=[[1, 0, 0] [0, -1, -8.74228e-08] [-0, 8.74228e-08, -1] [1.65, -0.03, 1.13]]
template:t="m1a1_dozer_decor"
nodeName:t="root"
}
"attach_decorators__templates:object"{
relativeTm:m=[[0.985727, -0.16835, 0] [0.16835, 0.985727, 0] [-0, 0, 1] [-3.10, 0.36, 1.30]]
template:t="jap_advanced_medkit_item+item_in_world"
nodeName:t="root"
}
"attach_decorators__templates:object"{
relativeTm:m=[[1, 0, 0] [0, 1, 0] [0, 0, 1] [-3.10, -0.30, 1.30]]
template:t="usa_repair_kit_item+item_in_world"
nodeName:t="root"
}
"attach_decorators__templates:object"{
relativeTm:m=[[1, 0, -0] [-0, 1.31134e-07, -1] [0, 1, 1.31134e-07] [-0.180569, 1.48062, 1.38751]]
template:t="tank_decor_box_01_decor"
nodeName:t="root"
}
}
}