There are a few suggestions I'd like to make to the Developers of GameCore in order to make their program better. you don't have to implement any of this, of course, but you might consider some of it to be useful.
Surface Flags:If you could add a flag on the surface of the defuse textures for wood, metal air, etc... Then we could have different footstep sounds and different debre_fx spawning when shooting something, depending on the flag. Say in the object viewer by the defuse texture surface, you could allow us to add a number between 1 and 16. That would only take one byte and each number could represent a surface texture, which could be defined in a text or script file.
surfaceFlags.txt
wood 1
metal 2
glass 3
air 4
grass 5
etc...
If surface flag = 1; play grass sound; spawn grass debreFx, etc...
Bone Translation (for animation):
If there was a check mark box by each bone where we could check off the translation, we could use slightly different size characters using the same animations. If the bone is checked off, use the model's translation in the animation instead of the animation's translation.
Scale models to size:
The truth is, models (mostly characters) come in all sizes. I may scale my characters to a motion capture skeleton for one game, and use a preset set of animations for another. There usually is a "scale" option on export to that game, but this is not always the case, like for different modeling programs. By scaling your model to the correct size in Object Viewer BEFORE you save it, you can eliminate problems of trial and error with game size objects. I have to export my models out to another program in order to scale them for GameCore. This has gotten really confusing when my assets are coming from several sources. Just scale G.C. assets in Object Viewer so everything is one scale for the engine.
Weight Sets:
Add a weight Set called Upper:
With Upper highlighted, select all the upper body bones, give them a weight set of 1, assigning them to Upper. Same for Lower. Select an eyelid joint and assign it to Blink, etc... The engine can then use the assigned weight sets in code to do the things that is going to get really confusing in script. Randomly rotate the Blink joint 45 degrees every minute. Automatic blinking!
Sockets: or Null Objects...
In Object Viewer, you could add a socket to a bone, say the HAND. Attach a weapon to it. Then translate and rotate it to where you wanted it (adjusting the Null Object in Object Viewer), so the weapon would be place precisely where you want it in the game. The same for an FX position. In the weapon, you could add a socket called FLASH to one of the joints, translate and rotate it to the end of the barrel, and have an fx spawn at the end of the barrel when you fire the weapon. This stuff can be done already, through trial and error in scripts, but you could use Object Viewer to make it all simpler.
Since you are writing your own BVO, or whatever format for both models and textures, you can add anything you want to the format, and Object Viewer is an excellent program to do it with. Well, I've thought about saying these things before, but with the ever ending approach of the Final version, I thought I'd better mention it now before it's too late. I would love to see some of this stuff implemented, but if not, it's no biggie. I can still do this stuff, it's just a lot harder without it already being in Object Viewer. They are just suggestions you might want to think about, or it might give you some ideas on improving it.
Great Product Guys,
I love it!