Jump to content
Sign in to follow this  
brooks143

Cheiftain

Recommended Posts

i am looking for some help if anyone is interested on giving me a hand.

NodUnit= Many thanks for the compliment. I had to sacrifice a lot of the 3d detail too be able to fit in more sharp edges on the model. It is very close too being at the limit.

That is why I was encouraging you to cut down on the detail some beforehand, it wasn't out of spite or sabotage but because I knew you would run into these problems later on, but I can understand wanting to see what you can do first.

When you make a sharp edge you're essentially separating the vertices (like so http://joeyspijkers.com/images_tut/normalmapping/SolidSmoothComparison.jpg ) and on top of that when you UV the model later every split along each vertice counts as a split on the model as well, so one becomes one becomes two along the split and vertex rendering counts for more than polygons in Arma.

The thing is you may not have to sacrifice alot of detail, the hinges along the boxes rather than being full 3D model could be a simple cube with an extrusion to fit the basic shape, you would use a normal map to add the "3D" detail of the edges and handle, then use the diffuse and ambient occlusion to accent the shadows to accent the dimensional aspect.

Here is an excellent example of the whole process.

http://www.polycount.com/forum/showthread.php?t=97141

The artist starts off with a high poly model, this mesh has no limits because its not really going anywhere so you can go as wild as you want with it, below that is the low poly which will be the game mesh..in comparison it looks very simple and dull yeah?

For stage three you literally take the shading properties from the high detail model and "Bake" it onto the low poly, so that it gets every highlight, every curve and so on. Then once the ambient occlusion is baked you also get a replica of how light bounces off the high poly onto the low one, which makes a HUGE difference.

Here are a few more examples of what these two can do together or on their own, if you're not yet sold.

http://eat3d.com/files/imagecache/forum/progress_4c.jpg

http://2.bp.blogspot.com/-brrrHWH5OBc/UJXpua0JkJI/AAAAAAAAALo/8HMa0FJ1Cis/s1600/hp_01.jpg

http://1.bp.blogspot.com/-5wU36W3idoU/UJXpzFGNi8I/AAAAAAAAAL0/mYbjKmT7RMo/s1600/hp_02.jpg

http://2.bp.blogspot.com/-6F5BvK_xqzI/UKhghdLkYMI/AAAAAAAAAMI/35-x4UwlD4Q/s1600/wire_01.jpg

http://img442.imageshack.us/img442/9174/picxx4mr7.jpg

In closing by using a combination of normal map and ambient occlusion to the fullest you not only have less polies which gives you less trouble off the bat but you also have less hard edges to worry about and less complex components to unwrap, which means less vertex split from the edges and even less from unwrapping.

Share this post


Link to post
Share on other sites

this is going to take me a long time to get my head round.

so high poly and take the shadow properties and merge them to a low poly version of the model.

but i still want to use proxy. whats the best ?

Edited by brooks143

Share this post


Link to post
Share on other sites

anyone the what you have to do to get 2 hatch's to open at the same time. I.E loaders hatch on my vehicle

Share this post


Link to post
Share on other sites
this is going to take me a long time to get my head round.

so high poly and take the shadow properties and merge them to a low poly version of the model.

but i still want to use proxy. whats the best ?

Something like that yes, you have two textures at work here, the first is the normal map which contains the shading data from the high poly model, so if the high poly model a sharp edge but wit a smoothish gradient but the low poly just has sharp edges with 0 gradient then with a bake the low poly will inherit the smooth edges.

The second is Ambient occlusion which contains the shaded information, basically the program renders out how light would bounce off the model, so say you have a low poly cylinder for a wheel, its just a cylinder with an extrusion, but the high poly has spokes, indentions and more curvature that would otherwise be over the top, similar you normal maps you would bake the information of how light interacts with the high poly model onto the low poly.

I personally would say best would be a compromise of all three if possible, do what you can with the least you can use and let textures supplement as much as possible then use proxy's for what you need to.

Here are a few recommendations, though the changes may stick out in the editor after fiddling with it, ingame they won't be as visible (save for the hinges but that is for later)

http://i229.photobucket.com/albums/ee200/NodUnit/Model%20Assistance/suggest1_zps1d8b2c4c.jpg~original

I have a few more recommendations such as moving a few edges and collapsing some verts that wouldn't visually make a difference but would save you a few more polygons, but I'm going to wait and see what you do first.

Edited by NodUnit

Share this post


Link to post
Share on other sites
cant see whats been writen on the picture very well bud.

Click the image, then the magnifying glass at the bottom of the new window and then once more for full size.

Share this post


Link to post
Share on other sites

i have got rid of most of the 3d detail which you pointed out in the picture before you posted . Alot of things have been removed or redone as you have pointed out already. i have also added a few objects too make the model better.

Edited by brooks143

Share this post


Link to post
Share on other sites

I'd need to see an up to date wireframe then for any suggestions if you want them.

Share this post


Link to post
Share on other sites

these are pics before i transferred it to o2.

p><p><img src=[/img]

p><p><img src=[/img]

Edited by brooks143

Share this post


Link to post
Share on other sites

i would like help with model.cfg. i am starting to pull my hair with model.

Share this post


Link to post
Share on other sites

grab the model.cfg from the m1a1 from BIS. Grad the content pack that BI released with the models etc in it and that should help you with the model.cfg

Share this post


Link to post
Share on other sites

got it working abit of messing around. many thanks for the help

Edited by brooks143

Share this post


Link to post
Share on other sites

Can main gun recoil be simulated in bulldozer or is it a in game feature

Share this post


Link to post
Share on other sites

recoil is an animation requiring a class animationsources entry in model.cfg and cfgvehicles class yourtank:tank etc

Share this post


Link to post
Share on other sites

many thanks. got it sorted, i now can see main gun recoil in bulldozer

Share this post


Link to post
Share on other sites

its calling for part of the model of the fv4201, the p3d is the actual model. It might be an error in the config because the actual p3d is not named. Check the model.cfg and make sure all the p3d's are listed correctly.

Share this post


Link to post
Share on other sites

1. Learn to use the "quote" and "code" buttons :)

2. You have simply copy/pasted the default BIS config. You can't do that. This is wrong:

class CfgPatches

{

class CATracked2_T90

You need to reference YOUR addon here. Like this:

class CfgPatches

{

class YOURADDONNAME

3. Since you have "simply" copy/pasted you'll find all sorts of things broken. Such as the camo texture pointing to a default BIS texture. You'll need to walk that config and get everything that is different pointed to your unique stuff :)

Share this post


Link to post
Share on other sites

as hcpookie has said, you must reference your model, and use the same naming structure. so if your tank is called MyTANK, then it must always be referred to in the config as MyTANK......

class MyTANK :Tank

See if this one can help you out..

class YOURTANK: Tank{

scope=2;

faction="";

displayName="";

model="";

picture="\ca\tracked\Data\ico\M1_abrams_CA.paa";

Icon="";

mapSize=11;

forceHideDriver=0;

forceHideGunner=1;

crew="";

side=1;

nameSound = "veh_tank";

accuracy=2;

armor=1000;

cost=4000000;

maxSpeed=72;

driverForceOptics=1;

soundEngine[]={};

typicalCargo[]={};

class Turrets: Turrets

{

class MainTurret: MainTurret

{

turretInfoType = "RscWeaponRangeZeroing";

discreteDistance[] = {600,800,1000,1200,1400,1600,1800,2000};

gunnerOpticsModel="";

discreteDistanceInitIndex = 0;

body="OtocVez";

gun="OtocHlaven";

gunnerAction="Abrams_Gunner";

gunnerInAction="Abrams_Gunner";

weapons[]={};

soundServo[]={"\ca\Weapons\Data\Sound\gun_elevate",0.003162,1};

magazines[]={};

forceHideGunner=1;

gunnerForceOptics=1;

gunneroutOpticsModel="\ca\weapons\optika_empty";

memoryPointsGetInGunner="pos driver";

memoryPointsGetInGunnerDir="pos driver dir";

animationSourceBody="mainTurret";

animationSourceGun="mainGun";

class Turrets: Turrets

{

class CommanderOptics: CommanderOptics

{

body="OtocVez_1";

gun="OtocHlaven_1";

animationSourceBody="OtocVez_1";

animationSourceGun="OtocHlaven_1";

animationSourceHatch="hatch1Commander";

memoryPointGunnerOptics="commanderview";

memoryPointGunnerOutOptics="";

gunBeg="commanderview";

gunEnd="commanderview";

crew="";

forceHideGunner=0;

minElev=-25;

maxElev=60;

initElev=0;

minTurn=-360;

maxTurn=360;

initTurn=0;

weapons[]={};

magazines[]={};

outGunnerMayFire=0;

inGunnerMayFire=0;

gunnerForceOptics=1;

gunnerAction="Abrams_Gunner";

gunnerInAction="Abrams_Gunner";

gunnerOpticsModel="";

gunneroutOpticsModel="\ca\weapons\optika_empty";

memoryPointsGetInGunner="pos driver";

memoryPointsGetInGunnerDir="pos driver dir";

proxyType="CPCommander";

proxyIndex=1;

gunnerName="$STR_POSITION_COMMANDER";

primaryGunner=0;

primaryObserver=1;

gunnerIsCommander=1;

commanding=1;

};

class loaderOptics: NewTurret

{

body="OtocVez_2";

gun="OtocHlaven_2";

animationSourceBody="OtocVez_2";

animationSourceGun="OtocHlaven_2";

animationSourceHatch="hatch2gunner";

selectionFireAnim="zasleh_2";

memoryPointGunnerOptics="loaderview";

memoryPointGunneroutOptics="commander_weapon_view";

memoryPointGun="gun_muzzle";

forceHideGunner=0;

gunBeg="gun_muzzle";

gunEnd="gun_chamber";

minElev=-25;

maxElev=60;

initElev=0;

minTurn=-360;

maxTurn=360;

initTurn=0;

hasGunner=1;

primaryGunner=-2;

primaryObserver=-2;

weapons[]={};

magazines[]={};

outGunnerMayFire=1;

inGunnerMayFire=0;

gunnerForceOptics=1;

gunnerAction="Abrams_CommanderOut";

gunnerInAction="Abrams_Commander";

gunnerOpticsModel="\ca\Tracked\optika_tank_driver";

gunneroutOpticsModel="\ca\weapons\optika_empty";

memoryPointsGetInGunner="pos driver";

memoryPointsGetInGunnerDir="pos driver dir";

gunnerName="";

proxyType="CPGunner";

proxyIndex=2;

startEngine=0;

class ViewOptics

{

initAngleX=0;

minAngleX=-30;

maxAngleX=30;

initAngleY=0;

minAngleY=-100;

maxAngleY=100;

initFov=0.500000;

minFov=0.500000;

maxFov=0.500000;

};

class ViewGunner

{

initAngleX=5;

minAngleX=-30;

maxAngleX=30;

initAngleY=0;

minAngleY=-150;

maxAngleY=150;

initFov=0.500000;

minFov=0.500000;

maxFov=0.500000;

};

};

};

};

};

driverAction="Abrams_DriverOut";

driverInAction="Abrams_Driver";

threat[]={1,1,0.300000};

hiddenSelections[]={};

hiddenSelectionsTextures[]={};

};

class Library{libTextDesc="Its a Tank!!!!";};

};

Edited by sv5000

Share this post


Link to post
Share on other sites

i copied and paste to get a understanding on how it works. not to steal someones work, i am trying to learn what's needed to get things moving

ive also got problem with proxy not showing up in game but shows up in bulldozer.

Edited by brooks143

Share this post


Link to post
Share on other sites

Thats how we all learned mate, no worries there. I am far from a guru mate, but will try and help as much as i can.

I do not have any real knowledge of the proxy's sorry.

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  

×