Understanding PHMO/COLL (and other questions)

Post Reply
Thrasher Alpha
Posts: 125
Joined: Wed Feb 23, 2011 7:30 am

Understanding PHMO/COLL (and other questions)

Post by Thrasher Alpha »

I'm looking at the PHMO and COLL tags with Default, Xzodia, and Jackson's plugins. I also see that Xzodia's phmo scalar tool uses polyhedron four vector. Is it possible to export these values or any other relevant ones as "models" to 3ds max or some program so that I can get better phmo on custom vehicles/objects? And in collision, is it possible to export the vertices or anything else into the meta as well? I cant seem to find anything about making shapes out of length width and height vectors or lwh + ijkw values...

I might as well get out whatever questions I've been thinking of...

Is it possible to disable turret fire if camera is facing outside whatever angle? Such as the warthog turret only being able to go 180 degrees and shoot with the driver but cant shoot if the driver is looking completely backwards.

"Sinking" objects? as if a ship were to be destroyed.

Editing pathfinding in the bsp? I expect this would take a program being made but reading the plugins it seems that it could be added at least "visually" into the bsp editor with vertex's and links and all that. Good AI isn't that off if its a lot easier to manage in a program like that.

Having objects hit where the reticle points, but arc upward? Like artillery.

Also..

spawn points traveling with vehicles like the elephant?
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Re: Understanding PHMO/COLL (and other questions)

Post by XZodia »

Thrasher Alpha wrote:I'm looking at the PHMO and COLL tags with Default, Xzodia, and Jackson's plugins. I also see that Xzodia's phmo scalar tool uses polyhedron four vector. Is it possible to export these values or any other relevant ones as "models" to 3ds max or some program so that I can get better phmo on custom vehicles/objects? And in collision, is it possible to export the vertices or anything else into the meta as well? I cant seem to find anything about making shapes out of length width and height vectors or lwh + ijkw values...
We have no export tools unfortunately.
Thrasher Alpha wrote:Is it possible to disable turret fire if camera is facing outside whatever angle? Such as the warthog turret only being able to go 180 degrees and shoot with the driver but cant shoot if the driver is looking completely backwards.
I'm gonna say no to this, but maybe is you explain your end goal?
Thrasher Alpha wrote:Editing pathfinding in the bsp? I expect this would take a program being made but reading the plugins it seems that it could be added at least "visually" into the bsp editor with vertex's and links and all that. Good AI isn't that off if its a lot easier to manage in a program like that.
Not going to happen any time soon.
Thrasher Alpha wrote:Having objects hit where the reticle points, but arc upward? Like artillery.
Take a look at the Wrath cannon.
Thrasher Alpha wrote:spawn points traveling with vehicles like the elephant?
No.
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
Thrasher Alpha
Posts: 125
Joined: Wed Feb 23, 2011 7:30 am

Re: Understanding PHMO/COLL (and other questions)

Post by Thrasher Alpha »

Well, is there any way I can get an idea of what they look like? The values have to mean something or some shape that I can look at, some way to make sense of the values.

And say, a battleship where when you look to the right, the back cannons don't fire (they're not facing the right direction but half are) and vice versa.

I didn't think so :p and thanks!
User avatar
JacksonCougar
Huurcat
Posts: 2460
Joined: Thu Dec 06, 2007 11:30 pm
Location: Somewhere in Canada

Re: Understanding PHMO/COLL (and other questions)

Post by JacksonCougar »

Coll is nothing but planes that overlap to form a convex hull.
User avatar
Twinreaper
Posts: 299
Joined: Sat Feb 23, 2008 7:41 pm
Location: PA

Re: Understanding PHMO/COLL (and other questions)

Post by Twinreaper »

Exporting collision and physics models would only result in an imported model with no faces, similar to the collision exporting of the bsp.

Further, collision itself only relies on planes, edges and vertices to edit any collision model properly. The main problem is, there is no way to add more blocks to an already existing tag, so no way to add additional information. By blocks I mean the enum read values.

As for Phmo, for anything that is not an actual sphere or cube, you also need a proper Polyhedron Plane Equation set, and as of even now, there is no information on how tool arrives at the equation numbers nor how it determines how many reflexives are needed to encompass the data.

You need to understand that plugins only go so far. There is a myriad of raw data that is lost or recompiled into a diffrrent fornat in which cannot be read or interpreted properly. Similar to animations. Animation raw data is lost when tool compiles the animation_graphs. Zteam never extracted raw animations, unless you really wanna believe that hype without an actual program, video or other proof outside a single few videos of a biped rigged and key frame animations by hand being played.

Surfice to say, there are simply just some things that will never work or be researched. Halo 2 is 10 years old now and there is no huge rish to do anything more with it. If you want to do more custom content with more flexibility, I suggest you move over to H2V.
Image
User avatar
JacksonCougar
Huurcat
Posts: 2460
Joined: Thu Dec 06, 2007 11:30 pm
Location: Somewhere in Canada

Re: Understanding PHMO/COLL (and other questions)

Post by JacksonCougar »

It really would not be insanely difficult to get collision importing and exporting working. Collision meta actually contains the mesh information already in the form of the verts and edges, but even without that it's just highschool math to get the points of intersection of the planes to generate the mesh topography.

As for phmo, I suspect it's super simple in comparison to coll. I suspect that it is just planes without the binary seperation tree. And I think phmo uses matrices but I have not actually gone ahead and confirmed this yet.

The actual hangups on importing these assets is less about not knowing how they work and more about no one has the time to code up the scripts required.

And as for jmad, its basically fully understood now thanks in large part to Grim and DS. Again just lacking the scripts needed to parse existing animation formats into the optimized raw used by Halo 2
Thrasher Alpha
Posts: 125
Joined: Wed Feb 23, 2011 7:30 am

Re: Understanding PHMO/COLL (and other questions)

Post by Thrasher Alpha »

If I knew how to find these values in 3ds max/misfit I could autoscript some of the manual labor :p
User avatar
Twinreaper
Posts: 299
Joined: Sat Feb 23, 2008 7:41 pm
Location: PA

Re: Understanding PHMO/COLL (and other questions)

Post by Twinreaper »

From conversations with Korn years back, a LOT or raw data for animations and many other tags is lost and a compatible conversion or rip will not be 100% for anything animation. As for collision, it isn't so simple. You would need a way to export the collision model without faces, and or as of now, edit the 3ds max obj file to not include the faces. I did this years ago when attempting to import Icefields collision tree, and it worked, but the map file still didnt have the collision of the updated model.

I suspect there is some unlabeled/unexplored collision data that is specifically generated in conjunction with the bsp tree itself that corrolates to the bsp phmo and coll. As for coll and phmo standalaone I do realize a lot of progress was made since the days of old, but it is still nowhere near what is usable on a large scale or in any way efficient enough.

I'm just still amazed that anyone still works on this in general. I gave up on the Xbox version ages ago. In terms of accomplishing what the end goal really is, you would be better off scripting a process to convert H2V bsp's to H2X. I have the source for Guerilla Radio as well as another sourxe archive I got directly from Korn but i just lost interest.

To toich on phmo Jack, the phmo is slightly more complicated than that. Phmo Polyhedran is just a small part of the overall tag. Polyhedran requires 3 coefficients and and offset for the group. The offset is dependant upon the group of coefficients. So unless your a Stephen Hawking you will need to use an application to get the value of the coefficients based on the spatial coordinates of the planes, and then generate your offset. Then go through and shoft all the offset pointers of the tag itself.
Image
User avatar
neodos
Posts: 1493
Joined: Sun Dec 09, 2007 8:58 pm

Re: Understanding PHMO/COLL (and other questions)

Post by neodos »

Well I reverse engineered a good part of the coll and phmo tags long ago, I can tell you its possible to export a regular 3D mesh as coll tag data, its just regular 3D meshes, but you would need to be able to create a new tag with new indices for the vertices, edges, faces etc and inject/add it into the map properly.

For the phmo it consists either of a set of basic shapes (cube, cylinder, pill, wedge etc), if I recall you can have up to 256 of these basic shapes per phmo, and you can define the position, rotation and width length depth of it.

Phmo also has other things like forces, to create things like lifts and whatnot that you see on the map "midship" that support the floating platform and also push players, for instance.

I am not sure if phmo had mesh data, I doubt it, if it has the data definitely has to be computed through Havok to generate optimized collision code, so that's a whole another story.


If someone can write the structure of Halo 2 "coll" mesh data as C# header I can write a mesh exporter for Softimage MOD tool which is free and I have written models importers/exporters for so its pretty easy for me to write a mesh exporter.

For phmo it wouldn't be that hard either, though need to test the shapes and figure out their scale in H2 in relation with the 3D app you would export from.
Post Reply