Jump to content
Sign in to follow this  
ezechiel

Building tips. A to Z

Recommended Posts

Hi there

Trying to import a simple building model for learning, i got somes issues;

using Soul_assasin armatoolsbox

On 3dsmax 2010, i got no problem; i follow the Soul_assasin tutorial; with the directXshader, i have my tex file and my _smdi, ect... i created _as with the tool, work perfectly.

i see my lod; 2 resolutions (one 0 and one 3), one shadowvolum and one memory;

first question; i m making a building model, without door or other stuff, so memory lod is useless no ? i just left blank this one on max, i am right ? :confused:

3dsmaxd.jpg

this is my folders on desk:

all texture files are 1024*1024 tga at 32compression, exept for the _as (512*512)

model cfg are generated by S_A tools; i just left blank the 'animation' subfodel in the generator.

3dsmax2.jpg

here, that going to be tricky ;

first of all, if i just export that, i got an max' error 'mesh operation on non mesh target'. Well, i just by pass that by select 'export selected objets only and ... of course, select my model + save textures and save materials.

in O2

So, now, i got my model in 02, without any lod i created before. Ok, no problem, i duplique my lod_0 in 02, rename, change the resolution and delete the handoor on front of my model: i got my lod_3. For both of them i create a property "lodnoshadow on 1" (img bellow say 0 but i fixed)

I duplique again my lod_0 for creating my shadowvolume lod. and do the stuff on the img bellow

(recalculate normal for all, + triangulate and inverse normale for shadowvolume).

Well, i lunch my buldozer and i got this

3dsmax4.jpg

question 2:

Perfect shadow, model is fine, but... wait, where is my textures ? :(

question 3:

If you can fix this texture problems (the 'only' real problem i v got), what should i do next ? i mean for import ? i bet collision lod & stuff ?

The only real tutorial for the next i ve got is the moodkalb' and... wow... I'm so lost..

If someone could show me the way OR take my model and import ingame, it will be perfect.

I got hundred of building model of my own on max and i just need to learn how to import them...

thx for all, specialy Soul assasin for his tool.

Edited by ezechiel

Share this post


Link to post
Share on other sites

did you apply the textures?

just select the whole model(in O2) and press 'E' and at the textures box just point to your picture(tga or paa) if it's tga it will auto convert when you view it in buldozer and it should show just fine

Share this post


Link to post
Share on other sites

Haha ok total fail :p

But now, i v got another problems ;

The .paa generated by 02 of my diffuse texture look weird; so i got this in buldozer.

I tryed to generate a .paa files with texview but the same shit happens... what i am doing wrong ? other generated.paa (smdi, hq, dt) looks fines.

edit : same for paa photoshop plugin...><

epds.jpg

buldo.jpg

I also create a rvmat based on the moonkalb building addons tutorial.

surfaceInfo="a_garage2\garage2";
ambient[]={1,1,1,1};
diffuse[]={1,1,1,1};
forcedDiffuse[]={0,0,0,0};
emmisive[]={0,0,0,1};
specular[]={0.53660399,0.60000002,0.47999999,1};
specularPower=850;
PixelShaderID="NormalMapDetailSpecularDIMap";
VertexShaderID="NormalMap";
class Stage1
{
texture="C:\Users\Adrien\Desktop\a_garage2\garage2tex_nohq.paa";
uvSource="tex";
class uvTransform
{
	aside[]={1,0,0};
	up[]={0,1,0};
	dir[]={0,0,0};
	pos[]={0,0,0};
};
};
class Stage2
{
texture="C:\Users\Adrien\Desktop\a_garage2\garage2tex_dt.paa";
uvSource="tex";
class uvTransform
{
	aside[]={1,0,0};
	up[]={0,1,0};
	dir[]={0,0,0};
	pos[]={0,0,0};
};
};
class Stage3
{
texture="C:\Users\Adrien\Desktop\a_garage2\garage2tex_smdi.paa";
uvSource="tex";
class uvTransform
{
	aside[]={1,0,0};
	up[]={0,1,0};
	dir[]={0,0,0};
	pos[]={0,0,0};
};
};

thx for helping !

Edited by ezechiel

Share this post


Link to post
Share on other sites
Haha ok total fail :p

But now, i v got another problems ;

The .paa generated by 02 of my diffuse texture look weird; so i got this in buldozer.

I tryed to generate a .paa files with texview but the same shit happens... what i am doing wrong ? other generated.paa (smdi, hq, dt) looks fines.

edit : same for paa photoshop plugin...><

I also create a rvmat based on the moonkalb building addons tutorial.

surfaceInfo="a_garage2\garage2";
ambient[]={1,1,1,1};
diffuse[]={1,1,1,1};
forcedDiffuse[]={0,0,0,0};
emmisive[]={0,0,0,1};
specular[]={0.53660399,0.60000002,0.47999999,1};
specularPower=850;
PixelShaderID="NormalMapDetailSpecularDIMap";
VertexShaderID="NormalMap";
class Stage1
{
   texture="C:\Users\Adrien\Desktop\a_garage2\garage2tex_nohq.paa";
   uvSource="tex";
   class uvTransform
   {
       aside[]={1,0,0};
       up[]={0,1,0};
       dir[]={0,0,0};
       pos[]={0,0,0};
   };
};
class Stage2
{
   texture="C:\Users\Adrien\Desktop\a_garage2\garage2tex_dt.paa";
   uvSource="tex";
   class uvTransform
   {
       aside[]={1,0,0};
       up[]={0,1,0};
       dir[]={0,0,0};
       pos[]={0,0,0};
   };
};
class Stage3
{
   texture="C:\Users\Adrien\Desktop\a_garage2\garage2tex_smdi.paa";
   uvSource="tex";
   class uvTransform
   {
       aside[]={1,0,0};
       up[]={0,1,0};
       dir[]={0,0,0};
       pos[]={0,0,0};
   };
};

thx for helping !

It looks like your texture paths are wrong.

texture="C:\Users\Adrien\Desktop\a_garage2\garage2tex_dt.paa";

All your textures should be in your P drive. Your path should look like

texture="\a_garage2\garage2tex_dt.paa";

The Project drive path is set via your O2 options. You only need to reference the your directorys in the root.

Share this post


Link to post
Share on other sites

Ok thank for reply;

I corrected the path and the rvmat file.

But i still have the same .paa problem. This is very strange :butbut:

Edited by ezechiel

Share this post


Link to post
Share on other sites
delete the alpha channel in the tga

and make sur eyou use the right suffix on your diffuse texture file.

It should have _co at the end so it know how to handle the file.

Share this post


Link to post
Share on other sites

yeehaa thank you !

garat.jpg

I know, its not fancy, but i make progress :D

Now i dont know why i v got this wireframe on top of my texture ? In max or on the .paa they dont appears...

I also create the .bisurf file

Density = 2000;
rough = 0.100000;
dust = 0;
bulletPenetrability = 20;
soundEnviron = "concrete_ext";
isWater = "false";
friction = 0.900000;
restitution = 0;
impact = "Hit_Concrete";
soundHit = "concrete";

I just copy the one here , but i need some explanation; obviously, this tutorial are primarily made for ofp, does ArmA2 have the same 'class' sound ? Does my "hit_concrete" will actually work ? How do i know the name of other impact/soundhit/ect... ? This bisurf are obviously made for only one material, if my texture are some concrete and metal part, how to link more sounds ?

Thanx for you help. In the meantime i will try to continue the mondkalb tutorial, and totaly finish the import. But i m looking for more tutorial on the same subject (for comparison), and for making glass/door/others usefull stuff...

I saw a "glass" in the shader section of your armatool soul assassin, do you have a tutorial about it ? or some tips ?

Also, i can't find some condition on making addons. How many polygon an average model can have ? blabla_as.paa texture are 512*512 max allowed, but what about other files ? i actually work on 1024*1024

---------- Post added at 09:36 PM ---------- Previous post was at 08:58 PM ----------

Well, here i really need help, i dont understand a single lign :eek: hahaha

I need help with name/class name, and stuff ? I started to remplace some lign, but dont really know what should i keep or not..

My folder (for name and stuff... // data and 3dsmax will be deleted of course)

qsdqsd.jpg

stringtable.csv

LANGUAGE,English

str_garage2,"garage2 test"

model.cfg

//0x753d947a
/*SkeletonClasses
garage2
objetstest
EndSkeletonClasses*/

/*ModelClasses
garage2
EndModelClasses*/

/*AnimationClasses
EndAnimationClasses*/

class CfgSkeletons
{
//skelRefClass
class objetstest;

//skelClass1
class garage2:objetstest
{

	isDiscrete=1;
	skeletonInherit = "";
	skeletonBones[]=
	{

		"tur","",
	};
};
//skelClass2

};
class CfgModels
{
class Default
{
	sectionsInherit = "";
	sections[] = {};
};

//modelRefClass

//modelClass1
class garage2:Default
{

	sectionsInherit = "";
	sections[] = 
	{
		//section
	};
	skeletonName = "garage2";
	class Animations
	{
		//animsgarage2
	};
};
//modelClass2

};

/*************************************************

WARNING - If you want to reuse this
file within the toolbox do not under
any cicuimstances delete any comments
	(e.g. //modelClass)

Model.cfg Generated with ArmA2 Modding	   
Toolbox for Autodesk 3ds max. Written	    
by Soul_Assassin. For questions e-mail	    
vorobiev.a.j[at]gmail[dot]com.		    

*************************************************/

Config.cpp

/* Declaration as Addon-Content.*/
class CfgPatches 		{
/* "Hey ArmA2, this is an addon and it's named "a_garage2"*/
/* The name should be indentical to the folder's name*/
class garage2	{
	units[] = {};
	weapons[] = {};
	requiredVersion = 0.1;
	requiredAddons[] = {};
};
};

/* The category in the editor like "Objects" or "Cars".*/
class CfgVehicleClasses {

class TUT_WallsVehicleClass {
	displayName = "TUT Walls";
};
};

/* This is where arma gets the information about a new object. */
/* Donät be confused by the "vehicles" in CfgVehicles*/
class CfgVehicles {
/* everything between here and "Class Land_ ..." is important for the animation to work properly without any "lags". */

class All;

class HouseBase;

class Ruins: HouseBase {};

/* Again your very own basic definition*/
class garage2 : All {
	scope = 0;
	side = 3;
	icon = "iconStaticObject";
	nameSound = "object";
	simulation = "house";
	picture = "pictureStaticObject";
	model="";
	sound = "Building";
	placement = "vertical";
	ladders[] = {};
	vehicleClass =  "";
	displayName = "";
	coefInside = 1;
	coefInsideHeur = 0.25;
	mapSize = 7.5;
	animated = true;
	armor = 200;
	destrType = "DestructBuilding";
	damageResistance = 0.004;

	class DestructionEffects {
		class Sound {
			simulation = "sound";
			type = "DestrHouse";
			position = "destructionEffect1";
			intensity = 1;
			interval = 1;
			lifeTime = 0.05;
		};

		class DestroyPhase1 {
			simulation = "destroy";
			type = "DelayedDestruction";
			lifeTime = 2.5;
			position = "";
			intensity = 1;
			interval = 1;
		};

		class DamageAround1 {
			simulation = "damageAround";
			type = "DamageAroundHouse";
			position = "";
			intensity = 1;
			interval = 1;
			lifeTime = 1;
		};
	};
};

/* Your very own base class for buildings*/
class TUT_Housebase : garage2 {
	scope = 1;
	model = "";
	icon = "";
	displayName = "";
	animated = true;
	vehicleClass = "garage2";
	nameSound = "house";
	accuracy = 0.2;
	typicalCargo[] = {};
	transportAmmo = 0;
	transportRepair = 0;
	transportFuel = 0;
	mapSize = 11;
	cost = 0;
	armor = 800;
	/*extern*/ class DestructionEffects;
};
/* Everything between here and "Class All" (above)  is important for the animation to work without any "lags". */
/* The "Land_" infront of all buildings is important for the destructioneffects to work properly. After the "Land_" the name of the .p3d (without the .p3d ending) has to follow!*/

class Land_TUT_Wand_3x3m: TUT_Housebase {
	model = "\a_garage2\garage2.p3d";	/* path to the object */
	displayName =  "$STR_a_garage2"; 	/* entry in Stringtable.csv */
										/* Important are the $ and the capital STR_*/
	nameSound = "";						
	mapSize = 8;						/* Size of the icon */
	icon = "iconStaticObject";			/* Path to the picture shown in the editor. */
       accuracy = 1000;   
	armor = 450;						/* "Lifepoints", if you like to call it that way.*/
	destrType = "DestructBuilding";		/* type of destruction, when armor = 0 */
	scope = 2;							/* Display it in the editor? 1 = No, 2 = Yes */
	class DestructionEffects : DestructionEffects
	{

		class Ruin1
		{
		simulation = "ruin";
		type = "\TUT_Wand\TUT_Wand_3x3m_Ruin"; /* path to the object*/
			/* Warning, if you use a custom rubble model, it has to be defined in the cfgvehicles (see below)*/
		position = "";
		intensity = 1;
		interval = 1;
		lifeTime = 1;
		};
	};
};

/*  Same name as stated in the Class DestructionEffects, but an "Land_" added infront*/
class Land_TUT_Wand_3x3m_Ruin : ruins	{
	scope = 1;
	model = "\TUT_Wand\TUT_Wand_3x3m_Ruin.p3d";
	displayName = "Wall ruins";
};

/* Your doorsegment is derivated from the normal wall.*/
class Land_TUT_Tur_3x3m: Land_TUT_Wand_3x3m {
	model = "\TUT_Wand\TUT_Tur_3x3m.p3d";
	displayName =  "$STR_TUT_Tur";

	/* Arma needs to know, how the animation trigger is triggered*/
	class AnimationSources {
			/* name must be identical to the one given by the model.cfg ("Open_Door")" */
		class Open_door {
			source = "user";
			animPeriod = 4; /* duration in seconds */
			initPhase = 0; 
		};
	};

	/* The entry to the actionmenu */
	class UserActions
	{			
		class Open_Door
		{
			displayName="$STR_TUT_OpenDoor";
			onlyforplayer = true;
			position="Door_knopf";
			radius=2; /* visibility distance of the entry */
			condition="this animationPhase ""Open_door"" < 0.5";
			statement="this animate [""Open_door"", 1]";
		};
		class Close_Door : Open_Door
		{
			displayName="$STR_TUT_CloseDoor";
			condition="this animationPhase ""Open_door"" >= 0.5";
			statement="this animate [""Open_door"", 0]";
		};
	};
};
};

Edited by ezechiel

Share this post


Link to post
Share on other sites
Now i dont know why i v got this wireframe on top of my texture ? In max or on the .paa they dont appears...

select all polygons (Ctrl+A) and press Sharp Edges (U)

about the bisurf: dont do it for now. Its really something to worry about once your model is ingame and works completely.

I saw a "glass" in the shader section of your armatool soul assassin, do you have a tutorial about it ? or some tips ?

the glass shader in the toolbox is just to provide a glass rvmat for visual look. it does not provide penetration and "braking" functionality like you would expect.

Share this post


Link to post
Share on other sites

Hmm, ctrl a + U doesnt work, i still have the problem.

On the lod 3, the viewport seems ok (but i cant make a buldozer preview of this lod).

see the differences, its matter or not ? Maybe its just my front side who are not planed anymore

qsdfa.jpg

Do you now if there is a sample of building model (and more; if there a sample of the same type of my model - without door or animated stuff). I tryed to depbo some addons, but there all binarized (prevent stealing ?)

Thx for your help

Edited by ezechiel

Share this post


Link to post
Share on other sites

Go download the ArmA1 sample models and have a look.

Just search, BIS posted a link to them.

Also check the Video Tuts about using O2

Share this post


Link to post
Share on other sites

yes sorry that's what i did ; ctrl a (all selction) and u (sharp edge). But its doesnt work :/

Thanks gnat i founded the samples, but i m much more interrested by a 'full version' of a finished product, including config, textures, and all the stuff needed. I searched on the bi samples and all i v got is the p3d ? But its very interesting for the next of my test (path and stuff).

cheer

Edited by ezechiel

Share this post


Link to post
Share on other sites

All ArmA1 Configs are available at DevHeaven (but you can look at the ArmA2 ones because little will be different for many (the same) buildings)

All Model.cfg's (for doors etc) are in with the samples.

All Textures are are in / available from the original ArmA1 game.

Share this post


Link to post
Share on other sites

Whats wrong with the config?

Not sure why you arent simplying CfgVehicles to;

class CfgVehicles {
class HouseBase;
class Land_TUT_Wand_3x3m: Housebase { 
model = "\a_garage2\garage2.p3d";
displayName =  "$STR_a_garage2";     
etc
etc

Also, your;

       class Animations 
       { 
           //animsgarage2 
       };

is empty, so nothing will happen for the door.

Is it a sliding door or a hinged door?

Share this post


Link to post
Share on other sites

No, i dont have doors for now. Maybe later, when i will have 3 4 model converted... step by step :D

Whats wrong with the config?

I just dont understand what i need to do. What part of he Config i should remove or keep, ect...

Share this post


Link to post
Share on other sites
Gnat;1830717']All ArmA1 Configs are available at DevHeaven (but you can look at the ArmA2 ones because little will be different for many (the same) buildings)

All Model.cfg's (for doors etc) are in with the samples.

All Textures are are in / available from the original ArmA1 game.

Please, where exactly I can find these files at DevHeaven? I was trying to find it, but withou succes.. thanx a lot..

*edit

Ok, sorry for that and thank you very much ;)

Edited by chOdec

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  

×