Setup a tall ship in CE V issues, incl. suggestions for new vehicle editor,

#1
Hi everyone,

unfortunately I cant write my hints and experience to the hub, in reason of missing "rep-points". Since 2007 (Crysis 1) I try with every new build of CRYENGINE to setup a fully working tall ship into the CE. But I am an 3D-Artist and cant code, so far I do what I learned through the CE-builds. For references you can visit my website : http://www.drakes-legacy.com
My currently used build: CRYENGINE 5.3.2.

I suggested a few things regarding a new vehicle editor GUI and hope these will be mentioned.

Everyone who is willing to help, please feel free to reply. Serious users can get the sample asset and try by themself what we can realize.

1.) The size-issue
At first the CRYENGINE need to know what size the ship have. It have a big height and depth below the waterline.

A screenshot:
Image

2.) Too little options for setup a tall ship. I thinks thats just a few lines of code to make it available:

A screenshot:
Image

3.) Linking parts
There are 2 ways for adding parts to the ship. Its parts and submodels consists of many triangles, too much to be just a one-group export. This circumstance needs to deal with limitations.

3.1. The first option is to give the cryexportnode and its group a parented helper node and finaly helpers. Every helper will be linked to the relevant parts in the vehicle XML.
Below a screenshot:
Image

As you can see on the image above, we just have one group below the _helper node and a lot of helpers. Now we need to add the needed content by using code in the XML.
Below the code:
<Vehicle name="St_Albans_1">
<Physics damping="10" pushable="0">
<Buoyancy waterDensity="80" waterResistance="100" waterDamping="1"/>
<Simulation maxTimeStep="0.02" minEnergy="0.16" maxLoggedCollisions="2"/>
</Physics>
<Damages collDamageThreshold="50">
<DamageMultipliers>
<DamageMultiplier damageType="melee" multiplier="0.0"/>
<DamageMultiplier damageType="bullet" multiplier="0.1"/>
<DamageMultiplier damageType="collision" multiplier="0.1"/>
<DamageMultiplier damageType="explosion" multiplier="2" splash="0.5"/>
</DamageMultipliers>
<DamagesGroups>
<DamagesGroup name="Destroy" useTemplate="BoatDestroy">
<DamagesSubGroups>
<DamagesSubGroup delay="0" randomness="0.5">
<DamageBehaviors>
<DamageBehavior class="Impulse" damageRatioMin="1" ignoreVehicleDestruction="0">
<Impulse forceMin="6" forceMax="7" direction="0,0,1" momentum="0.75,0.85,0" helper="wakePos"/>
</DamageBehavior>
</DamageBehaviors>
</DamagesSubGroup>
</DamagesSubGroups>
</DamagesGroup>
</DamagesGroups>
</Damages>
<Components>
<Component name="hull" damageMax="600" major="1" minBound="0,0,0" maxBound="0,0,0" useBoundsFromParts="0" id="idHull" position="0,-5,3" size="12,44,15">
<DamageBehaviors>
<DamageBehavior class="Group" damageRatioMin="1">
<Group name="Destroy"/>
</DamageBehavior>
<DamageBehavior class="Indicator" damageRatioMin="0.75">
<Indicator>
<Light material="" sound="sounds/vehicles:vehicle_accessories:warning_beep_boat" soundRatioMin="0.75" helper="driver_sit_pos"/>
</Indicator>
</DamageBehavior>
<DamageBehavior class="Effect" damageRatioMin="0.25" damageRatioMax="0.75" ignoreVehicleDestruction="1">
<Effect effect="HullDamaged25"/>
</DamageBehavior>
<DamageBehavior class="Effect" damageRatioMin="0.75" damageRatioMax="1" ignoreVehicleDestruction="1">
<Effect effect="HullDamaged75"/>
</DamageBehavior>
</DamageBehaviors>
</Component>
<Component name="EnterDriver" damageMax="0" major="1" minBound="-1.8459001,-20.712999,5.3621001" maxBound="1.7991,-18.2873,7.3656001" useBoundsFromParts="0" position="0,-19.7,6.5" size="2,2,2">
<DamageBehaviors />
</Component>
<Component name="leftEngine" damageMax="150" major="1" minBound="-0.849,-4.79,0.316" maxBound="-0.114,-3.7,2.2" useBoundsFromParts="0" hullAffection="1" position="-0.4814,-4.2451,1.258" size="0.735,1.09,1.884">
<DamageMultipliers />
<DamageBehaviors>
<DamageBehavior class="MovementNotification" damageRatioMin="0.25">
<MovementNotification isFatal="0"/>
</DamageBehavior>
<DamageBehavior class="Effect" damageRatioMin="0.75">
<Effect effect="leftEngineSmoke" disableAfterExplosion="1"/>
</DamageBehavior>
<DamageBehavior class="Burn" damageRatioMin="0.75">
<Burn damage="1" helper="vehicleBurnPos" interval="0.5" radius="1.5" selfDamage="8"/>
</DamageBehavior>
</DamageBehaviors>
</Component>
<Component name="rightEngine" damageMax="150" major="1" minBound="0.1082,-4.793,0.29" maxBound="0.803,-3.7,2.2" useBoundsFromParts="0" hullAffection="1" position="0.4556,-4.2466,1.245" size="0.6948,1.093,1.91">
<DamageMultipliers />
<DamageBehaviors>
<DamageBehavior class="MovementNotification" damageRatioMin="0.25">
<MovementNotification isFatal="0"/>
</DamageBehavior>
<DamageBehavior class="Effect" damageRatioMin="0.75">
<Effect effect="rightEngineSmoke" disableAfterExplosion="1"/>
</DamageBehavior>
<DamageBehavior class="Burn" damageRatioMin="0.75">
<Burn damage="1" helper="vehicleBurnPos" interval="0.5" radius="1.5" selfDamage="8"/>
</DamageBehavior>
</DamageBehaviors>
</Component>
<Component name="FlippedOver" damageMax="1" major="0" minBound="0,0,0" maxBound="0,0,0" useBoundsFromParts="1">
<DamageBehaviors>
<DamageBehavior class="Effect" damageRatioMin="1">
<Effect effect="VehicleFlipped" disableAfterExplosion="1"/>
</DamageBehavior>
<DamageBehavior class="Burn">
<Burn helper="" damage="0" selfDamage="40" radius="5" interval="0.5"/>
</DamageBehavior>
</DamageBehaviors>
</Component>
</Components>
<Parts>
<Part name="chassis" class="Animated" mass="0" disablePhysics="0">
<Parts>
<Part name="steering_wheel" class="AnimatedJoint" mass="0">
<AnimatedJoint />
</Part>
<Part name="attachment_foremast_yard1" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_12.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_foremast_yard2" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_13.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_foremast_yard3" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_14.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_mainmast_yard1" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_17.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_mainmast_yard2" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_18.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_mainmast_yard3" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_19.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_mizzenmast_yard1" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_22.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_mizzenmast_yard2" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_23.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_mizzenmast_yard3" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_24.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_2" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_2.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_3" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_3.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_4" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_4.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_5" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_5.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_6" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_6.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_7" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_7.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_8" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_8.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_9" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_9.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_10" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_10.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_11" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_11.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_15" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_15.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_16" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_16.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_20" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_20.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_21" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_21.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_25" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_25.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_26" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_26.cgf" filenameDestroyed=""/>
</Part>
</Parts>
<Animated filename="drakes_legacy/ships/st_albans_1.cga" filenameDestroyed="drakes_legacy/ships/st_albans1_damaged.cga" id="idAnimatedPart"/>
</Part>
<Part name="mass" class="MassBox" component="" mass="10000" position="0,-4.5,-2" disablePhysics="0" disableCollision="0" isHidden="0">
<Helpers />
<MassBox size="5,18,2"/>
</Part>
<Part name="navLight" class="Light" helper="navLight">
<Light type="HeliGreen"/>
</Part>
</Parts>
<Helpers>
<Helper name="driver_eye_pos" position="-0.5,-19.9993,7.0426" direction="0.0097,0.9846,-0.1747"/>
<Helper name="driver_sit_pos" position="-0.2,-20.1997,6.8426" direction="0.0236,0.9968,-0.077"/>
<Helper name="driver_enter_left" position="0,-20,7.0426" direction="0.0006,0.9945,-0.1045" part="chassis"/>
<Helper name="passenger_enter_left1" position="0.2002,-19.9993,6.8426" direction="0.1055,0.9873,-0.1185" part="chassis"/>
<Helper name="passenger_enter_left2" position="0,-19.9998,6.8426" direction="0.0193,0.9941,-0.1071" part="chassis"/>
<Helper name="passenger_enter_left3" position="-0.2002,-19.9995,6.8426" direction="0.0193,0.9941,-0.1071" part="chassis"/>
<Helper name="passenger_enter_right1" position="-0.3999,-19.9995,6.8426" direction="0.0193,0.9941,-0.1071" part="chassis"/>
<Helper name="passenger_enter_right2" position="-0.6001,-19.9993,6.8426" direction="0.0193,0.9941,-0.1071" part="chassis"/>
<Helper name="passenger_enter_right3" position="-0.7998,-19.9993,6.8426" direction="-0.99,0.0341,0.1372" part="chassis"/>
<Helper name="passenger_sit_01" position="0.2002,-19.9998,6.6426" direction="0.0236,0.9968,-0.077" part="chassis"/>
<Helper name="passenger_sit_02" position="0,-19.9993,6.6426" direction="0.0236,0.9968,-0.077" part="chassis"/>
<Helper name="passenger_sit_03" position="-0.1997,-19.9998,6.6426" direction="0.0236,0.9968,-0.077" part="chassis"/>
<Helper name="passenger_sit_04" position="-0.3999,-19.9993,6.6426" direction="0.0236,0.9968,-0.077" part="chassis"/>
<Helper name="passenger_sit_05" position="-0.6001,-19.9993,6.6426" direction="0.0236,0.9968,-0.077" part="chassis"/>
<Helper name="passenger_sit_06" position="-0.7998,-19.9998,6.6426" direction="0.0236,0.9968,-0.077" part="chassis"/>
<Helper name="propeller_left_pos" position="-0.5,-4.4993,-1.9574" direction="-0.0236,-0.9968,0.077"/>
<Helper name="propeller_right_pos" position="0.5,-4.4995,-1.9573" direction="-0.0236,-0.9968,0.077"/>
<Helper name="leftEngineSmokePos" position="-0.48,-4.5996,1.8926" direction="-0.0236,-0.9968,0.077"/>
<Helper name="rightEngineSmokePos" position="0.5,-4.5999,1.8926" direction="-0.0236,-0.9968,0.077"/>
<Helper name="sprayLeftPos" position="-4,12.0002,0.0426" direction="-0.99,0.0341,0.1372"/>
<Helper name="sprayRightPos" position="4,12.0007,0.0426" direction="0.99,-0.0341,-0.1372"/>
<Helper name="wakePos" position="0.0002,16.2004,-0.2574" direction="0.0236,0.9968,-0.077"/>
<Helper name="splashPos" position="0,16.3997,0.0426" direction="0.0236,0.9968,-0.077"/>
<Helper name="cornerForcePos" position="-0.0005,-0.1882,0.8926" direction="0.0236,0.9968,-0.077"/>
<Helper name="pushForcePos" position="0,-2.7498,0.1426" direction="0.0236,0.9968,-0.077"/>
<Helper name="engineSoundPos" position="0,-4.2004,1.7426" direction="-0.0236,-0.9968,0.077"/>
<Helper name="centerPos" position="0,0.0122,0.8926" direction="0.0236,0.9968,-0.077"/>
<Helper name="vehicleBurnPos" position="0,-3.3994,3.3426" direction="0.0236,0.9968,-0.077"/>
<Helper name="navLight" position="-1.2998,-3.4993,2.3026" direction="0.0236,0.9968,-0.077" part="chassis"/>
</Helpers>
<Actions>
<Action class="Enter">
<Activations>
<Activation type="OnUsed" param1="component" param2="EnterBottom"/>
</Activations>
<Enter>
<Seats>
<Seat value="driver"/>
</Seats>
</Enter>
</Action>
<Action class="Enter">
<Activations>
<Activation type="OnUsed" param1="component" param2="EnterDriver"/>
</Activations>
<Enter>
<Seats>
<Seat value="driver"/>
</Seats>
</Enter>
</Action>
</Actions>
<Seats>
<Seat name="driver" part="" enterHelper="driver_enter_left" sitHelper="driver_sit_pos" isDriver="1" AimPart="" seatGroupIndex="1" actionMap="vehicle_driver" exitHelper="passenger_exit_pos">
<Views>
<View class="FirstPerson" canRotate="1" rotationMin="-20,0,-70" rotationMax="20,0,70">
<FirstPerson offset="0,0,0.25" relativeToHorizon="0.5"/>
</View>
<View class="ThirdPerson" canRotate="1" rotationMin="-360,-360,-360" rotationMax="360,360,360">
<ThirdPerson distance="45" heightoffset="-10" speed="50"/>
</View>
</Views>
<SeatActions>
<SeatAction class="Sound">
<Sound sound="Sounds/vehicles:SpeedBoat:horn" helper="driver_sit_pos" id="seatActionSound1"/>
</SeatAction>
<SeatAction class="SteeringWheel">
<SteeringWheel vehicleAnimation="steeringWheel">
<Actions anglesMax="0,130,0"/>
</SteeringWheel>
</SeatAction>
<SeatAction class="Lights">
<Lights activation="toggle">
<LightParts>
<LightPart value="navLight"/>
</LightParts>
</Lights>
</SeatAction>
</SeatActions>
<Sounds inout="0" mood="0.6" id="idSeatSoundsLF"/>
</Seat>
<Seat name="passenger_01" part="" enterHelper="passenger_enter_left1" sitHelper="passenger_sit_01" isDriver="0" AimPart="" seatGroupIndex="2" exitHelper="passenger_exit_pos">
<Views>
<View class="FirstPerson" canRotate="1" rotationMin="-30,0,-70" rotationMax="20,0,70">
<FirstPerson offset="0,0,0"/>
</View>
<View class="ThirdPerson" canRotate="1">
<ThirdPerson distance="7" heightoffset="5" speed="50"/>
</View>
</Views>
<SeatActions />
<Sounds inout="1"/>
</Seat>
<Seat name="passenger_02" part="" enterHelper="passenger_enter_left2" sitHelper="passenger_sit_02" isDriver="0" AimPart="" seatGroupIndex="2" exitHelper="passenger_exit_pos">
<Views>
<View class="FirstPerson" canRotate="1" rotationMin="-30,0,-70" rotationMax="20,0,70">
<FirstPerson offset="0,0,0"/>
</View>
<View class="ThirdPerson" canRotate="1">
<ThirdPerson distance="7" heightoffset="5" speed="50"/>
</View>
</Views>
<SeatActions />
<Sounds inout="1"/>
</Seat>
<Seat name="passenger_03" part="" enterHelper="passenger_enter_left3" sitHelper="passenger_sit_03" isDriver="0" AimPart="" seatGroupIndex="2" exitHelper="passenger_exit_pos">
<Views>
<View class="FirstPerson" canRotate="1" rotationMin="-30,0,-70" rotationMax="20,0,70">
<FirstPerson offset="0,0,0"/>
</View>
<View class="ThirdPerson" canRotate="1">
<ThirdPerson distance="7" heightoffset="5" speed="50"/>
</View>
</Views>
<SeatActions />
<Sounds inout="1"/>
</Seat>
<Seat name="passenger_04" part="" enterHelper="passenger_enter_right1" sitHelper="passenger_sit_04" isDriver="0" AimPart="" seatGroupIndex="3" exitHelper="passenger_exit_pos">
<Views>
<View class="FirstPerson" canRotate="1" rotationMin="-30,0,-70" rotationMax="20,0,70">
<FirstPerson offset="0,0,0"/>
</View>
<View class="ThirdPerson" canRotate="1">
<ThirdPerson distance="7" heightoffset="5" speed="50"/>
</View>
</Views>
<SeatActions />
<Sounds inout="1"/>
</Seat>
<Seat name="passenger_05" part="" enterHelper="passenger_enter_right2" sitHelper="passenger_sit_05" isDriver="0" AimPart="" seatGroupIndex="3" exitHelper="passenger_exit_pos">
<Views>
<View class="FirstPerson" canRotate="1" rotationMin="-30,0,-70" rotationMax="20,0,70">
<FirstPerson offset="0,0,0"/>
</View>
<View class="ThirdPerson" canRotate="1">
<ThirdPerson distance="7" heightoffset="5" speed="50"/>
</View>
</Views>
<SeatActions />
<Sounds inout="1"/>
</Seat>
<Seat name="passenger_06" part="" enterHelper="passenger_enter_right3" sitHelper="passenger_sit_06" isDriver="0" AimPart="" seatGroupIndex="3" exitHelper="passenger_exit_pos">
<Views>
<View class="FirstPerson" canRotate="1" rotationMin="-30,0,-70" rotationMax="20,0,70">
<FirstPerson offset="0,0,0"/>
</View>
<View class="ThirdPerson" canRotate="1">
<ThirdPerson distance="7" heightoffset="5" speed="50"/>
</View>
</Views>
<SeatActions />
<Sounds inout="1"/>
</Seat>
</Seats>
<MovementParams>
<StdBoat velMax="40" velMaxReverse="10" acceleration="50" accelerationVelMax="1" accelerationMultiplier="10" pushHelper="pushForcePos" pushTilt="0" turnRateMax="1" turnAccel="0.9" turnAccelMultiplier="1" turnDamping="1.5" cornerForce="2.5" cornerHelper="cornerForcePos" cornerTilt="0" waveIdleStrength="0.8,0.2,0" waveEffect="Vehicles.Common.Sea.Light.Bounce">
<SoundParams engineSoundPosition="engineSoundPos" runSoundDelay="1" rpmPitchSpeed="1.2"/>
<Animations engine="propeller"/>
<Boost endurance="8" regeneration="8" strength="10"/>
</StdBoat>
</MovementParams>
<Particles>
<Exhaust insideWater="1" outsideWater="0">
<Helpers>
<Helper value="propeller_right_pos"/>
<Helper value="propeller_left_pos"/>
</Helpers>
<EngineStart effect="Vehicles.SpeedBoat.Engine.Start"/>
<EngineStop effect="Vehicles.SpeedBoat.Engine.Stop"/>
<EngineRunning effect="Vehicles.SpeedBoat.Engine.Running" boostEffect="Vehicles.SpeedBoat.Engine.Boost" baseSizeScale="1" minSpeed="0" minSpeedSizeScale="0.2" minSpeedCountScale="1" minSpeedSpeedScale="1" maxSpeed="30" maxSpeedSizeScale="1.25" maxSpeedCountScale="2" maxSpeedSpeedScale="1" minPower="0" minPowerSizeScale="1" minPowerCountScale="1" minPowerSpeedScale="1" maxPower="1" maxPowerSizeScale="1" maxPowerCountScale="1" maxPowerSpeedScale="1" disableWithNegativePower="0"/>
</Exhaust>
<DamageEffects>
<DamageEffect name="leftEngineSmoke" helper="leftEngineSmokePos" effect="Vehicles.SpeedBoat.Damage.Engine_L"/>
<DamageEffect name="rightEngineSmoke" helper="rightEngineSmokePos" effect="Vehicles.SpeedBoat.Damage.Engine_R"/>
<DamageEffect name="VehicleDestroyed" helper="" effect="Vehicles.SpeedBoat.Damage.Destroyed"/>
<DamageEffect name="VehicleFlipped" helper="centerPos" effect="Vehicles.SpeedBoat.Damage.Flipped"/>
<DamageEffect name="HullDamaged25" helper="vehicleBurnPos" effect="Vehicles.SpeedBoat.Damage.Hull_25" scaleMax="1" gravityDirection="0,0,0" pulsePeriod="0"/>
<DamageEffect name="HullDamaged75" helper="vehicleBurnPos" effect="Vehicles.SpeedBoat.Damage.Hull_75" scaleMax="1" gravityDirection="0,0,0" pulsePeriod="0"/>
</DamageEffects>
<EnvironmentLayers>
<EnvironmentLayer minSpeed="0.1" minSpeedSizeScale="1" minSpeedCountScale="1" minSpeedSpeedScale="1" maxSpeed="10" maxSpeedSizeScale="4" maxSpeedCountScale="1" maxSpeedSpeedScale="1" minPowerSizeScale="1" minPowerCountScale="1" maxPowerSizeScale="1" maxPowerCountScale="1">
<Alignment alignGroundHeight="0" maxHeightSizeScale="1" maxHeightCountScale="1" alignToWater="1"/>
<Emitters>
<Helper value="wakePos"/>
</Emitters>
<Wheels />
</EnvironmentLayer>
<EnvironmentLayer name="spray" minSpeed="0.5" minSpeedSizeScale="0.3" minSpeedCountScale="1" maxSpeed="1" maxSpeedSizeScale="3" maxSpeedCountScale="1" minPowerSizeScale="1" minPowerCountScale="1" maxPowerSizeScale="1" maxPowerCountScale="1">
<Alignment alignGroundHeight="0" maxHeightSizeScale="1" maxHeightCountScale="1" alignToWater="1"/>
<Emitters>
<Helper value="sprayLeftPos"/>
<Helper value="sprayRightPos"/>
</Emitters>
<Wheels />
</EnvironmentLayer>
</EnvironmentLayers>
</Particles>
<Animations>
<Animation name="steeringWheel" part="chassis">
<States>
<State name="" animation="asian_steeringWheel" isLooped="1" speedDefault="1" speedMin="1" speedMax="1"/>
</States>
</Animation>
<Animation name="propeller" part="chassis">
<States>
<State name="" animation="asian_rotor" isLooped="1" speedDefault="0.1" speedMin="0.1" speedMax="1"/>
</States>
</Animation>
</Animations>
</Vehicle>
The problem is, that we need to attach the physical proxy to the CGA (which contains just one part in one group node) or we set the whole proxy (limit 10.000 tris) to the CGA and left it off in the attached CGF files. In all cases the "swimming" of the ship is strange. The buoyancy and damping let it flip, turn, fly and what ever. Just a few settings work, bevor the whole ship "freezes" physically on the water surface,

3.2.) The second option is to setup all submodels to the cryexportnode and add just the movabale parts, like the yard arms. In this case you got the problem that the helper wont be shown anymore by using "e_debugdraw 15". The helpers work, just flip the axis of the attached parts and will be shown when using the obsolete vehicle editor.
Screenshot:
Image

As you can see in the picture above, I tried a few helper-options. Locaters, CRYENGINE helper nodes and joints. All of them will be shown by using the obsolete vehicle editor but no one by using "e_debugdraw 15".

The XML contains now the same content like in the example for 3.1. but without the hull-parts.

Screenshot: Missing helpers when using "e_debugdraw 15" (method 3.2.), but not right orientations of the attachments (see the yard arm):
Image

Screenshot: When using method 3.1., "e_debugdraw 15" works fine (you remember we have only one group node in the assets hierarchy)
Image

Screenshot: In the obsolete vehicle editor the helpers are right in place when using method 3.2.:
Image

4.) No entry and ship "driving" prossible

Why ever, the entering of the tall ship is not possible although all helpers are right in place. See picture below:
Image

It doesnt matter if I set helpers directly to the asset in Maya or not, it wont work. The "driving" of the vehicle is not possible.
last time this system worked well was Crysis 1 (CE2) 10 years ago. There, the vehicle system offered scalable helper dummys for options like "entry" (its a component there (screenshot):
Image

and the ship was drivable well (screenshot):
Image

In 5.3.2. the same setup diesnt have any effect (Screenshot):
Image

5.) Adding sails as cloth or cloth 2.0

A great advantage of newer CRYENGINE builds is the clothsystem. But unfortnately I didnt get any working result. I tried several methods, maybe someone have an idea for me.
- Linking a cloth entity to the ship via halper or directly let it move off its position (I know, cloth is frame expensive but just for test, because sails and flags needs a bit realtime interaction)
- The old obsolete "cloth merged mesh deform" is not working anymore
- Linking any other part to the vessel make it cloth working - wont work too.


So far my ideas and experience for a tall ship. Please note that my coding skill is low. I hope my suggestions will be noticed when the CRYENGINE team is creating a new vehicle system with new GUI.

Thank you very much for reading and I am looking forward for any reply!



EDIT: After deleting all components and helpers, the seedboat is still enterable, screenshot:
Image
Last edited by drakes_legacy on Wed Jul 12, 2017 6:27 pm, edited 1 time in total.

Re: Setup a tall ship in CE V issues, incl. suggestions for new vehicle editor,

#3
This will be an advantage for all. Especially the vehicle editor GUI will be a huge advantage to CE V.
Please post you actual experience into this thread maybe we can clear out a few actually helping workarounds.

In the last hour I have rewritten the whole vehicle.xml. Now the entering system works and the cameras but the ship wont swim anymore. There are some dependencies with assets boarders and these helpers. I have taken the original speedboat and deleted ALL components and helpers but the ship left enterable. So I got the idea that I need the helpers in the asset hierarchy too. But well, the speedboat sampleasset is outdated. I have set (in Maya) these helpers, the obsolete vehicle editor has shown (I guess the naming is case sensitive so I have taken all asset-helpers from the vehicle editor to Maya and placed them on their right positions:

Image

EDIT: Solved, please left off the helper "proxy_water" from the asset (in Maya). This helper was the reason why the ship wont swim anymore. Now I can enter the ship but driving is very strange. The ships is jump in the air and flipping around. The buoyancy-system cant setup good too. Some improvements for the ships height in the vehicle system is need.

And here the actual state of the xml
<Vehicle name="St_Albans_1b">
<Physics damping="0.05" pushable="0">
<Buoyancy waterDensity="225" waterResistance="300" waterDamping="0"/>
<Simulation maxTimeStep="0.02" minEnergy="0.16" maxLoggedCollisions="2"/>
</Physics>
<Damages collDamageThreshold="50">
<DamageMultipliers>
<DamageMultiplier damageType="PistolBullet" multiplier="0.1"/>
<DamageMultiplier damageType="PistolBulletIncendiary" multiplier="0.05"/>
<DamageMultiplier damageType="RifleBullet" multiplier="0.2"/>
<DamageMultiplier damageType="ShotgunShell" multiplier="0.125"/>
<DamageMultiplier damageType="ShotgunShellSolid" multiplier="0.125"/>
<DamageMultiplier damageType="ExplosiveGrenade" multiplier="2" splash="1"/>
<DamageMultiplier damageType="Rocket" multiplier="1" splash="1"/>
<DamageMultiplier damageType="melee" multiplier="0"/>
<DamageMultiplier damageType="collision" multiplier="0"/>
<DamageMultiplier damageType="explosion" multiplier="2" splash="0.5"/>
<DamageMultiplier damageType="frag" multiplier="2" splash="1"/>
</DamageMultipliers>
<DamagesGroups>
<DamagesGroup name="Destroy">
<DamagesSubGroups>
<DamagesSubGroup delay="0" randomness="0.5">
<DamageBehaviors>
<DamageBehavior class="Explosion">
<Explosion damage="300" helper="vehicleBurnPos" pressure="200" radius="10" minRadius="5" physRadius="3" minPhysRadius="2.2" soundRadius="150"/>
</DamageBehavior>
<DamageBehavior class="Impulse" ignoreVehicleDestruction="0">
<Impulse forceMin="3" forceMax="5" direction="0,0,-1" momentum="0.75,0.85,0" helper="wakePos"/>
</DamageBehavior>
<DamageBehavior class="Effect">
<Effect effect="VehicleDestroyed"/>
</DamageBehavior>
<DamageBehavior class="Destroy"/>
<DamageBehavior class="SpawnDebris"/>
<DamageBehavior class="Sink"/>
</DamageBehaviors>
</DamagesSubGroup>
</DamagesSubGroups>
</DamagesGroup>
</DamagesGroups>
</Damages>
<Components>
<Component name="hull" damageMax="3000" major="1" size="1,1,1" useBoundsFromParts="1" position="0,0,0">
<DamageBehaviors>
<DamageBehavior class="Group" damageRatioMin="1">
<Group name="Destroy"/>
</DamageBehavior>
<DamageBehavior class="Indicator" damageRatioMin="0.75">
<Indicator>
<Light material="" sound="sounds/vehicles:vehicle_accessories:warning_beep_boat" soundRatioMin="0.75" helper="driver_sit_pos"/>
</Indicator>
</DamageBehavior>
<DamageBehavior class="Effect" damageRatioMin="0.25" damageRatioMax="0.75" ignoreVehicleDestruction="1">
<Effect effect="HullDamaged25"/>
</DamageBehavior>
<DamageBehavior class="Effect" damageRatioMin="0.75" damageRatioMax="1" ignoreVehicleDestruction="1">
<Effect effect="HullDamaged75"/>
</DamageBehavior>
</DamageBehaviors>
</Component>
<Component name="engine_left" damageMax="500" major="1" minBound="-1.275,-5.15,0" maxBound="-0.575,-6.15,1.9" useBoundsFromParts="0" hullAffection="1" size="0,0,0">
<DamageBehaviors>
<DamageBehavior class="MovementNotification" damageRatioMin="0.25">
<MovementNotification isFatal="1"/>
</DamageBehavior>
<DamageBehavior class="Effect" damageRatioMin="0.75">
<Effect effect="leftEngineSmoke" disableAfterExplosion="1"/>
</DamageBehavior>
<DamageBehavior class="Burn" damageRatioMin="0.75">
<Burn damage="100" helper="vehicleBurnPos" interval="0.5" radius="1.5" selfDamage="50"/>
</DamageBehavior>
</DamageBehaviors>
</Component>
<Component name="engine_middle" damageMax="500" major="1" minBound="-0.35,-5.15,0" maxBound="0.35,-6.15,1.9" useBoundsFromParts="0" hullAffection="1" size="0,0,0">
<DamageBehaviors>
<DamageBehavior class="MovementNotification" damageRatioMin="0.25">
<MovementNotification isFatal="1"/>
</DamageBehavior>
<DamageBehavior class="Effect" damageRatioMin="0.75">
<Effect effect="leftEngineSmoke" disableAfterExplosion="1"/>
</DamageBehavior>
<DamageBehavior class="Burn" damageRatioMin="0.75">
<Burn damage="100" helper="vehicleBurnPos" interval="0.5" radius="1.5" selfDamage="50"/>
</DamageBehavior>
</DamageBehaviors>
</Component>
<Component name="engine_right" damageMax="500" major="1" minBound="0.575,-5.15,0" maxBound="1.275,-6.15,1.9" useBoundsFromParts="0" hullAffection="1" size="0,0,0">
<DamageBehaviors>
<DamageBehavior class="MovementNotification" damageRatioMin="0.25">
<MovementNotification isFatal="1"/>
</DamageBehavior>
<DamageBehavior class="Effect" damageRatioMin="0.75">
<Effect effect="rightEngineSmoke" disableAfterExplosion="1"/>
</DamageBehavior>
<DamageBehavior class="Burn" damageRatioMin="0.75">
<Burn damage="100" helper="vehicleBurnPos" interval="0.5" radius="1.5" selfDamage="50"/>
</DamageBehavior>
</DamageBehaviors>
</Component>
<Component name="mainEnterLeft" damageMax="0" position="-2,-18.6,6.5" size="2,4,3" useBoundsFromParts="0">
<DamageBehaviors />
</Component>
<Component name="mainEnterRight" damageMax="0" position="2,-18.6,6.5" size="2,4,3" useBoundsFromParts="0">
<DamageBehaviors />
</Component>
<Component name="FlippedOver" damageMax="1" major="0" size="1,1,1" useBoundsFromParts="1">
<DamageBehaviors>
<DamageBehavior class="Effect" damageRatioMin="1">
<Effect effect="VehicleFlipped" disableAfterExplosion="1"/>
</DamageBehavior>
<DamageBehavior class="Burn">
<Burn helper="" damage="0" selfDamage="40" radius="5" interval="0.5"/>
</DamageBehavior>
</DamageBehaviors>
</Component>
</Components>
<Parts>
<Part name="body" class="Animated">
<Animated filename="drakes_legacy/ships/st_albans_1b.cga" filenameDestroyed=""/>
<Parts>
<Part name="steering_wheel" class="AnimatedJoint">
<AnimatedJoint />
</Part>
<Part name="engine_left" class="AnimatedJoint">
<AnimatedJoint />
</Part>
<Part name="engine_middle" class="AnimatedJoint">
<AnimatedJoint />
</Part>
<Part name="engine_right" class="AnimatedJoint">
<AnimatedJoint />
</Part>
<Part name="attachment_foremast_yard1" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_12.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_foremast_yard2" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_13.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_foremast_yard3" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_14.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_mainmast_yard1" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_17.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_mainmast_yard2" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_18.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_mainmast_yard3" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_19.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_mizzenmast_yard1" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_22.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_mizzenmast_yard2" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_23.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_mizzenmast_yard3" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_24.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_9" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_9.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_10" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_10.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_11" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_11.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_15" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_15.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_16" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_16.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_20" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_20.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_21" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_21.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_25" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_25.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_26" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_26.cgf" filenameDestroyed=""/>
</Part>
</Parts>
</Part>
<Part name="mass" class="MassBox" component="hull" mass="3000" position="0,-7,-2" disablePhysics="0" disableCollision="0" isHidden="0">
<MassBox size="5,18,2" drivingOffset="-0.7"/>
</Part>
</Parts>
<Helpers>
<Helper name="enter_left_pos" position="-0.9,-19.3,6.4" direction="1,0,0" part="body"/>
<Helper name="enter_right_pos" position="0.9,-19.3,6.4" direction="-1,0,0" part="body"/>
<Helper name="driver_sit_pos" position="-0.3,-20.2,6.4" direction="0,1,0"/>
<Helper name="exit_pos" position="-0.3,-20.5,6.4" direction="0,-1,0" part="body"/>
<Helper name="leftEngineSmokePos" position="-1,-6,0" direction="0,-1,0"/>
<Helper name="rightEngineSmokePos" position="1,-6,0" direction="0,-1,0"/>
<Helper name="sprayLeftPos" position="-0.47,14.9344,0" direction="-1,0,0"/>
<Helper name="sprayRightPos" position="0.47,14.9344,0" direction="1,0,0"/>
<Helper name="wakePos" position="0,16.4124,0" direction="0,1,0"/>
<Helper name="splashPos" position="0,16.3475,0" direction="0,1,0"/>
<Helper name="cornerForcePos" position="0,-0.1875,0.85" direction="0,1,0"/>
<Helper name="pushForcePos" position="0,-2.75,0.1" direction="0,1,0"/>
<Helper name="engineSoundPos" position="0,-5.1,-3.7234" direction="0,-1,0"/>
<Helper name="centerPos" position="0,0,0.85" direction="0,1,0"/>
<Helper name="vehicleBurnPos" position="0,3.0192,3.3495" direction="0,1,0"/>
</Helpers>
<Actions>
<Action class="Enter">
<Activations>
<Activation type="OnUsed" param1="component" param2="mainEnterLeft"/>
</Activations>
<Enter>
<Seats>
<Seat value="driver"/>
</Seats>
</Enter>
</Action>
<Action class="Enter">
<Activations>
<Activation type="OnUsed" param1="component" param2="mainEnterRight"/>
</Activations>
<Enter>
<Seats>
<Seat value="driver"/>
</Seats>
</Enter>
</Action>
</Actions>
<Seats>
<Seat name="driver" enterHelper="enter_left_pos" sitHelper="driver_steer_pos" exitHelper="exit_pos" isDriver="1" AimPart="" seatGroupIndex="1" actionMap="vehicle_driver">
<Views>
<View class="FirstPerson" canRotate="1" rotationMax="0,0,0">
<FirstPerson offset="0,0,0.25" relativeToHorizon="0.5"/>
</View>
<View class="SteerThirdPerson">
<SteerThirdPerson>
<Pos aim="0,0,0" offset="0,-45,0" pivotOffset="0"/>
<Rotation rotationMax="360,0,360" rotationMax2="360,0,360" stickSensitivity="0.5,0,0.5" stickSensitivity2="0.5,0,0.5" inheritedElev="0.8"/>
<Motion returnSpeed="0.5" returnSpeed2="0.5" angFollow="0.2"/>
<Radius min="0.9" max="1.3" relaxRate="5"/>
</SteerThirdPerson>
</View>
</Views>
<SeatActions>
<SeatAction class="Sound">
<Sound sound="Sounds/vehicles:SpeedBoat:horn" helper="driver_sit_pos"/>
</SeatAction>
<SeatAction class="SteeringWheel">
<SteeringWheel vehicleAnimation="steeringWheel">
<Actions anglesMax="0,130,0"/>
</SteeringWheel>
</SeatAction>
</SeatActions>
<Sounds inout="0" mood="0.6"/>
</Seat>
</Seats>
<MovementParams>
<StdBoat velMax="45" velMaxReverse="3" pedalLimitReverse="1" acceleration="8" accelerationVelMax="0.5" accelerationMultiplier="1" pushHelper="push_force_pos" pushTilt="2" turnRateMax="2" turnAccel="0.9" turnAccelMultiplier="1" turnDamping="1.5" turnVelocityMult="0.01" cornerForce="2.5" cornerHelper="cornerForcePos" cornerTilt="20" waveIdleStrength="0.8,0.2,0" waveEffect="Vehicles.Common.Sea.Light.Bounce">
<SoundParams engineSoundPosition="engineSoundPos" runSoundDelay="1" rpmPitchSpeed="1.2"/>
<Animations engine="propeller"/>
<Boost endurance="8" regeneration="8" strength="10"/>
</StdBoat>
</MovementParams>
<Particles>
<Exhaust insideWater="1" outsideWater="0">
<Helpers>
<Helper value="propeller_right_pos"/>
<Helper value="propeller_middle_pos"/>
<Helper value="propeller_left_pos"/>
</Helpers>
<EngineStart effect="Vehicles.SpeedBoat.Engine.Start"/>
<EngineStop effect="Vehicles.SpeedBoat.Engine.Stop"/>
<EngineRunning effect="Vehicles.SpeedBoat.Engine.Running" boostEffect="Vehicles.SpeedBoat.Engine.Boost" baseSizeScale="1" minSpeed="0" minSpeedSizeScale="0.2" minSpeedCountScale="1" minSpeedSpeedScale="1" maxSpeed="30" maxSpeedSizeScale="1.25" maxSpeedCountScale="2" maxSpeedSpeedScale="1" minPower="0" minPowerSizeScale="1" minPowerCountScale="1" minPowerSpeedScale="1" maxPower="1" maxPowerSizeScale="1" maxPowerCountScale="1" maxPowerSpeedScale="1" disableWithNegativePower="0"/>
</Exhaust>
<DamageEffects>
<DamageEffect name="leftEngineSmoke" helper="leftEngineSmokePos" effect="Vehicles.SpeedBoat.Damage.Engine_L"/>
<DamageEffect name="rightEngineSmoke" helper="rightEngineSmokePos" effect="Vehicles.SpeedBoat.Damage.Engine_R"/>
<DamageEffect name="VehicleDestroyed" helper="" effect="Vehicles.SpeedBoat.Damage.Destroyed"/>
<DamageEffect name="VehicleFlipped" helper="centerPos" effect="Vehicles.SpeedBoat.Damage.Flipped"/>
<DamageEffect name="HullDamaged25" helper="vehicleBurnPos" effect="Vehicles.SpeedBoat.Damage.Hull_25" gravityDirection="0,0,0" pulsePeriod="0"/>
<DamageEffect name="HullDamaged75" helper="vehicleBurnPos" effect="Vehicles.SpeedBoat.Damage.Hull_75" gravityDirection="0,0,0" pulsePeriod="0"/>
</DamageEffects>
<EnvironmentLayers>
<EnvironmentLayer minSpeed="0.1" minSpeedSizeScale="1" minSpeedCountScale="1" minSpeedSpeedScale="1" maxSpeed="10" maxSpeedSizeScale="4" maxSpeedCountScale="1" maxSpeedSpeedScale="1" minPowerSizeScale="1" minPowerCountScale="1" maxPowerSizeScale="1" maxPowerCountScale="1">
<Alignment alignGroundHeight="0" maxHeightSizeScale="1" maxHeightCountScale="1" alignToWater="1"/>
<Emitters>
<Helper value="wakePos"/>
</Emitters>
<Wheels />
</EnvironmentLayer>
<EnvironmentLayer name="spray" minSpeed="0.5" minSpeedSizeScale="0.3" minSpeedCountScale="1" maxSpeed="1" maxSpeedSizeScale="3" maxSpeedCountScale="1" minPowerSizeScale="1" minPowerCountScale="1" maxPowerSizeScale="1" maxPowerCountScale="1">
<Alignment alignGroundHeight="0" maxHeightSizeScale="1" maxHeightCountScale="1" alignToWater="1"/>
<Emitters>
<Helper value="sprayLeftPos"/>
<Helper value="sprayRightPos"/>
</Emitters>
<Wheels />
</EnvironmentLayer>
</EnvironmentLayers>
</Particles>
<Mannequin tag="SpeedBoat" controllerDef="Animations/Mannequin/ADB/SpeedBoatControllerDefs.xml" vehicleADB="Animations/Mannequin/ADB/SpeedBoatAnims.adb" passengerADB="Animations/Mannequin/ADB/humanSpeedBoatAnims.adb"/>
</Vehicle>

Re: Setup a tall ship in CE V issues, incl. suggestions for new vehicle editor,

#5
I am "just" an 3D-Modeller too gut I have posted to you (and all the other interested people) the actual state. Crytek´s CRYENGINE-team, so far my hope, will gain important informations from this topic to improve the new vehicle editor system. To make it perfect (in my opinion) just a few things are missing.

You sounds like you should understand first the basics of the vessel-setup and what state we can reach actually. We have a few major steps of requirements but close to all of them are possible without coding knowledge. But youre right, the most tutorials (especially for complex tasks) needs urgently to be updated).

Requirements:
A) The ship must be usable as vehicle -> The professional next step is the coding of dynamic wind vectors and ships interaction wind. But at first, the basic requirement is: Ship must be usabale as vehicle.
B) The tall ship needs to be set right in the water. Thats actually impossible because its depth is too big and waterproxy results in strange effects when the physical proxy of the vessel is too deep in the water. In this case the vehicle buoyancy density must be set so low, that the vessel is working like a nutshell.
-> We have two options: The CRYENGINE team noted this circumstance and add a water lever marker to the new vehicle system OR
-> CRYENGINE supports in future 2 proxys. One for physical mesh interaction, one for watervolumes
C) Movable parts like the lids and the rudder etc. pp. Till an early state of CE3 the lids was working great as animobject but unfortunately this method wont work anymore. The next questions is the setup of the movable rudder and the steering wheel. I am not sure actually if this must be coded or we can use flowgraph.
D) Now the harder requirements follows:
- Rope- and clothsystem, which is not too expensive but better as static waved vertexanimation or strange pre-bakings
-> This system is not just interesting for ships. We are talking about all kinds of fabric or ropes on vehicles.
E) I think the hardest task: Cut out watervolume below the waterline. Thats in future the most interesting point because if you want to access the vessel below the waterline, there must be no water. So the watervolume must be excluded from ships interior

Now I will show you, that we actually can reach point 2, with a few compromises:

1.) It doesnt matter how many polygones and LODs your ship have (my testship have 380.000 tris), so long no group-node contains more than hFFFF (hex = FFFF = dec 65535) vertices. All these groups you can put below the CRYENGINE exportnode and its helpernode. But please pay attention for drawcalls and materials (= number of submodells). For testing purposes I have setup an absolutely wasted group-node-setup, but it works well. Now I combine actually step by step the submodells and optimize the asset with a new proxy.

Please take a look at the screenshot below. You can see clearly the topnode "cryExportNode_St_Albans_1b", this follows the "St_Albans_1b_helper"-node.
Attention: A "helper"-node must be used when the group below the topnode "cryExportNode_St_Albans_1b" doesnt contain mesh. After the "St_Albans_1b_helper"-node follows in this case the helpers and the group-nodes with the mesh, and if need their proxys. So a "group"-node contains mesh, while a "helper"-node contains helpers and "group"-nodes (no mesh, because the mesh is in the group nodes).
To save renderpower I have split the physical proxy into 2 parts. OK, the secondary reason is that a physical proxy cant have more than 10.000 tris and the other reason is, that some movable parts (like rudder & Co.) needs their own proxys.
Please not that I have set two joints on the rudder because thats need to align its rotation axis (joint orient). If you use LODs, please take a look at the picture below too, you put them in their own node below the relevant main part. I opened for the screenshot a few nodes.
The red mark shows the taken original helper-names from the original speedboat. After placing them in the helper-node too, the ship becomes enterable and drivable.
Please note that some of these helpers must be manually reoriented. How ever causes a plane use out of Maya in a not typical orientation ingame. Thats maybe happend because 3DSMax use a mirrored axis-system.

Screenshot:
Image

Thats your hierarchy so far.

My main proxy is the whole ship with the most static parts:
Image

Last but not least the final vehicle xml. The most important compromise is actually that the ship is not deep enought in the water. But so its drivable real good and its buoyancy looks ok. Now my test step is to cheat with the physical proxy OR some CRYENGINE member can give a short hint what to do @Cry-Anita-1 @Cry-Nic

Unfortunately the support-option is fixed to one year. Just a month would not a problem because I think in 4 weeks the most things can be worked out. But a year basic support means much money. Too much for triing out the options in the still Beta Engine V with an obsolete vehicle editor. Maybe this makes sense then CE V becomes some day complete and final. So every spent money actually in support can be revamped next month by next engine changes.


So @vise19, please post the setup of one of your actual vessels. When you reach the same position like I have actually we can maybe move the pipeline of suggestions and knowledge a little bit more forward.


EDIT: Found the solution for the proxy, Heureka :) The CRYENGINE reads just the first proxy in the first group-node for water. So I created a small separate proxy in the first group and let the real one in playe in group-node 2. Now I will try the cloth thing.


Actually final XML:
<Vehicle name="St_Albans_1b">
<Physics damping="1" pushable="0">
<Buoyancy waterDensity="50" waterResistance="50" waterDamping="1"/>
<Simulation maxTimeStep="0.02" minEnergy="0.16" maxLoggedCollisions="2"/>
</Physics>
<Damages collDamageThreshold="50">
<DamageMultipliers>
<DamageMultiplier damageType="PistolBullet" multiplier="0.1"/>
<DamageMultiplier damageType="PistolBulletIncendiary" multiplier="0.05"/>
<DamageMultiplier damageType="RifleBullet" multiplier="0.2"/>
<DamageMultiplier damageType="ShotgunShell" multiplier="0.125"/>
<DamageMultiplier damageType="ShotgunShellSolid" multiplier="0.125"/>
<DamageMultiplier damageType="ExplosiveGrenade" multiplier="2" splash="1"/>
<DamageMultiplier damageType="Rocket" multiplier="1" splash="1"/>
<DamageMultiplier damageType="melee" multiplier="0"/>
<DamageMultiplier damageType="collision" multiplier="0"/>
<DamageMultiplier damageType="explosion" multiplier="2" splash="0.5"/>
<DamageMultiplier damageType="frag" multiplier="2" splash="1"/>
</DamageMultipliers>
<DamagesGroups>
<DamagesGroup name="Destroy">
<DamagesSubGroups>
<DamagesSubGroup delay="0" randomness="0.5">
<DamageBehaviors>
<DamageBehavior class="Explosion">
<Explosion damage="300" helper="vehicleBurnPos" pressure="200" radius="10" minRadius="5" physRadius="3" minPhysRadius="2.2" soundRadius="150"/>
</DamageBehavior>
<DamageBehavior class="Impulse" ignoreVehicleDestruction="0">
<Impulse forceMin="3" forceMax="5" direction="0,0,-1" momentum="0.75,0.85,0" helper="wakePos"/>
</DamageBehavior>
<DamageBehavior class="Effect">
<Effect effect="VehicleDestroyed"/>
</DamageBehavior>
<DamageBehavior class="Destroy"/>
<DamageBehavior class="SpawnDebris"/>
<DamageBehavior class="Sink"/>
</DamageBehaviors>
</DamagesSubGroup>
</DamagesSubGroups>
</DamagesGroup>
</DamagesGroups>
</Damages>
<Components>
<Component name="hull" damageMax="3000" major="1" size="1,1,1" useBoundsFromParts="1" position="0,0,0">
<DamageBehaviors>
<DamageBehavior class="Group" damageRatioMin="1">
<Group name="Destroy"/>
</DamageBehavior>
<DamageBehavior class="Indicator" damageRatioMin="0.75">
<Indicator>
<Light material="" sound="sounds/vehicles:vehicle_accessories:warning_beep_boat" soundRatioMin="0.75" helper="driver_sit_pos"/>
</Indicator>
</DamageBehavior>
<DamageBehavior class="Effect" damageRatioMin="0.25" damageRatioMax="0.75" ignoreVehicleDestruction="1">
<Effect effect="HullDamaged25"/>
</DamageBehavior>
<DamageBehavior class="Effect" damageRatioMin="0.75" damageRatioMax="1" ignoreVehicleDestruction="1">
<Effect effect="HullDamaged75"/>
</DamageBehavior>
</DamageBehaviors>
</Component>
<Component name="engine_left" damageMax="500" major="1" minBound="-1.275,-5.15,0" maxBound="-0.575,-6.15,1.9" useBoundsFromParts="0" hullAffection="1" size="1,1,1">
<DamageBehaviors>
<DamageBehavior class="MovementNotification" damageRatioMin="0.25">
<MovementNotification isFatal="1"/>
</DamageBehavior>
<DamageBehavior class="Effect" damageRatioMin="0.75">
<Effect effect="leftEngineSmoke" disableAfterExplosion="1"/>
</DamageBehavior>
<DamageBehavior class="Burn" damageRatioMin="0.75">
<Burn damage="100" helper="vehicleBurnPos" interval="0.5" radius="1.5" selfDamage="50"/>
</DamageBehavior>
</DamageBehaviors>
</Component>
<Component name="engine_middle" damageMax="500" major="1" minBound="-0.35,-5.15,0" maxBound="0.35,-6.15,1.9" useBoundsFromParts="0" hullAffection="1" size="1,1,1">
<DamageBehaviors>
<DamageBehavior class="MovementNotification" damageRatioMin="0.25">
<MovementNotification isFatal="1"/>
</DamageBehavior>
<DamageBehavior class="Effect" damageRatioMin="0.75">
<Effect effect="leftEngineSmoke" disableAfterExplosion="1"/>
</DamageBehavior>
<DamageBehavior class="Burn" damageRatioMin="0.75">
<Burn damage="100" helper="vehicleBurnPos" interval="0.5" radius="1.5" selfDamage="50"/>
</DamageBehavior>
</DamageBehaviors>
</Component>
<Component name="engine_right" damageMax="500" major="1" minBound="0.575,-5.15,0" maxBound="1.275,-6.15,1.9" useBoundsFromParts="0" hullAffection="1" size="1,1,1">
<DamageBehaviors>
<DamageBehavior class="MovementNotification" damageRatioMin="0.25">
<MovementNotification isFatal="1"/>
</DamageBehavior>
<DamageBehavior class="Effect" damageRatioMin="0.75">
<Effect effect="rightEngineSmoke" disableAfterExplosion="1"/>
</DamageBehavior>
<DamageBehavior class="Burn" damageRatioMin="0.75">
<Burn damage="100" helper="vehicleBurnPos" interval="0.5" radius="1.5" selfDamage="50"/>
</DamageBehavior>
</DamageBehaviors>
</Component>
<Component name="mainEnterLeft" damageMax="0" position="-2,-18.6,6.5" size="2,4,3" useBoundsFromParts="0">
<DamageBehaviors />
</Component>
<Component name="mainEnterRight" damageMax="0" position="2,-18.6,6.5" size="2,4,3" useBoundsFromParts="0">
<DamageBehaviors />
</Component>
<Component name="FlippedOver" damageMax="1" major="0" size="1,1,1" useBoundsFromParts="1">
<DamageBehaviors>
<DamageBehavior class="Effect" damageRatioMin="1">
<Effect effect="VehicleFlipped" disableAfterExplosion="1"/>
</DamageBehavior>
<DamageBehavior class="Burn">
<Burn helper="" damage="0" selfDamage="40" radius="5" interval="0.5"/>
</DamageBehavior>
</DamageBehaviors>
</Component>
</Components>
<Parts>
<Part name="body" class="Animated">
<Animated filename="drakes_legacy/ships/st_albans_1b.cga" filenameDestroyed=""/>
<Parts>
<Part name="steering_wheel" class="AnimatedJoint">
<AnimatedJoint />
</Part>
<Part name="engine_left" class="AnimatedJoint">
<AnimatedJoint />
</Part>
<Part name="engine_middle" class="AnimatedJoint">
<AnimatedJoint />
</Part>
<Part name="engine_right" class="AnimatedJoint">
<AnimatedJoint />
</Part>
<Part name="attachment_foremast_yard1" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_12.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_foremast_yard2" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_13.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_foremast_yard3" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_14.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_mainmast_yard1" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_17.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_mainmast_yard2" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_18.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_mainmast_yard3" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_19.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_mizzenmast_yard1" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_22.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_mizzenmast_yard2" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_23.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_mizzenmast_yard3" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_24.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_9" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_9.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_10" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_10.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_11" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_11.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_15" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_15.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_16" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_16.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_20" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_20.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_21" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_21.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_25" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_25.cgf" filenameDestroyed=""/>
</Part>
<Part name="attachment_st_albans_26" class="AnimatedJoint" mass="0">
<AnimatedJoint filename="drakes_legacy/ships/st_albans_26.cgf" filenameDestroyed=""/>
</Part>
</Parts>
</Part>
<Part name="mass" class="MassBox" component="hull" mass="3000" position="0,-7,-2" disablePhysics="0" disableCollision="0" isHidden="0">
<MassBox size="5,18,2" drivingOffset="-0.7"/>
</Part>
</Parts>
<Helpers>
<Helper name="enter_left_pos" position="-0.8997,-19.2998,6.4" direction="1,0,0" part="body"/>
<Helper name="enter_right_pos" position="0.8999,-19.2998,6.4" direction="-1,0,0" part="body"/>
<Helper name="driver_sit_pos" position="-0.2998,-20.1997,6.4" direction="0,1,0"/>
<Helper name="exit_pos" position="-0.2998,-20.5,6.4" direction="0,-1,0" part="body"/>
<Helper name="leftEngineSmokePos" position="-0.9998,-5.9995,0" direction="0,-1,0"/>
<Helper name="rightEngineSmokePos" position="1.0001,-5.9995,0" direction="0,-1,0"/>
<Helper name="sprayLeftPos" position="-0.4697,14.9348,0" direction="-1,0,0"/>
<Helper name="sprayRightPos" position="0.47,14.9348,0" direction="1,0,0"/>
<Helper name="wakePos" position="0,16.4126,0" direction="0,1,0"/>
<Helper name="splashPos" position="0.0001,16.3479,0" direction="0,1,0"/>
<Helper name="cornerForcePos" position="0,-0.1875,0.85" direction="0,1,0"/>
<Helper name="pushForcePos" position="-0.0001,0,0.1" direction="0,1,0"/>
<Helper name="engineSoundPos" position="-0.0001,-5.0996,-3.7234" direction="0,-1,0"/>
<Helper name="centerPos" position="0,0,0.85" direction="0,1,0"/>
<Helper name="vehicleBurnPos" position="0,3.0193,3.3495" direction="0,1,0"/>
</Helpers>
<Actions>
<Action class="Enter">
<Activations>
<Activation type="OnUsed" param1="component" param2="mainEnterLeft"/>
</Activations>
<Enter>
<Seats>
<Seat value="driver"/>
</Seats>
</Enter>
</Action>
<Action class="Enter">
<Activations>
<Activation type="OnUsed" param1="component" param2="mainEnterRight"/>
</Activations>
<Enter>
<Seats>
<Seat value="driver"/>
</Seats>
</Enter>
</Action>
</Actions>
<Seats>
<Seat name="driver" enterHelper="enter_left_pos" sitHelper="driver_steer_pos" exitHelper="exit_pos" isDriver="1" AimPart="" seatGroupIndex="1" actionMap="vehicle_driver">
<Views>
<View class="FirstPerson" canRotate="1" rotationMax="0,0,0">
<FirstPerson offset="0,0,0.25" relativeToHorizon="0.5"/>
</View>
<View class="SteerThirdPerson">
<SteerThirdPerson>
<Pos aim="0,0,0" offset="0,-45,0" pivotOffset="0"/>
<Rotation rotationMax="360,0,360" rotationMax2="360,0,360" stickSensitivity="0.5,0,0.5" stickSensitivity2="0.5,0,0.5" inheritedElev="0.8"/>
<Motion returnSpeed="0.5" returnSpeed2="0.5" angFollow="0.2"/>
<Radius min="0.9" max="1.3" relaxRate="5"/>
</SteerThirdPerson>
</View>
</Views>
<SeatActions>
<SeatAction class="Sound">
<Sound sound="Sounds/vehicles:SpeedBoat:horn" helper="driver_sit_pos"/>
</SeatAction>
<SeatAction class="SteeringWheel">
<SteeringWheel vehicleAnimation="steeringWheel">
<Actions anglesMax="0,130,0"/>
</SteeringWheel>
</SeatAction>
</SeatActions>
<Sounds inout="0" mood="0.6"/>
</Seat>
</Seats>
<MovementParams>
<StdBoat velMax="45" velMaxReverse="3" pedalLimitReverse="1" acceleration="10" accelerationVelMax="0.5" accelerationMultiplier="1" pushHelper="push_force_pos" pushTilt="10" turnRateMax="2" turnAccel="0.9" turnAccelMultiplier="1" turnDamping="1.5" turnVelocityMult="0.01" cornerForce="2.5" cornerHelper="cornerForcePos" cornerTilt="20" waveIdleStrength="0.8,0.2,0" waveEffect="Vehicles.Common.Sea.Light.Bounce">
<SoundParams engineSoundPosition="engineSoundPos" runSoundDelay="1" rpmPitchSpeed="1.2"/>
<Animations engine="propeller"/>
<Boost endurance="8" regeneration="8" strength="10"/>
</StdBoat>
</MovementParams>
<Particles>
<Exhaust insideWater="1" outsideWater="0">
<Helpers>
<Helper value="propeller_right_pos"/>
<Helper value="propeller_middle_pos"/>
<Helper value="propeller_left_pos"/>
</Helpers>
<EngineStart effect="Vehicles.SpeedBoat.Engine.Start"/>
<EngineStop effect="Vehicles.SpeedBoat.Engine.Stop"/>
<EngineRunning effect="Vehicles.SpeedBoat.Engine.Running" boostEffect="Vehicles.SpeedBoat.Engine.Boost" baseSizeScale="1" minSpeed="0" minSpeedSizeScale="0.2" minSpeedCountScale="1" minSpeedSpeedScale="1" maxSpeed="30" maxSpeedSizeScale="1.25" maxSpeedCountScale="2" maxSpeedSpeedScale="1" minPower="0" minPowerSizeScale="1" minPowerCountScale="1" minPowerSpeedScale="1" maxPower="1" maxPowerSizeScale="1" maxPowerCountScale="1" maxPowerSpeedScale="1" disableWithNegativePower="0"/>
</Exhaust>
<DamageEffects>
<DamageEffect name="leftEngineSmoke" helper="leftEngineSmokePos" effect="Vehicles.SpeedBoat.Damage.Engine_L"/>
<DamageEffect name="rightEngineSmoke" helper="rightEngineSmokePos" effect="Vehicles.SpeedBoat.Damage.Engine_R"/>
<DamageEffect name="VehicleDestroyed" helper="" effect="Vehicles.SpeedBoat.Damage.Destroyed"/>
<DamageEffect name="VehicleFlipped" helper="centerPos" effect="Vehicles.SpeedBoat.Damage.Flipped"/>
<DamageEffect name="HullDamaged25" helper="vehicleBurnPos" effect="Vehicles.SpeedBoat.Damage.Hull_25" gravityDirection="0,0,0" pulsePeriod="0"/>
<DamageEffect name="HullDamaged75" helper="vehicleBurnPos" effect="Vehicles.SpeedBoat.Damage.Hull_75" gravityDirection="0,0,0" pulsePeriod="0"/>
</DamageEffects>
<EnvironmentLayers>
<EnvironmentLayer minSpeed="0.1" minSpeedSizeScale="1" minSpeedCountScale="1" minSpeedSpeedScale="1" maxSpeed="10" maxSpeedSizeScale="4" maxSpeedCountScale="1" maxSpeedSpeedScale="1" minPowerSizeScale="1" minPowerCountScale="1" maxPowerSizeScale="1" maxPowerCountScale="1">
<Alignment alignGroundHeight="0" maxHeightSizeScale="1" maxHeightCountScale="1" alignToWater="1"/>
<Emitters>
<Helper value="wakePos"/>
</Emitters>
<Wheels />
</EnvironmentLayer>
<EnvironmentLayer name="spray" minSpeed="0.5" minSpeedSizeScale="0.3" minSpeedCountScale="1" maxSpeed="1" maxSpeedSizeScale="3" maxSpeedCountScale="1" minPowerSizeScale="1" minPowerCountScale="1" maxPowerSizeScale="1" maxPowerCountScale="1">
<Alignment alignGroundHeight="0" maxHeightSizeScale="1" maxHeightCountScale="1" alignToWater="1"/>
<Emitters>
<Helper value="sprayLeftPos"/>
<Helper value="sprayRightPos"/>
</Emitters>
<Wheels />
</EnvironmentLayer>
</EnvironmentLayers>
</Particles>
<Mannequin tag="SpeedBoat" controllerDef="Animations/Mannequin/ADB/SpeedBoatControllerDefs.xml" vehicleADB="Animations/Mannequin/ADB/SpeedBoatAnims.adb" passengerADB="Animations/Mannequin/ADB/humanSpeedBoatAnims.adb"/>
</Vehicle>

Who is online

Users browsing this forum: No registered users and 2 guests