by date
Merry Christmas, Community - Poly Soup
Merry Christmas, Community - Poly Soup
| Name: | Ben Garney | ![]() |
|---|---|---|
| Date Posted: | Dec 25, 2006 | |
| Rating: | 4.8 out of 5 | |
| Public: | YES | |
| Comments: | YES | |
| RSS Feed: | or Subscribe with . | |
| Profile Page: | View profile page for Ben Garney |
Blog post
Wow - almost three months since my last .plan. I guess I should write these things more often. What have I been up to? Nothing that's quite ready to be talked about in depth, but in brief: developing ways for us to do more releases at a higher quality and with bigger feature sets.
And probably some smaller stuff that I'll be posting about in coming months, too. :)
Speaking of smaller stuff, I took a few days about a month ago and extended 3space and TSStatic in TSE to support more flexible collision scenarios. Or to speak more directly, polysoup collision. I've collaborated on this with Tom Spilman, who spent some time debugging it, integrating it into a project, and cleaning it up a bit, and the end result is a polysoup implementation that seems fairly usable.
So, here's a screenshot of an orc on a concave donut:

Now, some caveats: this is just the result of a few day's hacking, not an official announcement of GG support for polysoup in Torque. So while it's pretty easy to integrate, you do have to have some coding knowledge to use it.
It's also not bullet proof. We use OpCode, so it's pretty fast & efficient, but if you expect to drop ten orc models into a level and not have a performance hit when you run a buggy into them, you'll have to think again. But if you want to build a building in DTS, and don't go overboard in your model complexity, you should do just fine.
Finally, it collides against ALL the meshes in your model, including invisible ones. So if you want a model to work for polysoup you probably want to kill all your Col-1 meshes & so forth for proper results. Adding some sort of filtering rule wouldn't be hard but it was unclear the best way to do that so we left it a bit braindead.
You can get this at its page on TDN, if you're a TSE owner. Remember, you're on your own using it!
I figure I can't very well give you hearty Christmas cheer this holiday, so I may as well post up something nice and useful. :)
And probably some smaller stuff that I'll be posting about in coming months, too. :)
Speaking of smaller stuff, I took a few days about a month ago and extended 3space and TSStatic in TSE to support more flexible collision scenarios. Or to speak more directly, polysoup collision. I've collaborated on this with Tom Spilman, who spent some time debugging it, integrating it into a project, and cleaning it up a bit, and the end result is a polysoup implementation that seems fairly usable.
So, here's a screenshot of an orc on a concave donut:

Now, some caveats: this is just the result of a few day's hacking, not an official announcement of GG support for polysoup in Torque. So while it's pretty easy to integrate, you do have to have some coding knowledge to use it.
It's also not bullet proof. We use OpCode, so it's pretty fast & efficient, but if you expect to drop ten orc models into a level and not have a performance hit when you run a buggy into them, you'll have to think again. But if you want to build a building in DTS, and don't go overboard in your model complexity, you should do just fine.
Finally, it collides against ALL the meshes in your model, including invisible ones. So if you want a model to work for polysoup you probably want to kill all your Col-1 meshes & so forth for proper results. Adding some sort of filtering rule wouldn't be hard but it was unclear the best way to do that so we left it a bit braindead.
You can get this at its page on TDN, if you're a TSE owner. Remember, you're on your own using it!
I figure I can't very well give you hearty Christmas cheer this holiday, so I may as well post up something nice and useful. :)
Recent Blog Posts
| List: | 02/12/08 - Come See Me At GDC 2008! 10/27/07 - TGEForest Free Release 10/13/07 - Polysoup Free (And IGC) 01/26/07 - Speaking and Running Into Walls (Collision Fix) 12/25/06 - Merry Christmas, Community - Poly Soup 10/05/06 - Community Weekend (Not-IGC) 06/13/06 - Status Update on Atlas! (also, Ben On Vacation) 02/16/06 - GDC & Forest Pack Tech Preview |
|---|
Submit your own resources!| James Bond (Dec 25, 2006 at 01:18 GMT) |
| Fucifer (Dec 25, 2006 at 01:33 GMT) |
| Dave D (Dec 25, 2006 at 01:49 GMT) |
| Anthony Rosenbaum (Dec 25, 2006 at 02:18 GMT) |
| Tom Spilman (Dec 25, 2006 at 02:26 GMT) Resource Rating: 5 |
| Tom Eastman (Eastbeast314) (Dec 25, 2006 at 02:28 GMT) |
| Anton Bursch (Dec 25, 2006 at 03:51 GMT) |
| Ron Nelson (Dec 25, 2006 at 04:00 GMT) |
| David Blake (Dec 25, 2006 at 04:14 GMT) |
| Ishbuu (Dec 25, 2006 at 04:41 GMT) |
| Ben Garney (Dec 25, 2006 at 04:49 GMT) |
If you do change it, moving any objects that are colliding with it away a bit and then back ought to make things work properly again, but I'm not gonna swear to it. :)
- This text added to known issues section of the TDN page
| Jeremy Alessi (Dec 25, 2006 at 07:28 GMT) |
| Alienforce (Dec 25, 2006 at 08:42 GMT) |
| Stefan Lundmark (Dec 25, 2006 at 10:20 GMT) |
| Mike Kuklinski (Dec 25, 2006 at 15:30 GMT) |
| Gustavo Boni (Dec 25, 2006 at 21:06 GMT) Resource Rating: 5 |
Edited on Dec 25, 2006 21:13 GMT
| Alienforce (Dec 25, 2006 at 21:23 GMT) |
| Ben Garney (Dec 25, 2006 at 23:25 GMT) |
@Alienforce: The polysoup-related changes should work with any version, though you may need to do a merge by hand (the polysoup related changes are well-marked with comments) to avoid bringing over stuff unrelated to the collision changes. The files as posted are from the latest version of TSE.
Edited on Dec 25, 2006 23:25 GMT
| Gustavo Boni (Dec 26, 2006 at 01:31 GMT) Resource Rating: 5 |
I was wondering in a soccer game, maybe polysoup should be usefull too. Or not?
Thanks
| Ben Garney (Dec 26, 2006 at 01:38 GMT) |
| Gustavo Boni (Dec 26, 2006 at 04:52 GMT) Resource Rating: 5 |
| Alienforce (Dec 26, 2006 at 09:21 GMT) |
| Ben Garney (Dec 26, 2006 at 18:49 GMT) |
| Ron Nelson (Dec 26, 2006 at 20:33 GMT) |
| Ben Garney (Dec 27, 2006 at 02:58 GMT) |
| Vashner (Dec 28, 2006 at 01:14 GMT) Resource Rating: 5 |
:)
(scratches head.. note to self.. google Polysoup)
| Ben Garney (Dec 28, 2006 at 01:28 GMT) |
| Vashner (Dec 28, 2006 at 05:00 GMT) Resource Rating: 5 |
Ok noted it's experimental at this point.
| Gustavo Boni (Dec 31, 2006 at 22:37 GMT) Resource Rating: 5 |
>tsStatic.obj : error LNK2019: unresolved external symbol "public: void __thiscall TSShapeInstance::prepCollision(void)" (?prepCollision@TSShapeInstance@@QAEXXZ) referenced in function "protected: void __thiscall TSStatic::prepCollision(void)" (?prepCollision@TSStatic@@IAEXXZ)
13>tsMesh.obj : error LNK2001: unresolved external symbol "public: static class SceneObject * TSStaticPolysoupConvex::smCurObject" (?smCurObject@TSStaticPolysoupConvex@@2PAVSceneObject@@A)
13>tsMesh.obj : error LNK2001: unresolved external symbol "public: virtual class Box3F __thiscall TSStaticPolysoupConvex::getBoundingBox(class MatrixF const &,class Point3F const &)const " (?getBoundingBox@TSStaticPolysoupConvex@@UBE?AVBox3F@@ABVMatrixF@@ABVPoint3F@@@Z)
13>tsMesh.obj : error LNK2001: unresolved external symbol "public: virtual class Box3F __thiscall TSStaticPolysoupConvex::getBoundingBox(void)const " (?getBoundingBox@TSStaticPolysoupConvex@@UBE?AVBox3F@@XZ)
13>tsMesh.obj : error LNK2001: unresolved external symbol "public: virtual class Point3F __thiscall TSStaticPolysoupConvex::support(class Point3F const &)const " (?support@TSStaticPolysoupConvex@@UBE?AVPoint3F@@ABV2@@Z)
13>tsMesh.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall TSStaticPolysoupConvex::getFeatures(class MatrixF const &,class Point3F const &,class ConvexFeature *)" (?getFeatures@TSStaticPolysoupConvex@@UAEXABVMatrixF@@ABVPoint3F@@PAVConvexFeature@@@Z)
13>tsMesh.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall TSStaticPolysoupConvex::getPolyList(class AbstractPolyList *)" (?getPolyList@TSStaticPolysoupConvex@@UAEXPAVAbstractPolyList@@@Z)
13>tsShapeInstance.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall TSShapeInstance::ObjectInstance::buildPolyListOpcode(int,class AbstractPolyList *,unsigned int &)" (?buildPolyListOpcode@ObjectInstance@TSShapeInstance@@UAE_NHPAVAbstractPolyList@@AAI@Z)
13>tsShapeInstance.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall TSShapeInstance::MeshObjectInstance::castRayOpcode(int,class Point3F const &,class Point3F const &,struct RayInfo *)" (?castRayOpcode@MeshObjectInstance@TSShapeInstance@@UAE_NHABVPoint3F@@0PAURayInfo@@@Z)
13>tsShapeInstance.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall TSShapeInstance::MeshObjectInstance::buildConvexOpcode(class MatrixF &,int,class Box3F const &,class Convex *,class Convex *)" (?buildConvexOpcode@MeshObjectInstance@TSShapeInstance@@UAE_NAAVMatrixF@@HABVBox3F@@PAVConvex@@2@Z)
13>tsShapeInstance.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall TSShapeInstance::ObjectInstance::castRayOpcode(int,class Point3F const &,class Point3F const &,struct RayInfo *)" (?castRayOpcode@ObjectInstance@TSShapeInstance@@UAE_NHABVPoint3F@@0PAURayInfo@@@Z)
13>tsShapeInstance.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall TSShapeInstance::ObjectInstance::buildConvexOpcode(class MatrixF &,int,class Box3F const &,class Convex *,class Convex *)" (?buildConvexOpcode@ObjectInstance@TSShapeInstance@@UAE_NAAVMatrixF@@HABVBox3F@@PAVConvex@@2@Z)
13>../example/torqueDemo_DEBUG.exe : fatal error LNK1120: 12 unresolved externals
What's wrong?
Thanks
Edited on Dec 31, 2006 22:38 GMT
| Ben Garney (Jan 01, 2007 at 02:50 GMT) |
Edited on Jan 01, 2007 02:50 GMT
| Gustavo Boni (Jan 01, 2007 at 19:44 GMT) Resource Rating: 5 |
Thanks for the help!
Edited on Jan 01, 2007 21:33 GMT
| Alienforce (Jan 01, 2007 at 20:12 GMT) |
No compiling issues.... Just the above problem.
| Tom Spilman (Jan 01, 2007 at 20:21 GMT) Resource Rating: 5 |
| Gustavo Boni (Jan 01, 2007 at 21:42 GMT) Resource Rating: 5 |
| Ben Garney (Jan 02, 2007 at 00:32 GMT) |
| Alienforce (Jan 02, 2007 at 15:50 GMT) |
I know iam going to get answears like this "You have the source go and fix it yourself!" :) and Yes i am really tired for all the troubles with Max exporters so does anyone have some directions for me where to start to "rework" the exporters ??? Any good threads to read etc....
Edited on Jan 02, 2007 15:57 GMT
| Tom Spilman (Jan 02, 2007 at 15:54 GMT) Resource Rating: 5 |
Alienforce said... at least according to the email notification....
Quote:
Arggghhhhhh..... Im going crazy... After many hours working in Max to figure out what i am doing wrong couse my dts export will not work with the Polysoup.. I thought, hey lets try the same export in Milkshape and guess .... It works ... soooooo... whats wrong with Max exporters it feels like there is ALOT of work that have to be done on the Max exporters..
I just removed what looked to be an apostrophe, but it was an ascii code 180.
Edited on Jan 02, 2007 15:58 GMT
| Alienforce (Jan 02, 2007 at 15:59 GMT) |
| Tom Spilman (Jan 02, 2007 at 16:00 GMT) Resource Rating: 5 |
| Alienforce (Jan 02, 2007 at 16:13 GMT) |
I have tried the "new ones" also from the TGE 1.5 but with the same result.
| Gustavo Boni (Jan 02, 2007 at 17:02 GMT) Resource Rating: 5 |
| Ron Nelson (Jan 03, 2007 at 23:18 GMT) |
| Ben Garney (Jan 03, 2007 at 23:56 GMT) |
| Alienforce (Jan 04, 2007 at 14:08 GMT) |
I dont get any errors when compiling the .exe or the .libs
Could someone who has a working opcode.dll and tge.exe please email it to me so i can try to track where the problem is. If possible please include a working simple shape.
| James Terry (Jan 04, 2007 at 16:54 GMT) |
Thanks
| Alienforce (Jan 04, 2007 at 17:16 GMT) |
The RAR containes both TGE and TGEA
| James Terry (Jan 04, 2007 at 17:17 GMT) |
| Ben Garney (Jan 04, 2007 at 19:10 GMT) |
| James Terry (Jan 04, 2007 at 19:14 GMT) |
| Edward Smith (Jan 05, 2007 at 01:15 GMT) Resource Rating: 5 |
| Ron Nelson (Jan 06, 2007 at 05:37 GMT) |
www.garagegames.com/mg/forums/result.thread.php?qt=56205
| Josh Moore (Jan 11, 2007 at 21:20 GMT) |
| Alienforce (Jan 11, 2007 at 22:17 GMT) |
Just add it to your Tse project and build it before you compile the tse..
And you need to add the referece to the opcode.lib.
| Jeremiah Fulbright (Jan 14, 2007 at 06:07 GMT) |
Does the Player model also have to use polysoup collision or is there something I need to switch elsewhere
| Ryan Green (Jan 14, 2007 at 18:43 GMT) |
| Ben Garney (Jan 15, 2007 at 00:39 GMT) |
@James: Just drop me an e-mail, we'll get you taken care of right away.
| Alienforce (Jan 15, 2007 at 01:03 GMT) |
| Jeremiah Fulbright (Jan 15, 2007 at 01:30 GMT) |
I tried it with the Orc model and I made a pillar out of a cylinder (almost as wide as the Orc) and just used some boxes on top of it, like a base for something...
Projectiles work great, but the Orc model basically goes thru the Mesh and then collides once inside the mesh.
| Ben Garney (Jan 15, 2007 at 01:33 GMT) |
Will a Player class instance collide correctly (example: stand on) a TSStatic with the polysoup flag turned on and a non-animating static mesh? Yes.
It doesn't matter what type of mesh the player class is rendering in that case because it is asking the environment for the geometry around it so it knows how to move.
However, if you loaded the orc DTS into a TSStatic and turned on polysoup collision - it might work for a player standing on top of the TSStatic as long as the orc mesh wasn't animated but as soon as skinned animation started happening the collision results wouldn't match up with the animated shape, if you got any at all.
Beyond that - you should start a thread in the private SDK forums and we can discuss it in more detail there. Please post a link to the thread here if you start one!
| Tom Spilman (Jan 20, 2007 at 14:28 GMT) Resource Rating: 5 |
In TSStatic::unpackUpdate() change the // OPCODE_POLYSOUP block to this...
// OPCODE_POLYSOUP!
bool usePolysoup = stream->readFlag();
if ( usePolysoup && !mUsePolysoup )
{
mUsePolysoup = true;
if ( mShapeInstance )
prepCollision();
}
else if ( !usePolysoup && mUsePolysoup )
{
mUsePolysoup = false;
if ( mShapeInstance )
prepCollision();
}
// OPCODE_POLYSOUP!
This was a pretty serious issue as it was keeping the polysoup collision data from being generated on the client side and then you would get all sorts of vibrations and glitches as the client side falls thru the shape and the server corrects it.
Anyway... sorry guys.
| Sorin Daraban (Jan 27, 2007 at 02:40 GMT) |
I followed all the steps mentioned above to incorporate this resource and compile it with VC8 Express.
When I debug TGEA, it breaks at line 3789 in tsMesh.cpp:
// Don't re init if we already have something...
right here -> if(mOptTree)
return;
"mOptTree CXX0030: Error: expression cannot be evaluated"
| Marcel Boule (Feb 07, 2007 at 03:49 GMT) |
Will that be possible with polysoup ?
| Ben Garney (Feb 07, 2007 at 17:13 GMT) |
| Lee Latham (Feb 15, 2007 at 21:35 GMT) |
However, I too am getting the player on foot colliding apparently with the insides of objects, and not so much the outsides. That's how it looks, anyway. I applied Tom Spillman's patch as well, although I don't know if that's relevant (you just gotta put code in front of me and I'll paste it in and compile it!).
Edit: I see the posts above about the animation of the player breaking the collision. I feel like I've just gotten 5 out of 6 numbers on my lottery ticket. I was wondering how this was resolved with terrain, which seems like a similar deal?
Edited on Feb 16, 2007 03:02 GMT
| Tom Spilman (Mar 02, 2007 at 22:00 GMT) Resource Rating: 5 |
| Frank Korf (Jun 20, 2007 at 16:31 GMT) |
Thanks
| Ben Garney (Jun 20, 2007 at 20:52 GMT) |
Edited on Jun 20, 2007 20:53 GMT
| Adam Brand (Jul 04, 2007 at 09:48 GMT) Resource Rating: 4 |
1>msvcrt.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
1>msvcrt.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
1> Creating library ../../Projects/Golf/SilverKeyGameLauncher.lib and object ../../Projects/Golf/SilverKeyGameLauncher.exp
1>LIBCMT.lib(crt0init.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
1>tsMesh.obj : warning LNK4217: locally defined symbol ??1CollisionAABB@Opcode@@QAE@XZ (public: __thiscall Opcode::CollisionAABB::~CollisionAABB(void)) imported in function __unwindfunclet$?buildPolyListOpcode@TSMesh@@UAE_NHPAVAbstractPolyList@@ABVBox3F@@@Z$0
1>tsMesh.obj : warning LNK4217: locally defined symbol ??1Point@IceMaths@@QAE@XZ (public: __thiscall IceMaths::Point::~Point(void)) imported in function __unwindfunclet$?buildPolyListOpcode@TSMesh@@UAE_NHPAVAbstractPolyList@@ABVBox3F@@@Z$0
1>tsMesh.obj : warning LNK4217: locally defined symbol ??1AABB@IceMaths@@QAE@XZ (public: __thiscall IceMaths::AABB::~AABB(void)) imported in function __unwindfunclet$?buildPolyListOpcode@TSMesh@@UAE_NHPAVAbstractPolyList@@ABVBox3F@@@Z$0
1>tsMesh.obj : warning LNK4217: locally defined symbol ??1AABBCache@Opcode@@QAE@XZ (public: __thiscall Opcode::AABBCache::~AABBCache(void)) imported in function __unwindfunclet$?buildPolyListOpcode@TSMesh@@UAE_NHPAVAbstractPolyList@@ABVBox3F@@@Z$0
1>tsMesh.obj : warning LNK4217: locally defined symbol ??1AABBCollider@Opcode@@UAE@XZ (public: virtual __thiscall Opcode::AABBCollider::~AABBCollider(void)) imported in function "public: virtual bool __thiscall TSMesh::buildPolyListOpcode(int,class AbstractPolyList *,class Box3F const &)" (?buildPolyListOpcode@TSMesh@@UAE_NHPAVAbstractPolyList@@ABVBox3F@@@Z)
1>tsMesh.obj : warning LNK4217: locally defined symbol ??1OPC_Container@IceCore@@QAE@XZ (public: __thiscall IceCore::OPC_Container::~OPC_Container(void)) imported in function "public: virtual bool __thiscall TSMesh::buildPolyListOpcode(int,class AbstractPolyList *,class Box3F const &)" (?buildPolyListOpcode@TSMesh@@UAE_NHPAVAbstractPolyList@@ABVBox3F@@@Z)
1>tsMesh.obj : warning LNK4217: locally defined symbol ?Collide@AABBCollider@Opcode@@QAE_NAAUAABBCache@2@ABVCollisionAABB@2@ABVModel@2@@Z (public: bool __thiscall Opcode::AABBCollider::Collide(struct Opcode::AABBCache &,class Opcode::CollisionAABB const &,class Opcode::Model const &)) imported in function "public: virtual bool __thiscall TSMesh::buildPolyListOpcode(int,class AbstractPolyList *,class Box3F const &)" (?buildPolyListOpcode@TSMesh@@UAE_NHPAVAbstractPolyList@@ABVBox3F@@@Z)
1>tsMesh.obj : warning LNK4217: locally defined symbol ?SetMinMax@AABB@IceMaths@@QAEXABVPoint@2@0@Z (public: void __thiscall IceMaths::AABB::SetMinMax(class IceMaths::Point const &,class IceMaths::Point const &)) imported in function "public: virtual bool __thiscall TSMesh::buildPolyListOpcode(int,class AbstractPolyList *,class Box3F const &)" (?buildPolyListOpcode@TSMesh@@UAE_NHPAVAbstractPolyList@@ABVBox3F@@@Z)
1>tsMesh.obj : warning LNK4217: locally defined symbol ??0AABBCache@Opcode@@QAE@XZ (public: __thiscall Opcode::AABBCache::AABBCache(void)) imported in function "public: virtual bool __thiscall TSMesh::buildPolyListOpcode(int,class AbstractPolyList *,class Box3F const &)" (?buildPolyListOpcode@TSMesh@@UAE_NHPAVAbstractPolyList@@ABVBox3F@@@Z)
1>tsMesh.obj : warning LNK4217: locally defined symbol ??0AABBCollider@Opcode@@QAE@XZ (public: __thiscall Opcode::AABBCollider::AABBCollider(void)) imported in function "public: virtual bool __thiscall TSMesh::buildPolyListOpcode(int,class AbstractPolyList *,class Box3F const &)" (?buildPolyListOpcode@TSMesh@@UAE_NHPAVAbstractPolyList@@ABVBox3F@@@Z)
1>tsMesh.obj : warning LNK4217: locally defined symbol ??1IndexedTriangle@IceMaths@@QAE@XZ (public: __thiscall IceMaths::IndexedTriangle::~IndexedTriangle(void)) imported in function "public: void * __thiscall IceMaths::IndexedTriangle::`vector deleting destructor'(unsigned int)" (??_EIndexedTriangle@IceMaths@@QAEPAXI@Z)
1>tsMesh.obj : warning LNK4217: locally defined symbol ??1Ray@IceMaths@@QAE@XZ (public: __thiscall IceMaths::Ray::~Ray(void)) imported in function __unwindfunclet$?castRayOpcode@TSMesh@@UAE_NABVPoint3F@@0PAURayInfo@@@Z$0
1>tsMesh.obj : warning LNK4217: locally defined symbol ??1CollisionFaces@Opcode@@QAE@XZ (public: __thiscall Opcode::CollisionFaces::~CollisionFaces(void)) imported in function __unwindfunclet$?castRayOpcode@TSMesh@@UAE_NABVPoint3F@@0PAURayInfo@@@Z$0
1>tsMesh.obj : warning LNK4217: locally defined symbol ??1RayCollider@Opcode@@UAE@XZ (public: virtual __thiscall Opcode::RayCollider::~RayCollider(void)) imported in function "public: virtual bool __thiscall TSMesh::castRayOpcode(class Point3F const &,class Point3F const &,struct RayInfo *)" (?castRayOpcode@TSMesh@@UAE_NABVPoint3F@@0PAURayInfo@@@Z)
1>tsMesh.obj : warning LNK4217: locally defined symbol ??GPoint@IceMaths@@QBE?AV01@ABV01@@Z (public: class IceMaths::Point __thiscall IceMaths::Point::operator-(class IceMaths::Point const &)const ) imported in function "public: virtual bool __thiscall TSMesh::castRayOpcode(class Point3F const &,class Point3F const &,struct RayInfo *)" (?castRayOpcode@TSMesh@@UAE_NABVPoint3F@@0PAURayInfo@@@Z)
1>tsMesh.obj : warning LNK4217: locally defined symbol ?Collide@RayCollider@Opcode@@QAE_NABVRay@IceMaths@@ABVModel@2@PBVMatrix4x4@4@PAI@Z (public: bool __thiscall Opcode::RayCollider::Collide(class IceMaths::Ray const &,class Opcode::Model const &,class IceMaths::Matrix4x4 const *,unsigned int *)) imported in function "public: virtual bool __thiscall TSMesh::castRayOpcode(class Point3F const &,class Point3F const &,struct RayInfo *)" (?castRayOpcode@TSMesh@@UAE_NABVPoint3F@@0PAURayInfo@@@Z)
1>tsMesh.obj : warning LNK4217: locally defined symbol ??0OPC_Container@IceCore@@QAE@XZ (public: __thiscall IceCore::OPC_Container::OPC_Container(void)) imported in function "public: virtual bool __thiscall TSMesh::castRayOpcode(class Point3F const &,class Point3F const &,struct RayInfo *)" (?castRayOpcode@TSMesh@@UAE_NABVPoint3F@@0PAURayInfo@@@Z)
1>tsMesh.obj : warning LNK4217: locally defined symbol ??0RayCollider@Opcode@@QAE@XZ (public: __thiscall Opcode::RayCollider::RayCollider(void)) imported in function "public: virtual bool __thiscall TSMesh::castRayOpcode(class Point3F const &,class Point3F const &,struct RayInfo *)" (?castRayOpcode@TSMesh@@UAE_NABVPoint3F@@0PAURayInfo@@@Z)
1>tsMesh.obj : warning LNK4217: locally defined symbol ??0OPCODECREATE@Opcode@@QAE@XZ (public: __thiscall Opcode::OPCODECREATE::OPCODECREATE(void)) imported in function "public: void __thiscall TSMesh::prepOpcodeCollision(void)" (?prepOpcodeCollision@TSMesh@@QAEXXZ)
1>tsMesh.obj : warning LNK4217: locally defined symbol ??0Model@Opcode@@QAE@XZ (public: __thiscall Opcode::Model::Model(void)) imported in function "public: void __thiscall TSMesh::prepOpcodeCollision(void)" (?prepOpcodeCollision@TSMesh@@QAEXXZ)
1>tsMesh.obj : warning LNK4217: locally defined symbol ?SetPointers@MeshInterface@Opcode@@QAE_NPBVIndexedTriangle@IceMaths@@PBVPoint@4@@Z (public: bool __thiscall Opcode::MeshInterface::SetPointers(class IceMaths::IndexedTriangle const *,class IceMaths::Point const *)) imported in function "public: void __thiscall TSMesh::prepOpcodeCollision(void)" (?prepOpcodeCollision@TSMesh@@QAEXXZ)
1>tsMesh.obj : warning LNK4217: locally defined symbol ??0Point@IceMaths@@QAE@XZ (public: __thiscall IceMaths::Point::Point(void)) imported in function "public: void __thiscall TSMesh::prepOpcodeCollision(void)" (?prepOpcodeCollision@TSMesh@@QAEXXZ)
1>tsMesh.obj : warning LNK4217: locally defined symbol ??0IndexedTriangle@IceMaths@@QAE@XZ (public: __thiscall IceMaths::IndexedTriangle::IndexedTriangle(void)) imported in function "public: void __thiscall TSMesh::prepOpcodeCollision(void)" (?prepOpcodeCollision@TSMesh@@QAEXXZ)
1>tsMesh.obj : warning LNK4217: locally defined symbol ??0MeshInterface@Opcode@@QAE@XZ (public: __thiscall Opcode::MeshInterface::MeshInterface(void)) imported in function "public: void __thiscall TSMesh::prepOpcodeCollision(void)" (?prepOpcodeCollision@TSMesh@@QAEXXZ)
1>tsMesh.obj : warning LNK4217: locally defined symbol ??1Model@Opcode@@UAE@XZ (public: virtual __thiscall Opcode::Model::~Model(void)) imported in function "public: virtual void * __thiscall Opcode::Model::`scalar deleting destructor'(unsigned int)" (??_GModel@Opcode@@UAEPAXI@Z)
1>tsMesh.obj : error LNK2019: unresolved external symbol __imp__InitOpcode referenced in function "public: void __thiscall TSMesh::prepOpcodeCollision(void)" (?prepOpcodeCollision@TSMesh@@QAEXXZ)
1>../../Projects/Golf/SilverKeyGameLauncher.exe : fatal error LNK1120: 1 unresolved externals
1>Build log was saved at "file://d:\Game\SDK\engine\out.VC8.RELEASE\BuildLog.htm"
1>Torque Demo - 4 error(s), 26 warning(s)
can any one please tell me what's wrong ?
Thanks
Edited on Jul 04, 2007 10:32 GMT
| James Laker (BurNinG) (Jul 19, 2007 at 14:53 GMT) |
So what do I need to do, or who do I need to bribe to allow me to make commercial game with this? (Looking at Ben's Amazon wishlist)
I would like to know this before I get my modeller to start creating stuff.
| Ben Garney (Jul 19, 2007 at 18:04 GMT) |
You can buy me stuff off my Amazon list but it won't get you commercial access - GG has to approve it, not me personally. :)
| Ben Garney (Jul 19, 2007 at 18:04 GMT) |
\"Please read the file readme_eula.txt for information on the private licensing of this code. Please contact Timothy Aste at [tima@garagegames.com] for information on the commercial licensing of this code for commercial works.\"
So actually, e-mail Tim Aste. :)
| Joti Carroll (Jul 31, 2007 at 07:04 GMT) |
the fix for your problem is a step back in TSShapeInstance::prepCollision
for(S32 i=0; i<hShape->meshes.size(); i++)
if(hShape->meshes[i])
hShape->meshes[i]->prepOpcodeCollision();
And to fix player collision make this change in TSStaticPolysoupConvex::getPolyList
S32 base = list->addPoint(verts[0]);
list->addPoint(verts[2]);
list->addPoint(verts[1]);
list->addPoint(verts[3]);
We have upgraded the version of ODE in our system and with some alterations for the memory manager linked with it's OPCODE. The new version also has GIMPACT for determining penetration information for polysoup, still has many bugs in ODE but maybe some one will give it a go in torque.
Edited on Jul 31, 2007 07:08 GMT
| PuG (Aug 02, 2007 at 09:44 GMT) |
Edited on Aug 02, 2007 09:44 GMT
| Joti Carroll (Aug 14, 2007 at 02:12 GMT) |
void TSShapeInstance::prepCollision()
{
// start ds - will load all collision meshes into the soup and if there aren't any it uses the visible meshes
/*
// Iterate over all our meshes and call prepCollision on them...
for(S32 i=0; i<hShape->meshes.size(); i++)
hShape->meshes[i]->prepOpcodeCollision();
*/
// step through all the details in the shape
U32 count = 0;
for (U32 dl = 0; dl < hShape->details.size(); dl++)
{
TSShape::Detail *detail = &(hShape->details[dl]);
if(!detail)
continue;
// look for polysoup collision meshes
char* name = (char*)hShape->names[detail->nameIndex];
if (!dStrstr((const char*)dStrlwr(name), "collision-"))
continue;
// check meshes on this detail level...
S32 ss = detail->subShapeNum;
S32 od = detail->objectDetailNum;
if (ss<0)
continue; // this is a billboard detail level
S32 start = hShape->subShapeFirstObject[ss];
S32 end = hShape->subShapeNumObjects[ss] + start;
// should only be one mesh but lets be safe
for (U32 i=start; i<end; i++)
{
TSMesh * mesh = hShape->meshes[i];
if (mesh)
{
mesh->prepOpcodeCollision();
count++;
}
}
}
// we found collision meshes so no need to add any more meshes
if (count!=0)
return;
// add the first LOD of the visible meshes
TSShape::Detail *detail = &(hShape->details[0]);
if (!detail)
return;
// check meshes on this detail level...
S32 ss = detail->subShapeNum;
S32 od = detail->objectDetailNum;
if (ss<0)
return; // this is a billboard detail level
S32 start = hShape->subShapeFirstObject[ss];
S32 end = hShape->subShapeNumObjects[ss] + start;
// add all visible meshes for this detail level
for (U32 i=start; i<end; i++)
{
TSMesh * mesh = hShape->meshes[i];
if (mesh)
mesh->prepOpcodeCollision();
}
// end ds
}
Edited on Aug 14, 2007 02:17 GMT
| James Laker (BurNinG) (Aug 14, 2007 at 07:12 GMT) |
EDIT: Pity we need a Commercial license to use this.
Edited on Aug 14, 2007 07:15 GMT
| asmaloney (Andy) (Sep 02, 2007 at 23:03 GMT) |
Quote:
Pity we need a Commercial license to use this.
...check again! It has been changed:
TDN article
Share and enjoy!
| Lee Latham (Sep 03, 2007 at 00:27 GMT) |
Thanks GG!
| James Laker (BurNinG) (Sep 03, 2007 at 07:33 GMT) |
Thanx you guys!
| James Laker (BurNinG) (Sep 07, 2007 at 10:06 GMT) |
burningza _at_ gmail dot com
Plzzz
| James Laker (BurNinG) (Sep 19, 2007 at 08:47 GMT) |
Have a little more detailed description of how to get it installed, linked n all here.
There's also an include missing in the resource.
| Lee Latham (Sep 30, 2007 at 04:03 GMT) |
It's been a while since I visited polysoup collision, last time was with TSE MS4. I'm trying to build it into TGEA 1.03, and I'm getting a lot of stuff along these lines:
1>..\engine\ts\tsPartInstance.cpp(356) : error C2661: 'TSShapeInstance::selectCurrentDetail' : no overloaded function takes 3 arguments
All the errors seem to have to do with overloaded functions specifically for TSShapeInstance::selectCurrentDetail that I guess are not there anymore. I tried TGEA 1.02 which I also happened to have with similar results. Has anyone else run into this?
Is there a way to get TGEA 1.01 and try it? Or have I just bodged my Visual Studio configuration?
Edit: Hmmm I grabbed tsPartInstance.cpp from TSE MS4 and still no joy. I know I must be an idiot, and would be grateful for any crumbs of knowledge anyone would deign to throw my way :-)
Edited on Sep 30, 2007 22:11 GMT
| James Laker (BurNinG) (Oct 01, 2007 at 08:25 GMT) |
| Lee Latham (Oct 01, 2007 at 16:38 GMT) |
Edited on Oct 01, 2007 18:57 GMT
| Lee Latham (Oct 01, 2007 at 19:29 GMT) |
6>..\engine\game\tsStatic.cpp(230) : error C2665: 'DetailManager::selectPotentialDetails' : none of the 2 overloads could convert all the argument types
6> d:\tgea\engine\sceneGraph/detailManager.h(102): could be 'void DetailManager::selectPotentialDetails(TSShapeInstance *,const MatrixF &,const SceneState *)'
6> d:\tgea\engine\sceneGraph/detailManager.h(112): or 'void DetailManager::selectPotentialDetails(TSPartInstance *,const MatrixF &,const SceneState *)'
6> while trying to match the argument list '(TSShapeInstance *, F32, F32)'
If I'm reading this right, the polysoup version of tsStatic.cpp is trying to call a function in detailManager.cpp improperly. This implies to me that there should be a polysoup version of that? Or is this more serious than a simple merging of code?
The other error I still get is perhaps similar:
6>..\engine\ts\tsMesh.cpp(430) : error C2440: '=' : cannot convert from 'GFXTexHandle *' to 'GFXTextureObject *'
6> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Edited on Oct 01, 2007 19:39 GMT
| Ben Garney (Oct 01, 2007 at 19:49 GMT) |
| Lee Latham (Oct 01, 2007 at 21:27 GMT) |
Now I've just got tgea.exe complaining about the missing opcode.dll...I've seen this before...I'll figure it out. Actually, how do you tell VS to build a dll as opposed to a *lib?
Thanks for the help!
Edit: I found an old one I'd built, but this whole dll vs. lib building is an annoying mystery.
Anyone else have an issue specifically with airplanes colliding with polysoup? I'm getting some massive slowdowns when that happens. Still, I LOVE this stuff.
Edited on Oct 01, 2007 22:13 GMT
| James Laker (BurNinG) (Oct 02, 2007 at 08:08 GMT) |
| Lee Latham (Oct 02, 2007 at 16:32 GMT) |
TGEA links with the *.lib file fine (apparently--it's building). But it does need the *.dll to execute.
I only ask here because I see it's happened before and I'm sure some other non-developer type will run into it trying to use this cool polysoup stuff.
| Lee Latham (Oct 04, 2007 at 20:18 GMT) |
I don't have a major problem with a Windows-only TGEA/polysoup client, but the thought of a Windows only server is like having a rusty nine-inch nail driven through my eyeball.
| Ben Garney (Oct 04, 2007 at 20:31 GMT) |
| Lee Latham (Oct 04, 2007 at 22:48 GMT) |
| Lee Latham (Oct 05, 2007 at 07:38 GMT) |
| Ben Garney (Oct 05, 2007 at 19:04 GMT) |
| Lee Latham (Oct 05, 2007 at 19:50 GMT) |
| Lee Latham (Oct 05, 2007 at 20:23 GMT) |
Edited on Oct 05, 2007 20:25 GMT
| Ben Garney (Oct 05, 2007 at 20:50 GMT) |
An extension that would work well with this polysoup collision would be to do per-mesh culling when rendering DTS shapes. That way you could just make one big DTS that was cut up a bit and it would draw fast and collide efficiently too.
(PS - it's not a big performance hit to have multiple big DTSes rather than one huge one and do collision against them.)
| Lee Latham (Oct 15, 2007 at 04:04 GMT) |
Sorry if this is the wrong place to ask, but it seems like it applies most to people doing the polysoup stuff.
P.S. I'm thinking of the latest Marble Blast here, where the marble rolls quite smoothly on the meshes.
Edited on Oct 15, 2007 04:11 GMT
| Ben Garney (Oct 15, 2007 at 05:22 GMT) |
| Bobby Leighton (Oct 21, 2007 at 04:41 GMT) |
C:\Torque\TGEA_testing\engine\ts\tsPartInstance.cpp(356): error C2661: 'TSShapeInstance::selectCurrentDetail' : no overloaded function takes 3 arguments
C:\Torque\TGEA_testing\engine\sceneGraph\detailManager.cpp(180): error C2661: 'TSShapeInstance::selectCurrentDetail' : no overloaded function takes 3 arguments
C:\Torque\TGEA_testing\engine\game\tsStatic.cpp(230): error C2665: 'DetailManager::selectPotentialDetails' : none of the 2 overloads can convert parameter 2 from type 'F32'
C:\Torque\TGEA_testing\engine\game\showTSShape.cpp(296): error C2664: 'S32 TSShapeInstance::selectCurrentDetail(Point3F,F32)' : cannot convert parameter 1 from 'MatrixF' to 'Point3F'
C:\Torque\TGEA_testing\engine\game\shapeBase.cpp(2268): error C2664: 'S32 TSShapeInstance::selectCurrentDetail(Point3F,F32)' : cannot convert parameter 1 from 'MatrixF' to 'Point3F'
C:\Torque\TGEA_testing\engine\game\projectile.cpp(943): error C2664: 'S32 TSShapeInstance::selectCurrentDetail(Point3F,F32)' : cannot convert parameter 1 from 'MatrixF' to 'Point3F'
| Eikon Games (Oct 21, 2007 at 18:01 GMT) |
Did you ever get to the bottom of the problem where your player was falling through the surface and then getting stuck inside?
I have just got it compiling with no errors and warnings (TGEA 1.0.3). I run the exe, drop in my dts file (which is just a simple cube exported from lightwave for testing).
If I shoot at the cube, I get collision and an explosion on the side. However, if I walk into it I walk right through the side and then collide with the 'inside' at the opposite end. From there I am trapped inside the model and have to drop my player back outside the object.
Any help / advice would be greatly appreciated - thanks!
| Lee Latham (Oct 21, 2007 at 18:12 GMT) |
@Eikon Games: I had this same problem and applied the little patch kindly supplied above by Joti Carroll (Jul 31, 2007 at 02:04). Now my players are colliding reasonably well.
You guys would both save yourselves a lot of time by reading all the posts before posting--you'd already be merrily polysouping along instead of reading my snarky comment.
| Eikon Games (Oct 21, 2007 at 18:20 GMT) |
You are absolutely right. But (tries to get out of hole) I *did* think I'd read through all the comments. However, I must have missed that one :o(
Implemented that patch and works a treat. Thank you - without your 'snarky comment' I'd still be scratching my head!
| Bobby Leighton (Oct 22, 2007 at 02:51 GMT) |
| Lee Latham (Oct 22, 2007 at 22:57 GMT) |
@Bobby: Man, I just barely understand what I did with that, and I really have no business distributing it, I think, even if it does seem to work. Just use winmerge to get a diff between the files distributed in the polysoup resource and stock TGEA, and move the stuff that's in the polysoup resource into the TGEA versions. Feel free to email me if you have more trouble, and I'll send you what I've got.
| Bobby Leighton (Oct 23, 2007 at 16:36 GMT) |
| Kyle Le Master (Dec 18, 2007 at 06:18 GMT) |
13>------ Build started: Project: Torque Demo, Configuration: Release Win32 ------
13>Compiling...
13>tsSortedMesh.cc
13>..\engine\ts\tsSortedMesh.cc(57) : error C2065: 'tDiffuse' : undeclared identifier
13>..\engine\ts\tsSortedMesh.cc(57) : error C3861: 'getUVs': identifier not found
I have uploaded the buildLog here: www.soulsandsocks.com/BuildLog.htm
If anyways had any suggestions for me, I am all ears!
Thanks,
Kyle LeMaster
Edited on Dec 18, 2007 06:20 GMT
| Lee Latham (Dec 20, 2007 at 07:14 GMT) |
| Kerry Lyon (Dec 27, 2007 at 05:49 GMT) |
I did go through this thread and tested out all the fixes, but without success.
Anyway, if anyone has the correctly merged files or a compiled '.exe' for 1.0.3, would it be possible to email them to me? (I hope this isn't breeching forum etiquette...)
Thanks.
P.S. I did find out where that dastardly 'opcode.dll' was (c:\Program Files\Media)! If anyone needs a copy let me know.
| Lee Latham (Dec 27, 2007 at 19:02 GMT) |
It's a separate build from the opcode/TGEA build.
| Lee Latham (Dec 27, 2007 at 21:50 GMT) |
./game/tsStatic.h:73: error: ISO C++ forbids declaration of TSMesh with no type
Edited on Dec 30, 2007 00:11 GMT
| Kerry Lyon (Dec 28, 2007 at 03:08 GMT) |
And sorry, but I can't help with the Linux stuff. No experience there at all...
| Lee Latham (Dec 30, 2007 at 02:38 GMT) |
Currently I'm stuck at:
./opcode/./Ice/IceTypes.h:52: error: __int64 does not name a type
Although there is an error that does not stop compilation before that:
./opcode/OPC_IceHook.h:21:19: error: Math.h: No such file or directory
There is no "math.h" to be found, however.
Edited on Dec 30, 2007 04:20 GMT
| Lee Latham (Jan 01, 2008 at 00:42 GMT) |
./opcode/./Ice/IceTypes.h:126: error: expected `)' before * token
Edited on Jan 01, 2008 00:43 GMT
| sanjaychoudhary (Jan 03, 2008 at 06:19 GMT) |
TGE 1.5.0 and
TGEA 1.0.3
both are giving runtime exceptions when I check the polysoup box.
any idea...
can anyone send me the code for TGEA 1.0.3 if i am doing wrong.
| Lee Latham (Jan 03, 2008 at 06:53 GMT) |
| sanjaychoudhary (Jan 03, 2008 at 08:16 GMT) |
I can even cross check!!
| Lee Latham (Jan 03, 2008 at 23:16 GMT) |
(If you'd had your email addy in your profile, you'd have them already!)
| Kerry Lyon (Jan 12, 2008 at 04:01 GMT) |
P.S. I downloaded and played your Singularity FPS game. I think the concept is fun and I enjoy the variety of vehicles and power ups. Nice work!
| Lee Latham (Jan 12, 2008 at 04:44 GMT) |
BTW the ICE library is apparently a completely Windows-only deal. I've found a port of it to Linux but it does crazy stuff like ifdef out assembler code and replace it with simple functions. Also a LOT of type definitions needs to be redone in a platform independent way. Although the Opcode lib itself doesn't seem too bad in that regard.
Definitely not a plug-n-play port by any stretch of the imagination. I'm going to feel so dirty renting a Windows server--and even worse potentially telling someone who wants to host my game that that's the only option. :-(
Edited on Jan 12, 2008 04:51 GMT
| asmaloney (Andy) (Jan 12, 2008 at 05:34 GMT) |
Quote:
BTW the ICE library is apparently a completely Windows-only deal.
This is not accurate. It's pretty straightforward to take the included OPCODE library and get it compiled on the Mac - it doesn't require a lot of changes. Instead of compiling as a linked library [which IIRC this resource is set up to do], try adding it to your project and linking to it statically.
I haven't tried it on Linux myself, but if it compiles on the Mac it should be fine on Linux too.
| Lee Latham (Jan 12, 2008 at 05:46 GMT) |
This is in the compiling stage, where I presume it doesn't matter if it's statically linked or not...or not?
| asmaloney (Andy) (Jan 12, 2008 at 06:56 GMT) |
As I recall, there were some Windows specific keywords used for indicating linkage [__stdcall, __declspec come to mind]. These would have to be #ifdef'd as well. The other thing I changed was the includes. I think it was using #include <foo.h> instead of #include "foo.h" unnecessarily in a lot of places.
The static linking comment I made was because I just remember finding it easier in terms of some of the crazy Windows linkage defines [I think there was some OP_NO_DLL or something] to just make it static. On Windows you have to do this whole __declspec(dllexport)/__declspec(import) thing which doesn't apply to the rest of the world. So instead of messing with all of that, I just made it static - which I think is a better solution anyways. There's no need for this to be dynamically linked.
| Don Hogan (Mar 16, 2008 at 14:49 GMT) Resource Rating: 5 |
I've managed to work through most of my issues so far, but this one has me stumped. My guess would be it's related to something that's handled differently in the Super Environment Pack www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid=1415... but I can't find any differences relating to opcode when I compare the files in Winmerge. Here's the error I'm getting from VS 2005 Express
1>Linking...
1>tsStatic.obj : error LNK2019: unresolved external symbol "public: bool __thiscall TSShapeInstance::castRayOpcode(int,class Point3F const &,class Point3F const &,struct RayInfo *)" (?castRayOpcode@TSShapeInstance@@QAE_NHABVPoint3F@@0PAURayInfo@@@Z) referenced in function "protected: virtual bool __thiscall TSStatic::castRay(class Point3F const &,class Point3F const &,struct RayInfo *)" (?castRay@TSStatic@@MAE_NABVPoint3F@@0PAURayInfo@@@Z)
1>tsStatic.obj : error LNK2019: unresolved external symbol "public: bool __thiscall TSShapeInstance::buildPolyListOpcode(int,class AbstractPolyList *,class Box3F const &)" (?buildPolyListOpcode@TSShapeInstance@@QAE_NHPAVAbstractPolyList@@ABVBox3F@@@Z) referenced in function "protected: virtual bool __thiscall TSStatic::buildPolyList(class AbstractPolyList *,class Box3F const &,class SphereF const &)" (?buildPolyList@TSStatic@@MAE_NPAVAbstractPolyList@@ABVBox3F@@ABVSphereF@@@Z)
1>tsStatic.obj : error LNK2019: unresolved external symbol "public: bool __thiscall TSShapeInstance::buildConvexOpcode(class MatrixF,class Point3F,int,class Box3F const &,class Convex *,class Convex *)" (?buildConvexOpcode@TSShapeInstance@@QAE_NVMatrixF@@VPoint3F@@HABVBox3F@@PAVConvex@@3@Z) referenced in function "protected: virtual void __thiscall TSStatic::buildConvex(class Box3F const &,class Convex *)" (?buildConvex@TSStatic@@MAEXABVBox3F@@PAVConvex@@@Z)
1>../example/torqueDemo.exe : fatal error LNK1120: 3 unresolved externals
1>Build log was saved at "file://c:\Torque\TGE_1_5_2\engine\out.VC8.RELEASE\BuildLog.htm"
1>Torque Demo - 4 error(s), 0 warning(s)
Any pointers on where to look? Thanks!
Edited on Mar 16, 2008 14:56 GMT
| Don Hogan (Mar 16, 2008 at 16:41 GMT) Resource Rating: 5 |
EDIT: Ok, so ultimately all I've done is extend this .plan by 2 posts. =) I re-merged after taking a break to clear my head and it works just fine. tsStatic.cc was the culprit, although I can't say that I could tell you where the problem was. I was just more careful, and I do think it was easier merging the Super Environment Pack into polysoup than it was the other way around.
Edited on Mar 16, 2008 23:40 GMT
| William Freeman (Apr 06, 2008 at 04:27 GMT) |
It seems to not like poly meshes with poly's missing ie holes, but thats easy enough to work around. I did some testing on what it does as far as CPU usage and frame rate and it really doesn't seem to bog down at all. I was getting 80 fps on a geforce 8800GT dual core with about 100,000 polys in the soup and I was only using 3/4s of a core.
Thanks so much for this. I have big plans for it.. big plans!
Colin
| William Freeman (Apr 06, 2008 at 04:30 GMT) |
| Ben Garney (Apr 06, 2008 at 04:46 GMT) |
| Lee Latham (Apr 06, 2008 at 06:53 GMT) |
| William Freeman (Apr 07, 2008 at 05:50 GMT) |
http://www.youtube.com/watch?v=rM93s_HOmMk
| Ben Garney (Apr 07, 2008 at 06:27 GMT) |
| Lee Latham (Apr 11, 2008 at 21:15 GMT) |
The most disturbing thing is that it doesn't seem to be related to the exporter per se, since taking it through Milkshape doesn't seem to help.
Any input would be greatly appreciated, as I am completely addicted to polysoup at this point :-)
Edited on Apr 11, 2008 21:16 GMT
| Ben Garney (Apr 11, 2008 at 21:29 GMT) |
| Lee Latham (Apr 11, 2008 at 22:38 GMT) |
If yourself or anyone is interested, the blend and dts file are here (35k):
www.singularityfps.com/images/kitchen.zip
This is a room that players are meant to run around on, and the issue happens on the bottom of the floor, which is just six big triangles which meet in the center. I've had the issue with grid-like configurations as well, though.
| Lee Latham (Apr 12, 2008 at 00:41 GMT) |
| William Freeman (May 08, 2008 at 05:55 GMT) |
| K. Anderson (May 10, 2008 at 03:12 GMT) |
This is the rar file that's updated for 1.5.2 that I got from ramen sama when I was having problems. The opcode stuff for polysoup is the same, its just updated with the things added in since 1.5.0 which I believe is a bunch of lightmap stuff. I had used the TGE resource in the rar file above and removed too much when merging them. I uploaded it here:
Polysoup1_5_2.zip
-----------------
One problem that I've started running into with the polysoup is that I'm crashing as soon as my flying vehicle touches the bounding box of a static mesh with polysoup checked. This doesn't happen to all models yet, but the only differences between them is one has a material applied and the other doesn't. Skins or materials on the models and it crashes, no materials and nicely shiney and it works perfectly. I had thought it was the collision with the polygons that was crashing when I hit a smaller mesh but trying a larger mesh its definitely the bounding box.
Anybody else had a similar problem?
Edited on May 10, 2008 03:14 GMT
| Lee Latham (May 10, 2008 at 04:45 GMT) |
Yes, I definitely had that problem, and applying a bunch of fixes from this thread helped a TON--although not completely. I still get crashes if someone does a whole lot of plane/mesh collision:
www.garagegames.com/mg/forums/result.thread.php?qt=63305
I'd appreciate it if you could let me know if you get it solid.
| K. Anderson (May 14, 2008 at 07:22 GMT) |
Will do, I haven't had a chance to get back to this just yet but I'll give that thread a shot, thanks.
You must be a member and be logged in to either append comments or rate this resource.



4.8 out of 5


