Anyways, on to buisness.
Here is just how complex boning a unit can be, in those extreme cases: [Taken from USA Battleship]
Draw = W3DTankDraw ModuleTag_01 OkToChangeModelColor = Yes InitialRecoilSpeed = 120 MaxRecoilDistance = 8 RecoilSettleSpeed = 6 ConditionState = NONE Model = AVBattleSh Animation = AVBattleSh.AVBattleSh AnimationMode = LOOP Turret = Turret01 TurretPitch = TurretEL01 TurretArtAngle = 180 AltTurret = Turret02 AltTurretPitch = TurretEL02 WeaponFireFXBone = PRIMARY Tur1Muzzle WeaponRecoilBone = PRIMARY Tur1Barrel WeaponFireFXBone = SECONDARY Tur2Muzzle WeaponRecoilBone = SECONDARY Tur2Barrel ParticleSysBone = TreadFX02 BattleShipWaterRipples ParticleSysBone = TreadFX03 BattleShipWaterRipples ParticleSysBone = TreadFX04 BattleShipWaterRipples End
But really, it's very simple. This guide will show you all the different tags you might experience in coding.
;-------------------------------------- Lesson #1: The Turret:
Lets start from the beginning, with the turret and its codes.
Turret = Turret01 TurretPitch = TurretEL01 TurretArtAngle = 180
Turret - Very simple, the object which holds the barrels and rotates 360 degrees.
Turret Pitch - The object linked to the turret which controls up-and-down movement, like a gattling cannon.
Turret Art Angle - A rare tag, used for when you have a unit like a battleship where one turret has to point backwards when idle.
You usually have your primary weapon on the main turret, so you may have barrel coding similar to this:
WeaponFireFXBone = PRIMARY Tur1Muzzle WeaponRecoilBone = PRIMARY Tur1Barrel
WeaponFireFXBone - Where your tank muzzle smoke and all that good stuff comes out from.
WeaponRecoilBone - A fancy name for the object that recoils as the shot is fired.
;---- Others not seen in battleship's coding:
WeaponMuzzleFlash - Units with a modelled muzzle flash object have the bone name here. Often named things like MuzzleFX or TurretFX or BarrelFX
WeaponLaunchBone - Where the projectile comes out from, like a cruise missile or a tank round. I don't know why the battleship doesn't have this, but nearly all units except those that fire bullets will have this tag.
;-------------------------------------- Lesson #2: A second turret
When your unit has two turrets, you see these codes:
AltTurret = Turret02 AltTurretPitch = TurretEL02
AltTurret - The name of the object which is the second turret.
AltTurretPitch - As stated above, the object that controls pitch for the second turret.
You most likely have a secondary weapon fired from the secondary turret, so your barrels' coding may look like this:
WeaponFireFXBone = SECONDARY Tur2Muzzle WeaponRecoilBone = SECONDARY Tur2Barrel
These codes work the same way as the regular turret coding.
Also, one quick thing, how to code this turret to work is very simple. Find the unit's AIUpdate tag and paste this somewhere inside the AI Update:
AltTurret TurretTurnRate = 80 TurretPitchRate = 80 FirePitch = 15 ; Instead of aiming pitchwise at the target, it will aim here AllowsPitch = Yes RecenterTime = 5000; how long to wait during idle before recentering ControlledWeaponSlots = SECONDARY End
Make sure the ControlledWeaponSlots area reads secondary, as the altturret controls the secondary weapon.
Everything else is very self explanatory.
;--------------------------------- Lesson #3: Still to come
If you have any requests for additions to this tutorial, please feel free to ask in this thread. It can be anything, as long as it is about boning units.
Edited by Jordan, 24 July 2010 - 18:45.