Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

CgfxViewer 3DS

From GameBrew
Revision as of 14:11, 29 October 2021 by HydeWing (talk | contribs)
CgfxViewer
File:CgfxViewer.jpg
General
Authorplanetarian
TypePC Utilities
Version2014
LicenseMixed
Last Updated2014/11/18
Links
Download
Website

So I made a thing. A couple things, I suppose.

While Gericom was working on EFE I was stumbling around in something... a bit less ambitious.

Stuff Included

CgfxViewer is a Viewer that Views CGFX models. I made it in the Unity 5 beta, so it's big, and might crash horribly. I haven't seen it happen yet, but y'know, risks.

At this point it's not much more than a toy.

To open a CGFX file, just extract CgfxViewer somewhere, then drag your CGFX file (likely a .bin or something) onto the CgfxViewer exe. You can even select multiple files and drag them all onto the exe at once to open them together (useful for character models that store head/body/face/etc in different files).

Associate your CGFX files' extension with the exe and you can open them by doubleclicking. Once you open it, just use your mouse to change the camera view.

Also included:

  • libCgfx is a C# library that other apps can use to do things with CGFXes.
  • ReadCgfx and ReadCgfxGui are... well, I've just been using them as debugging/analysis tools really but I guess you can use them if you want.

Source

I've included the source code for libCgfx, because that's a thing people do. I don't recommend actually using it, as it's a mess that I'm going to be rewriting soonish.

I haven't included the source for the Unity components, because there's only two or three files, and I'm sure anyone actually interested in working with Unity can probably figure out how to implement that much.

Status

The viewer is not that good yet. Neither is the library, really. It might get better soon. Maybe.

I've got my sights set on improving texture support first, then fixing some odd positioning bugs and maybe tackling animation eventually.

Currently though I only have like a couple games ripped to test it with, and I'm a lazy-ass and haven't ripped any of my other games. As such, if you try a file and it doesn't work, send it my way and I'll fix it. Probably.

Known Issues

Too many to count. It's a mostly featureless alpha. Here's the major ones:

  • Animations, cameras, basically anything that is beyond the model itself, its bones, and its textures, not implemented.
  • Complex bone manipulations not implemented. The occasional model has random bits dangling in odd places.
  • Any shaders beyond basic diffuse/cutout not implemented. You'll see weird texture tiling sometimes.
  • No actual lighting/shading. The games I've worked with so far have had lighting disabled (fullbright on) and shadows are baked into the textures.
  • Everything is mirrored along the Z axis. 3DS, surprisingly, uses right-handed coordinates like sane people (note: game engine developers have never exactly been known to be sane). Unity uses left-handed. I'll fix this once I have all the other physical stuff (animations, etc) done.

Coming Soonish Or Whenever

  • More shader support
  • Animations and more complete skeleton rigging
  • Model Exporting
  • A toggle to enable basic lighting/shading/shadows
  • Other stuff
  • A title that has half an ounce of creativity

Etc

While I did have to basically discover a bunch of info regarding the CGFX format for myself with the somewhat sparse) existing 3dbrew.org docs as a base, Gericom helped me out a bit too.

A few of the data structures used in the source code (specifically MTOB and skeleton data) were basically ported from EveryFileExplorer. Props to Gericom for being generally pretty awesome.

Advertising: