It's compiling each face as a separate convex because the normals aren't smooth. Set a single smoothing group for each piece that you want to be separate and it should work fine.
Note that you can also configure studiomdl to output the 76-hull model it's computing (which would work too) but that would be really slow for physics and traces, that's why it detects and prints out an error. > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of > Aditya Gaddam > Sent: Saturday, March 07, 2009 7:18 AM > To: Discussion of Half-Life Programming > Subject: Re: [hlcoders] Compiling a "complex" static prop - > Weird collision boxes > > Hi, > > Sorry it took me so long to get back to this. I tried out > what people said - making edges hard. I checked the normals > and they seem to pointing the right direction (they all point > where the polys face. My output for studiomdl is: > > =============================================================== > =============================================================== > > "C:\Program > files\steam\steamapps\[email protected]\sourcesdk\bin\orangebox\ bin\studiomdl.exe" > -game "C:\Program Files\Steam\steamapps\SourceMods\Tactics" > "E:\Documents\Work\Programming\C++\Tactics\modelsrc\map\walls\ floor_stairs.qc" > Process started >>> > WARNING: AppFramework : Unable to load module p4lib.dll! > qdir: > "e:\documents\work\programming\c++\tactics\modelsrc\map\walls\" > gamedir: "C:\Program Files\Steam\steamapps\SourceMods\Tactics\" > g_path: > "E:\Documents\Work\Programming\C++\Tactics\modelsrc\map\walls\ floor_stairs.qc" > Building binary model files... > Working on "floor_stairs.qc" > SMD MODEL floor_stairs_ref.smd > SMD MODEL floor_stairs_idle.smd > SMD MODEL floor_stairs_phys.smd > WARNING: Model has 2-dimensional geometry (less than 0.500 > inches thick on any axis)!!! > ... > exactly 76 of these > .... > WARNING: Model has 2-dimensional geometry (less than 0.500 > inches thick on any axis)!!! > WARNING: COSTLY COLLISION MODEL!!!! (76 parts - 20 allowed) > WARNING: Error with convex elements of floor_stairs_phys.smd, > building single convex!!!! > Model has 1 convex sub-parts > Collision model completed. > --------------------- > writing C:\Program > Files\Steam\steamapps\SourceMods\Tactics\models/map/walls/floo r_stairs.mdl: > bones 964 bytes (1) > animations 112 bytes (1 anims) (1 frames) [0:00] > sequences 220 bytes (1 seq) > ik/pose 164 bytes > eyeballs 0 bytes (0 eyeballs) > flexes 0 bytes (0 flexes) > textures 136 bytes > keyvalues 0 bytes > bone transforms 0 bytes > Collision model volume 4907876.50 in^3 > collision 0 bytes > total 1916 > --------------------- > writing C:\Program > Files\Steam\steamapps\SourceMods\Tactics\models/map/walls/floo r_stairs.vvd: > vertices 20400 bytes (425 vertices) > tangents 6800 bytes (425 vertices) > total 27264 bytes > --------------------- > Generating optimized mesh "C:\Program > Files\Steam\steamapps\SourceMods\Tactics\models/map/walls/floo r_stairs.sw.vtx": > body parts: 8 bytes > models: 20 bytes > model LODs: 12 bytes > meshes: 18 bytes > strip groups: 50 bytes > strips: 54 bytes > verts: 3825 bytes > indices: 1488 bytes > bone changes: 24 bytes > everything: 5523 bytes > --------------------- > Generating optimized mesh "C:\Program > Files\Steam\steamapps\SourceMods\Tactics\models/map/walls/floo r_stairs.dx80.vtx": > body parts: 8 bytes > models: 20 bytes > model LODs: 12 bytes > meshes: 18 bytes > strip groups: 50 bytes > strips: 54 bytes > verts: 3825 bytes > indices: 1488 bytes > bone changes: 24 bytes > everything: 5523 bytes > --------------------- > Generating optimized mesh "C:\Program > Files\Steam\steamapps\SourceMods\Tactics\models/map/walls/floo r_stairs.dx90.vtx": > body parts: 8 bytes > models: 20 bytes > model LODs: 12 bytes > meshes: 18 bytes > strip groups: 50 bytes > strips: 54 bytes > verts: 3825 bytes > indices: 1488 bytes > bone changes: 24 bytes > everything: 5523 bytes > > Completed "floor_stairs.qc" > <<< Process finished. > ================ READY ================ > > The following two screenshots show what the collision mesh looks like: > > from the top: > http://screenshot.xfire.com/screenshot/large/4bd205d2698d681f8 > 73d2238c2de6ee806ef4a49.jpg > from the bottom: > http://screenshot.xfire.com/screenshot/large/55a0bbc2167dfbb3e > 771dc78b16bb7c038b2be9b.jpg > > (ignore the broken material) > > The following screenshots show normals: > > http://upload.pixelfaction.com/files/49b28ff8_Capture.PNG > http://upload.pixelfaction.com/files/49b28fe5_Capture1.PNG > > > Does anyone have any idea why studiomdl thinks all my parts > are 2 dimensional? Does the collision model depend at all on > the ref model? > > Thanks, > Aditya > > > On Wed, Mar 4, 2009 at 5:03 PM, Jay Stelly > <[email protected]> wrote: > > > You should only have one $collisionmodel statement. Studiomdl does > > not support aggregating those. > > > > You didn't post any output. studiomdl must be reporting an > error if > > it's falling back to a single convex hull. What is the > error? Post the output. > > > > There are two likely cases: > > > > 1) The smoothing group suggestion. There's a simple vertex welding > > algorithm in the collision model code that requires you to share > > normals at vertices to have those faces belong to a single convex. > > This is why you have to set smoothing groups. > > > > 2) Too many convex pieces. The default is 20 (I think 40 > in l4d on). > > This is a budget, the physics system can support large numbers but > > performance may be a problem. Anyway, you can set this in > your script > > with > > $maxconvexpieces: > > > > $collisionmodel "floor_stairs_floor_phys.smd" > > { > > $concave > > $maxconvexpieces 100 > > } > > > > Jay > > > > > > > -----Original Message----- > > > From: [email protected] > > > [mailto:[email protected]] On > Behalf Of Aditya > > > Gaddam > > > Sent: Wednesday, March 04, 2009 5:15 AM > > > To: Discussion of Half-Life Programming > > > Subject: [hlcoders] Compiling a "complex" static prop - Weird > > > collision boxes > > > > > > Hi, > > > > > > I am currently trying to compile a "complex" static prop. I say > > > "complex" > > > because it is basically the little stairway prop shown in this > > > screenie: > > > > > > http://upload.pixelfaction.com/files/49ae7dad_stairs.jpg > > > > > > It is however being a PITA to export. > > > > > > Just exporting the same merged mesh as the ref, idle and > phys smds > > > didn't work out. I get a "shrinkwrapped" (as the wiki called it) > > > collision model out of studiomdl. > > > > > > I then tried exporting the phys smd as several phys smds, each > > > containing a piece of the model positioned from the origin in the > > > right place. So I exported a stairs_floor_phys.smd, > > > stairs_toprail_phys.smd etc and then changed the qc file to this: > > > > > > $modelname "map/walls/floor_stairs.mdl" > > > $body "floor_stairs" "floor_stairs_ref.smd" > > > $surfaceprop concrete > > > $cdmaterials "models/map/walls/1/" > > > $sequence idle "floor_stairs_idle.smd" loop fps 15 $scale 1.0 > > > $collisionmodel "floor_stairs_floor_phys.smd" > > > { > > > $concave > > > } > > > $collisionmodel "floor_stairs_toprail_phys.smd" > > > { > > > $concave > > > } > > > $collisionmodel "floor_stairs_bottomrail_phys.smd" > > > { > > > $concave > > > } > > > $collisionmodel "floor_stairs_stairs_phys.smd" > > > { > > > $concave > > > } > > > $staticprop > > > > > > This didn't work out well either. Only the stairs seemed to get a > > > collision mesh and it was funky (some of the stairs worked like > > > stairs, others had holes in the mesh at random places (my > grenades > > > would go through to the > > > floor) and others were just covered by a flat plane type > collision > > > mesh. > > > > > > What is the right way to go about these kinds of meshes? Any > > > pointers would be appreciated. Tutorials I have seen > online always > > > work with very simple props like a barrel etc. > > > > > > Thanks, > > > Aditya > > > > > > -- > > > http://www.pixelfaction.com > > > AIM:ApeWithABrain > > > _______________________________________________ > > > To unsubscribe, edit your list preferences, or view the list > > > archives, please visit: > > > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > > > > > > > _______________________________________________ > > To unsubscribe, edit your list preferences, or view the > list archives, > > please visit: > > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > > > > -- > http://www.pixelfaction.com > AIM:ApeWithABrain > _______________________________________________ > To unsubscribe, edit your list preferences, or view the list > archives, please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders

