Jump to content
Sign in to follow this  
MalakdeCaen

How to fake a new LOD PhysX ?? step by step

Recommended Posts

hi everybody ,

i try to fake the new LOD Physx to my car but something is wrong in my model.cfg .

i explain you what i had doing :

1/ take a Arma 2 model.p3d

2/take config.bin from the Hunter in Arma 3

3/Open the P3d in Oxygen2 and create the Fake LOD Physx : 4e14 in resolution

4/in this fake LOD i create a Box like my car and convex hull

i follow this guide to try to understand : http://community.bistudio.com/wiki/Arma_3_Cars_Config_Guidlines

but the Memory LOD part i not really understand :

"Memory lod

There should be an axis for each wheel named wheel_X_Y_axis (X is position of wheel from front, Y is 1 for left and 2 for right), the name is defined in selected wheel as center

There should be a point at the edge of each wheel named wheel_X_Y_bound which is used to determine wheel radius (distance from wheel axis is used for this) - there is no other need than placing the point at the edge, even memory points for tracks could be used for this, the name is defined in selected wheel as boundary"

What i need to do for that ? any exemple ?

If i try my car ingame i can move the drivewheel with the wheels but nothing more .

to try my addon in the game it is true i need to binarize my pbo ? or only config.bin ? or the bought ?

i post you my model.cfg :

class CfgSkeletons
{
class car;
class jeep_base: car
{
	isDiscrete=1;
	skeletonInherit="";
	skeletonBones[]=
	{
		"damageHide",
		"",
		"drivewheel",
		"",
		"wheel_1_damper",
		"",
		"wheel_1_steering",
		"wheel_1_damper",
		"wheel_1",
		"wheel_1_steering",
		"wheel_1_Damage",
		"wheel_1",
		"wheel_2_damper",
		"",
		"wheel_2_steering",
		"wheel_2_damper",
		"wheel_2",
		"wheel_2_steering",
		"wheel_2_Damage",
		"wheel_2",
		"wheel_3_damper",
		"",
		"wheel_3",
		"wheel_3_damper",
		"wheel_3_Damage",
		"wheel_3",
		"wheel_4_damper",
		"",
		"wheel_4",
		"wheel_4_damper",
		"wheel_4_Damage",
		"wheel_4"
	};
};
class jeep: car
{
	isDiscrete=1;
	skeletonInherit="";
	skeletonBones[]=
	{
		"damageHide","",
		"drivewheel","",
		"wheel_1_damper","",
		"wheel_1_steering","wheel_1_damper",
		"wheel_1","wheel_1_steering",
		"wheel_1_Damage","wheel_1",
		"wheel_2_damper","",
		"wheel_2_steering","wheel_2_damper",
		"wheel_2","wheel_2_steering",
		"wheel_2_Damage","wheel_2",
		"wheel_3_damper","",
		"wheel_3","wheel_3_damper",
		"wheel_3_Damage","wheel_3",
		"wheel_4_damper","",
		"wheel_4","wheel_4_damper",
		"wheel_4_Damage","wheel_4"
	};
};

};
class CfgModels
{
class default {};
class Vehicle: default
{
	sectionsInherit="";
	sections[]=
	{
		"cislo",
		"grupa",
		"side",
		"sektor",
		"clan",
		"podsvit pristroju",
		"poskozeni",
		"L svetlo",
		"P svetlo",
		"zasleh"
	};
};
class Car: Vehicle
{
	sectionsInherit="Vehicle";
	sections[]=
	{
		"ammo",
		"sklo predni p",
		"sklo predni l",
		"zadni svetlo",
		"brzdove svetlo"
	};
};
class jeep_base: Car
{
	skeletonName="jeep_base";
	sectionsInherit="car";
	sections[]=
	{
		"backuplight",
		"door1light",
		"door3light",
		"windowtint",
		"hubcaps",
		"PI svetlo",
		"zbytek"
	};
	class animations
	{
		class damageHide
		{
			type="hide";
			source="damage";
			selection="damageHide";
		};
		class Hood_damage: damageHide
		{
			selection="hood";
		};
		class Aerial_damage: damageHide
		{
			selection="aerial";
		};
		class MirrorHide_damage: damageHide
		{
			selection="MirrorHide";
		};
		class CBHide_damage: damageHide
		{
			selection="CBHide";
		};
		class wheel_1_Damage: damageHide
		{
			selection="wheel_1_Damage";
		};
		class wheel_2_Damage: damageHide
		{
			selection="wheel_2_Damage";
		};
		class wheel_3_Damage: damageHide
		{
			selection="wheel_3_Damage";
		};
		class wheel_4_Damage: damageHide
		{
			selection="wheel_4_Damage";
		};
		class destruct_heigh_ppt
		{
			type="translation";
			source="damage";
			selection="wheel_1_damper";
			axis="land_move_axis";
			memory=1;
			minValue=0.999999;
			maxValue=1.000000;
			offset0=0;
			offset1=-0.280000;
		};
		class destruct_heigh_pdt: destruct_heigh_ppt
		{
			selection="wheel_2_damper";
		};
		class destruct_heigh_pprt: destruct_heigh_ppt
		{
			selection="wheel_3_damper";
			offset1=-0.380000;
		};
		class destruct_heigh_pzt: destruct_heigh_ppt
		{
			selection="wheel_4_damper";
			offset1=-0.380000;
		};
		class DrivingWheel
		{
			type="rotation";
			source="drivingWheel";
			selection="drivewheel";
			axis="drivewheel_axis";
			minValue=-1;
			maxValue=1;
			angle0=4;
			angle1=-4;
		};
		class Steering_1_1
		{
			type="rotationY";
			source="drivingWheel";
			selection="wheel_1_steering";
			axis="wheel_1_steering_axis";
			memory=1;
			minValue="rad -90";
			maxValue="rad +90";
			angle0=1.047198;
			angle1=-1.047198;
		};
		class Steering_1_2: Steering_1_1
		{
			selection="wheel_2_steering";
			axis="wheel_2_steering_axis";
			angle0=1.047198;
			angle1=-1.047198;
		};
		class Wheel_1_1
		{
			type="rotationX";
			source="wheel";
			selection="wheel_1";
			axis="";
			memory=1;
			sourceAddress="loop";
			minValue=0;
			maxValue=1;
			angle0=0;
			angle1="rad -360";
		};
		class Wheel_1_2: Wheel_1_1
		{
			selection="wheel_2";
		};
		class Wheel_2_1: Wheel_1_1
		{
			selection="wheel_3";
		};
		class Wheel_2_2: Wheel_1_1
		{
			selection="wheel_4";
		};

			class Wheel_1_1_Damper
			{
				type="translation";
				source="damper";
				selection="wheel_1_1_damper_land";
				axis="posun wheel_1_1";
				animPeriod = 1;
				minValue="0";
				maxValue="1";
				offset0= "0.5";
				offset1= "-0.5";
				memory=1;
			};
		class Wheel_1_2_Damper: Wheel_1_1_Damper
		{
			selection="wheel_2_damper";
		};
		class Wheel_2_1_Damper: Wheel_1_1_Damper
		{
			selection="wheel_3_damper";
		};
		class Wheel_2_2_Damper: Wheel_1_1_Damper
		{
			selection="wheel_4_damper";
		};
	};
};
class jeep: Car
{
	skeletonName="jeep";
	sectionsInherit="car";
	sections[]=
	{
		"zbytek",""
	};
	class animations
	{
		class damageHide
		{
			type="hide";
			source="damage";
			selection="damageHide";
		};
		class Hood_damage: damageHide
		{
			selection="hood";
		};
		class Aerial_damage: damageHide
		{
			selection="aerial";
		};
		class MirrorHide_damage: damageHide
		{
			selection="MirrorHide";
		};
		class CBHide_damage: damageHide
		{
			selection="CBHide";
		};
		class wheel_1_Damage: damageHide
		{
			selection="wheel_1_Damage";
		};
		class wheel_2_Damage: damageHide
		{
			selection="wheel_2_Damage";
		};
		class wheel_3_Damage: damageHide
		{
			selection="wheel_3_Damage";
		};
		class wheel_4_Damage: damageHide
		{
			selection="wheel_4_Damage";
		};
		class destruct_heigh_ppt
		{
			type="translation";
			source="damage";
			selection="wheel_1_damper";
			axis="land_move_axis";
			memory=1;
			minValue=0.999999;
			maxValue=1.000000;
			offset0=0;
			offset1=-0.280000;
		};
		class destruct_heigh_pdt: destruct_heigh_ppt
		{
			selection="wheel_2_damper";
		};
		class destruct_heigh_pprt: destruct_heigh_ppt
		{
			selection="wheel_3_damper";
			offset1=-0.380000;
		};
		class destruct_heigh_pzt: destruct_heigh_ppt
		{
			selection="wheel_4_damper";
			offset1=-0.380000;
		};
		class DrivingWheel
		{
			type="rotation";
			source="drivingWheel";
			selection="drivewheel";
			axis="drivewheel_axis";
			minValue=-1;
			maxValue=1;
			angle0=4;
			angle1=-4;
		};
		class Steering_1_1
		{
			type="rotationY";
			source="drivingWheel";
			selection="wheel_1_steering";
			axis="wheel_1_steering_axis";
			memory=1;
			minValue="rad -90";
			maxValue="rad +90";
			angle0=1.047198;
			angle1=-1.047198;
		};
		class Steering_1_2: Steering_1_1
		{
			selection="wheel_2_steering";
			axis="wheel_2_steering_axis";
			angle0=1.047198;
			angle1=-1.047198;
		};
		class Wheel_1_1
		{
			type="rotationX";
			source="wheel";
			selection="wheel_1";
			axis="";
			memory=1;
			sourceAddress="loop";
			minValue=0;
			maxValue=1;
			angle0=0;
			angle1="rad -360";
		};
		class Wheel_1_2: Wheel_1_1
		{
			selection="wheel_2";
		};
		class Wheel_2_1: Wheel_1_1
		{
			selection="wheel_3";
		};
		class Wheel_2_2: Wheel_1_1
		{
			selection="wheel_4";
		};
		class Wheel_1_1_Damper
		{
			type="translationY";
			source="damper";
			selection="wheel_1_damper";
			axis="";
			minValue=-0.090000;
			maxValue=1;
			memory=1;
		};
		class Wheel_1_2_Damper: Wheel_1_1_Damper
		{
			selection="wheel_2_damper";
		};
		class Wheel_2_1_Damper: Wheel_1_1_Damper
		{
			selection="wheel_3_damper";
		};
		class Wheel_2_2_Damper: Wheel_1_1_Damper
		{
			selection="wheel_4_damper";
		};
	};
};
};

Do you see what is wrong ??

Please help me to add physx in my car .

Sorry for my bad english , and thanks to help me .

If someone have a car with physx work it is possible to share source files to trainning ? very appreciate .

Edited by kakarot
forget something

Share this post


Link to post
Share on other sites

you need new tools or use simulation Car for now

only way i can think its plusible is to create a lod withyour box with a a samestring lenght as geometry physx and hex edit after binarise , i havent tried and dont know its even possible to create a lod of that string length in current o2 but i tried that 4013 advice and game simply creahses everytime . you can get some physx without it but its not quite right as im sure you have seen

Share this post


Link to post
Share on other sites
you need new tools or use simulation Car for now

only way i can think its plusible is to create a lod withyour box with a a samestring lenght as geometry physx and hex edit after binarise , i havent tried and dont know its even possible to create a lod of that string length in current o2 but i tried that 4013 advice and game simply creahses everytime . you can get some physx without it but its not quite right as im sure you have seen

Hmm this doesn't work for adding the lod? I didn't try it out yet though

It's just as You have stated - create a new lod (either completely or via duplicating an existing one) and select Properties. This allows you to change the kind of lod, simply insert 4e14 down into the resolution part of window. It's going to show you the Geometry lod name instead, but rest assured that is the correct one

[/Quote]

http://forums.bistudio.com/showthread.php?150893-Arma-3-cars-config-guidelines&p=2365051&viewfull=1#post2365051

Share this post


Link to post
Share on other sites
Hmm this doesn't work for adding the lod? I didn't try it out yet though

Hi this was pure guess of only way to add lod without new tools > new o2 . what it was saying is create an extra LOD but change it after binaring to correct name geometry PhysX

not tried either i gave up on vehicle CarX till new lod come out , wheels etc are ok but body roll etc is not in my experience upto now with CarX

t's just as You have stated - create a new lod (either completely or via duplicating an existing one) and select Properties. This allows you to change the kind of lod, simply insert 4e14 down into the resolution part of window. It's going to show you the Geometry lod name instead, but rest assured that is the correct one

That simply crashes the game for me i have tried it many times and unless there is a step missing current tools 2.5 do not like it , it creates 2 Geometry lods and when binarising something mess up , even more wrong is if you click on them in o2 after creation only one set of geometry is shown ,so you lose your wheels etc and justhave the box in both lods or vice versa depending which one you click on.

seems either i miss onething or Dev who put that in biki has newer tools maybe ?

Share this post


Link to post
Share on other sites
Hi this was pure guess of only way to add lod without new tools > new o2 . what it was saying is create an extra LOD but change it after binaring to correct name geometry PhysX

not tried either i gave up on vehicle CarX till new lod come out , wheels etc are ok but body roll etc is not in my experience upto now with CarX

That simply crashes the game for me i have tried it many times and unless there is a step missing current tools 2.5 do not like it , it creates 2 Geometry lods and when binarising something mess up , even more wrong is if you click on them in o2 after creation only one set of geometry is shown ,so you lose your wheels etc and justhave the box in both lods or vice versa depending which one you click on.

seems either i miss onething or Dev who put that in biki has newer tools maybe ?

Well atleast you get two geo lods ? - all I get is that

dn5odchk.jpg

So you just entered that into the resolution as suggested by pettka? (link to the post in my earlier post)

Share this post


Link to post
Share on other sites
Well atleast you get two geo lods ? - all I get is that

I'm getting the same. No errors noticed and its not clear if its actually working ingame. Then again I'm working with aircraft and boats .......

A plane floating waves is a good sign ..... but it barely moves forward under full power.

Suspect the "airplanex" simulation won't allow speedier movement on water ......... :(

Share this post


Link to post
Share on other sites
Well atleast you get two geo lods ? - all I get is that

well its wrong numer in 4e14 it should be something like 4e13 or similar , change number you get extra path lod etc etc .

agian tho crashes my game with 4e13 and make sure you back up because it will fook your mode up ino2 and you will lose one set of geometry

Share this post


Link to post
Share on other sites

4e13 is the definite resolution value for the PhysX LOD and it shouldn't matter that the current O² doesnt know that because it will still create the correct MLOD. The current binarize though doesnt know that this LOD is a special LOD and might treat it incorrectly. So I recommend to put the MLOD only into the pbo. This way A3 Alpha will do the binarization and A3 knows how to treat this LOD ;)

Share this post


Link to post
Share on other sites

I have added the 4e13 LOD and that is all working fine, but when I try to add the "carx" simulation to the config I get a missing '.Scudmodel' and i have no idea what it means

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×