Here is my little contribution to the Unreal editing community. It's a program that allows
you to change certain settings in the *_d.3d file after you have generated it with 3ds2unr
(or a similar program). I started writing it mostly for making certain poly's of my models
unlit or modulated, on a per-face-basis (yes, you can do that!).
///////////////////////////////////////////////////////////////////
// UnrealFX v. 0.2 (Yes, it's still in an early stage) by ¡muh! //
// //
// 13.08.1999 (v. 0.00000000001) //
// Updated on 20.08.1999 (v. 0.01) //
// Updated on 26.08.1999 (v. 0.2) //
///////////////////////////////////////////////////////////////////
Here is my little contribution to the Unreal editing community. It's a program that allows
you to change certain settings in the *_d.3d file after you have generated it with 3ds2unr
(or a similar program). I started writing it mostly for making certain poly's of my models
unlit or modulated, on a per-face-basis (yes, you can do that!).
////////////
// Usage: //
////////////
1.) Create your model, texture it and export it so that you get the <modelname>_a.3d and
<modelname>_d.3d files.
2.) Start UnrealFX.
3.) With File->Open, open the <modelname>_d.3d or _a.3d file you just generated.
Now the list in the dialog should fill up with lots of stuff and the OpenGl window should
display your model. Here's the explanation:
Number . . . . . . . . Number of the face. Can't be changed (why should you want to?)
Vert A, Vert B, . . . The three vertices of the face. Can't be changed (no need to)
Mat. . . . . . . . . . The material channel this face gets mapped with. CAN be changed.
Note that channel 0 is for skin mapping reserved.
Style . . . . . . . . The type of the face. CAN be changed.
FX . . . . . . . . . . Special F/X of the face. CAN be changed.
4.) Select the face(s) you want to change. You can select them either directly from the list,
or you can select them in the OpenGl window. You can click to select individual faces, or
click-and-drag to select more faces at once. If you hold down [CTRL], you can ADD to your
existing selection, if you hold down [SHIFT], you can substract from your existing se-
lection.
5.) Hit Edit.
A dialog should come up with some radiobuttons and checkboxes. Here's what they will
do:
Type: ONE (and just one) of the options, it will set the basic style of the face.
F/X: Additional attributes, quite self-explanatory.
Mat: 0 to 9, the material channel. 0 is for SKINs.
6.) Choose the settings for the selected face(s).
7.) Hit OK.
8.) Click File->Save (or Save As, if you want to save as another file). Note that if you save
as another filename, the corresponding _a.3d file won't get generated (just copy the ori-
ginal one).
Finished! Now run "ucc make" as always. If you (and, more important, I) did every-
thing right, you should be able to create fantastic effects on your models.
Very groovy: Modulated, Unlit, Environment Mapped faces . . . uuuh, yeah.
/////////////////////////////////
// The 'View of Model' window: //
/////////////////////////////////
This window is new in this version. It shows you the model you have loaded, and makes select-
ing faces so much easier. (Ever tried finding two specific polygons in a mass of 300 by
clicking through the list?)
I don't know how the performance without an OpenGl ICD is, but I hope it is good enough to
work with the program.
You can also set some options in the menu.
DISPLAY: Allows you to set rendering options.
Wireframe: Toggle display of wireframe on/off.
Solid: Toggle solid mesh on/off.
Bounding Box: Toggle bounding box on/off. The big, yellow box are the 256/256/256 limits of
all Unreal models. The bed axis is the Z, the blue axis is the X, and the green
axis is the Y axis.
Antialiased Lines: Turn antialiasing on/off. This doesn't only enhance the visual quality of
the display, but on my development machine (with a G400), antialiased
lines are about 3 times faster than normal, aliased lines. Now that's
funny, isn't it? If you are using Software OpenGL, though, you should
turn this off.
ANIMATION: Plays animations in the model.
OK, this one doesn't help overly much, I guess, but it was quite easy to implement.
Play: Guess.
Pause: Stops playing, but keeps showing current frame.
Stop: Stops playing, and returns to frame 0.
1 Frame Forward: Now that's a difficult one... If you are at the end of the file, it will
step to the first frame.
1 Frame Back: Same as above. If you are at the beginning, will jump to the end again.
Playback Speed: Set playback speed (in frames per second).
///////////
// Bugs: //
///////////
OK, I have found some bugs by now, so I fixed them:
FIXED:
- Opening two files after each other and then saving corrupted the last file opened.
- Little display bug in the list control (displayed a "1" in the FX column).
I also found some which I haven't fixed, but I hope they aren't to serious:
UNFIXED:
- The OpenGl window doesn't behave like I want it.
- Ever wanted to see how many pagefaults the NT taskmanager can display? Just fire it up,
and start resizing the window. Current record: about 3 million! (I hope I find the cause
for this, but I guess it's burried in the Matrox ICD)
This does NOT work for Windows 98.
- Sometimes irreproducibly locks up my NT. If I say locks up, I MEAN locks up. No blue
screen, no mouse, no [CTRL]+[ALT]+[DEL], no nothing. I think this has to do with Developer
Studio. (It never locked up on my Win98 home PC!?)
- The selection mode in the OpenGl window doesn't work like I want it - but only on my G200.
On the G400, everything is OK!?!
- Many memory leaks. Dumps out really severe stuff in DevStudio, but it shouldn't do anything
weird to you.
My advice: Save often, save early.
If you do find any other bugs, please mail me at d.rind@xpoint.at.
//////////////////////
// Future Versions: //
//////////////////////
Things done:
- Added support to change map channel.
- Added OpenGL support.
- Some bugfixes (internal stuff, didn't matter for user).
Well, the next things I have in mind are:
- Adding sorting functions.
- Adding support to change mapping coords.
- Adding OpenGL support with mapping.
Next release date: When I've got enough time.
//////////////////
// Legal Stuff: //
//////////////////
The source is enclosed. It's VC++ 6.0, complete with everything you want, just load
and compile.
Hmm, don't know what to write, except that you can do with this proggy and the source
whatever you want. Copy it, delete it, sell it, give it to your friends, ...
whatever. If you are a nice one, you also give me credit for it.
NOTE: I didn't include the source this time, it's just to weird... next time, I'll include
it again (after doing a bit of cleaning-up).
//////////////
// Contact: //
//////////////
Feel free to contact me for whatever reasons (love, hate, joy,...) you have at
d.rind@xpoint.at
Please also e-mail me if you have any questions, or if you find the program useful.
Updates (maybe) at:
Members.tripod.com