* FAQ    * Search  * Register * Login 
Active topics
Unanswered topics

All times are UTC-06:00



Post new topic  Reply to topic  [ 11 posts ] 
Author Message
 Post subject: D3U Official Pyro-GL: Prepping For In-Game Use.
PostPosted: Mon Jul 23, 2007 12:44 am 
Offline
DBB Defender
DBB Defender
User avatar

Joined: Mon Dec 20, 1999 3:01 am
Posts: 3512
Image
Click the picture to enlarge.

Well, my Pyro-GL is finally textured, after hours upon hours of work. Now, my problem is getting it into D3 itself. It seems that when I convert it, I lose all of the texturing and material data. This shouldn't occure but I'm wondering if I lose the data because this is an extremely complex model in comparison to my other work that I've done and because it has over 21 128X128 textures and Blender can't convert that much data all at once. My PC has also had issues so it might even be that. So, at this point, I need to: 1. Re-install my OS and all my software onto a new drive and re-convert the mesh. 2. If that fails, seperate the model into peices, convert them, and then put them all back together so that it lessens the data that blender is trying to convert.


My biggest issue, is that I don't have a direct way to convert out of Blender. Currently I have to convert it for use in Milkshape, then convert it again to Orf format. I seriously need a programmer to make a proper converter for Blender. So, this is my challenge for any programmers out there.


Resources for such a project can be found here with a list of exactly what I need: http://www.descentbb.net/viewtopic.php?t=12133

My biggest issue, is that I don't have a direct way to convert out of Blender. Currently I have to convert it for use in Milkshape, then convert it again to Orf format. I seriously need a programmer to make a proper converter for Blender. So, this is my challenge for any programmers out there.


Resources for such a project can be found here with a list of exactly what I need: http://www.descentbb.net/viewtopic.php?t=12133


Top
   
 Post subject:
PostPosted: Mon Jul 23, 2007 8:26 am 
Offline
DBB Benefactor
DBB Benefactor
User avatar

Joined: Sun Jun 03, 2001 2:01 am
Posts: 935
Location: Illinois
There is already an import and export tool for 3dsmax that fully preserves textures and UV mappings.

http://www.planetdescent.com/site/files ... opment.asp

3dsgen - Converts models to 3ds format.
pd3-oofgen - Converts them back to oof.

I seriously doubt that you will find someone willing to spend a 100 hours to write a converter for blender unless there was a serious need in the community.

If you really are serious about continuing to model in Blender, then might I suggest you consider writing an exporter yourself? It appears that blender using Python scripts for adding additional functionality(including import & export).

btw...Nice model :)


Top
   
 Post subject:
PostPosted: Mon Jul 23, 2007 12:13 pm 
Offline
DBB Defender
DBB Defender
User avatar

Joined: Mon Dec 20, 1999 3:01 am
Posts: 3512
Problem is... that I'm not a programmer at all. I know HTML and I used to roughly know SOME javascript. That's about it.

I'm primarily a CG artist/IT guy. The latter being what I get paid for. :) I wouldn't know the first thing about how to write an importer/exporter program.

The 3DS exporter won't work for this. Blender doesn't even have a decent 3DS exporter that maintains UV maps properly yet. If they could do that, my work would be already done by now. :)


BTW, thanks for the compliment.


Top
   
 Post subject:
PostPosted: Mon Jul 23, 2007 10:18 pm 
Offline
DBB Ace
DBB Ace
User avatar

Joined: Mon Jun 18, 2007 9:48 pm
Posts: 133
WLM: gandalfdagraay@hotmail.com
Location: In the mines
That's one very nice piece of work.

I can't promise anything, since I'm a little busy with work, etc. at the minute, but I'll at least look at the Blender export scripts and see how easily I could adapt one to .oof for you. The other reason I can't promise is that I don't know Python very well - I've spent most of my programming time on C++ - but that's a more minor obstacle.

_________________
C:\\>cd games\\descent
C:\\GAMES\\DESCENT>descent


Top
   
 Post subject:
PostPosted: Tue Jul 24, 2007 12:01 am 
Offline
DBB Benefactor
DBB Benefactor
User avatar

Joined: Sun Jun 03, 2001 2:01 am
Posts: 935
Location: Illinois
I realize that the 3ds plugin will not work with blender. My point was that 3dsmax already has a large amount of tools designed to work with it. If you are a CG guy, you should be able to get yourself a copy of 3dsmax to use at the very least.

I guess I wonder at why you would make your model to the extent you did in a program that you know doesn't export to a usable format for D3, and then ask for someone else to write a converter so you can finish your work.

Writing a exporter for Blender or any 3d program for that matter is not going to be a simple 1.2.3. task for even a skilled programmer unless they had already wrote scripts for Blender and had an intimate knowledge of D3's OOF/ORF format.

Instead of complaining that you don't have the neccessary skillset to accomplish writing a script to export a model you made in a program that is unsupported to this date for D3 development, get your hands dirty, and write the code.

I will gladly provide you with all of the specs I've gathered on the OOF format and even give you a good place to begin...
http://en.wikibooks.org/wiki/Blender_3D ... rt_scripts
Code:
***** OOF File Format *****

The beginning of every OOF file has a File Header which contains
the file ID and version number of the OOF. After that is a series
if chunks that each begin with a Chunk Header describing the type
of chunk.

// General Data Types
struct vector {
   float x;
   float y;
   float z;
}
struct RGB {
   byte red;
   byte green;
   byte blue;
}
struct FACE_VERT {
   int Index;      // Index of face vert
   float tu;      // Texture U mapping coordinate
   float tv;      // Texture V mapping coordinate
}
struct FACE {
       vector normal;      // Faces normal
       int numVerts;      // Number of verts on face
   int textured;      // Is this face textured? 0-No,
            // Anything else, yes
UNION {
   int textureID;      // Texture index(if textured<>0)
   RGB color;      // Color of face(if textured=0)
}
   FACE_VERT faceVerts[numVerts];   // Face vert data
   float x_diff;      // Used for lightmaps I believe
   float y_diff;      // ditto
}
struct SPCL_PT {
   int nameLen;      // Length of SPCL point Name
   char name[nameLen];   // SPCL point name
   int propLen;      // Length of SPCL point Property name
   char prop[propLen];   // Property Name
   vector pos;      // SPCL point position
   float radius;      // Radius of SPCL point
}
struct OOF_PT {
   int parent;      // Parent of Point
   vector pos;      // Position of Point
   vector dir;      // Direction of Point
}
struct WBAT_DATA {
   int numWBATGPNT;      // Number of Gunpoints
   int GPNTindex[numWBATGPNT];   // Gunpoint indexes
   int numWBATTuuret;      // Number of Turrets
   int turretIndex[numWBATTurret];   // Sub-Object index
}
struct TXTRdata {
   int nameLen;      // Length of Texture Name
   string name[nameLen];   // Texture name(Imagename)
}
struct PANI_FRAMES {
   int startTime;      // Start Time of frame
   vector pos;      // Position
}
struct RANI_FRAMES {
   int startTime;      // Start Time of frame
   vector axis;      // Axis of rotation
   int angle;      // Angle to rotate(0-65535=0-360 degrees)
}
struct RANI_ANIM {
   int numKey;      // Number of Key frames
   int min;      // Minimum Key Frame number
   int max;      // Maximum Key Frame number
   RANI_FRAMES RANIFrames[numKey];   // RANI Frames data
}
struct PANI_ANIM {
   int numKey;      // Number of Key frames
   int min;      // Minimum Key Frame number
   int max;      // Maximum Key Frame number
   PANI_FRAMES PANIFrames[numKey];   // PANI Frames data
}



// File Header
struct OOFHeader {
   char fileID(4);      // File ID
   int version;      // Version number
}

struct OOFChunk {
   char chunkID(4);   // Chunk ID
   int chunkLength;   // Length of Chunk
}

// OHDR = Object Data Chunk
struct ObjectData {
   int numSOBJ;      // Number of Sub-Objects in OOF
   float maxRadius;   // Max Radius of Model
   vector minBounding;   // Minimum bounding point for model
   vector maxBounding;   // Maximum bounding point for model
   int numDetailLevels;   // Number of detail levels in model
}

struct ObjectDetail {
   int detailLevel;   // Level of detail
   float depth;      // Depth in models
}

// SOBJ = Sub-Object Chunk
struct SOBJData {
   int Index;      // Sub-Objects index
   int parent;      // Sub-Objects parent index
   vector norm;      // norm for seperation plane(debugging)
   float d;      // norm d for seperation plane(debugging)
   vector pnt;      // pnt for seperation plane(debugging)
   vector offset;      // 3D offset from parent(pivot point)
   float radius;      // Radius of Sub-Object
   int treeOffset;      // Offset of tree data(not used)
   int dataOffset;      // Offset of the data(not used)
   vector geo_center;   // geometric center of this subobject.
            // In the same Frame Of Reference as
            // all other vertices in this submodel.
            // (Relative to pivot point)
   string Name;      // Name of Sub-Object(null terminated)
   string Property;   // Property Name of Sub-Object
            // (null terminated)
   int move_type;      // -1 if no movement, otherwise
            // rotational or positional movement
            // Not used
   int move_axis;      // Movement Axis(Axis to Rotate
            // or move around). Not used
   int numFSChunks;   // Number of freespace chunks
   int FSData[numFSChunks];   // Freespace data
   int numVerts;      // Number of vertices on Sub-Object
   vector vertex[numVerts];   // Vertex positions
   vector normal[numVerts];   // Vertex normals
   float alpha[numVerts];   // Vertex Alpha value. Only present
            // if version => 2300
   int numFaces;      // Number of faces on Sub-Object
   FACE faceData[numFaces];   // Face information
}

// SPCL - Special Point Chunk
struct SPCLData {
   int numSPCL;         // Number of Special Points
   SPCL_PT SPCLpoint[numSPCL];   // Special Point data
}

// ATCH - Attach Point Chunk
struct ATCHData {
   int numATCH;         // Number of Attach points
   OOF_PT pntData[numATCH];   // Attach Point data
}

// NATH - Attach Normal Point Chunk
struct NATHData {
   int numNATH;         // Number of Attach Normals
   OOF_PT pntData[numNATH];   // Attach Normal Point data
}

// GRND - Ground Point Chunk
struct GRNDData {
   int numGRND;         // Number of Ground points
   OOF_PT pntData[numGRND];   // Ground Point data
}

// GPNT - Gunpoint Chunk
struct GPNTData {
   int numGPNT;         // Number of Gunpoints
   OOF_PT pntData[numGPNT];   // Gunpoint data
}

// WBAT - Weapons Battery chunk
struct WBSData {
   int numWBAT;         // Number of Weapons Batteries
   WBAT_DATA wbatData[numWBAT];   // Weapon Battery data
}

// TXTR - Texture Chunk
struct textureData {
   int numTextures;         // Number of textures
   TXTRdata textureData[numTextures]; // Texture data
}

// RANI, ANIM - Rotational Animation Chunk
struct RANIData {
   RANI_ANIM FrameData[numSOBJ];   // RANI Frames data
}

// PANI - Positional Animation Chunk
struct PANIData {
   PANI_ANIM FrameData[numSOBJ];   // PANI Frames data
}

// PINF - Information chunk
struct PINFData {
   char info[chunkLength];      // Information chunk data
}


// IDTA - Interpreter Data
??

// GRID - Grid Data
??


Top
   
 Post subject:
PostPosted: Tue Jul 24, 2007 12:48 am 
Offline
DBB Defender
DBB Defender
User avatar

Joined: Mon Dec 20, 1999 3:01 am
Posts: 3512
SS, I have a way to convert it over. It's just that I would like to have a more efficient way of doing it. It seems that my current method sucks as it didn't like a model this complex. I expected it to work fine but for some reason, my current converter going from MS3D to orf doesn't like over 20 textures on a mesh. I may be able to remedy that. The converter going from Blender to ms3d that I'm using doesn't like to export over 2 objects at a time with multiple textures on each object. I fixed that issue though.


I've been a CG guy for a few years and I have never been able to afford 3DS Max and I refuse to \"acquire it\" by any questionable means. My car is $1500 and has issues. All my savings are donated to health issues and living expenses I will face within the next year. Do you really think that I would give that money up, that I would use for a new car or a better life to 3DS Max, when that is not an absolute necessity? This is a hobby for me right now. A serious hobby, but it has to remain a hobby right now. Trust me, this is not something I can simply stop doing. I would go downhill fast without it. Mind you, I do have experience in 3DS Max, Maya, and Blender. I want to get my hands on Lightwave first. At least Max? I would say, at least, Lightwave. It is a decent 3D modeling program used in such shows as Firefly and BSG. It runs about $800-$1000. Maya and Max are a close tie, but I like Maya better since it has a really nice animation and history system and it is cheaper than Max.

I'm primarily a computer tech, working my way up from the bottom, making $7 an hour and I have to pay bills like everyone else. As a hobby and a secondary: CG artist. I don't really need the stress of a programmer on top of that right now. :) Otherwise, I'll bite off more than I can chew.


Top
   
 Post subject:
PostPosted: Tue Jul 24, 2007 1:35 am 
Offline
DBB Master
DBB Master
User avatar

Joined: Fri May 28, 1999 2:01 am
Posts: 5426
ICQ: 28874658
Website: http://www.povterminal.net/
Location: Bellevue, WA
Maya and Lightwave are the ones I primarily hear of being used for pre-rendered graphics. 3DS seems to have a bigger market share in game content creation.


Top
   
 Post subject:
PostPosted: Tue Jul 24, 2007 10:42 am 
Offline
DBB Defender
DBB Defender
User avatar

Joined: Mon Dec 20, 1999 3:01 am
Posts: 3512
Yeah, I've noticed that as well. A lot of new games are looking at Lightwave/Maya though. CD and UT3 I'll bet, both use Maya. Probably even Gears Of War used it. Can't say that for sure though, mind you. UT2003-UT2004 both used Maya and I'll bet UT3 uses it. They seem to have a deal set up where they can provide Maya PLE for the modding side of the game.

Max is probably the top program for game modeling due to the fact that it has been the industry standard for so many years. Maya used to be more focused on pre-rendered content but it has been catching up for the past few years.


Mind you, I have used both Max and Maya and I like Maya. Mind you, Max feels a lot more natural and user friendly. Maya is a bit more complex but I love it's set of tools and it's animation system.


Right now, I'm focused on Blender for D3 work. When I'm done with D3U, I'll move on to Maya PLE to work with Sushi on a UT related project. Possibly even Lightwave if I can find the plugins for it that I need. But I'm focused on finishing one thing at a time.

By the way, I'm getting this figured out piece by piece. It's just taking longer than I had hoped. I'll get there though.


Top
   
 Post subject:
PostPosted: Tue Jul 24, 2007 2:52 pm 
Offline
DBB Ace
DBB Ace

Joined: Thu Jul 18, 2002 2:01 am
Posts: 491
Website: http://digijo.cjb.net
Location: Germany
have a look at this thread on descentforum.de:

http://www.descentforum.de/forum/viewtopic.php?t=3549

ouch made a simple .x to .orf converter a while ago for blender. from the converted .orf it should be easy to get your pyro ready into d3 with supersheeps oof-editor. i havent tested this converter yet, but it may convert the uv-mapping as well. there is also a linux version avaible.

here is the download-url:

http://www.descentforum.de/forum/download.php?id=962

good luck and nice pyro, messenger.

Dig out


Top
   
 Post subject:
PostPosted: Sun Feb 24, 2008 3:32 pm 
Offline
DBB Ace
DBB Ace

Joined: Sat Feb 23, 2008 4:16 pm
Posts: 124
I know how old this subject is...but I really love the ship! Is there any chance you would put it up for download?

does it pass positively when doing an SDL check? (if your 3D program has that feature)


Top
   
 Post subject: Re:
PostPosted: Mon Aug 04, 2008 2:42 am 
Offline
DBB Defender
DBB Defender
User avatar

Joined: Mon Dec 20, 1999 3:01 am
Posts: 3512
jshaner wrote:
I know how old this subject is...but I really love the ship! Is there any chance you would put it up for download?

does it pass positively when doing an SDL check? (if your 3D program has that feature)


I had this ship in-game a while back. I didn't have enough support for it and lost interest. Too many textures to take care of all the time. That ship had like 30 some-odd texture files on it when I was done. Modern games require far less.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 11 posts ] 

All times are UTC-06:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  



Descent'rs have piloted these pages
 
The layout and contents contained within this site are © DescentBB.net 1997-2006.
Descent, Descent II are © Parallax Software Corporation.
Descent III is Outrage Entertainment.
Descent is a Trademark of Interplay Productions.

Miner Wars™ is trademark of Keen Software House s. r. o.
.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group