I've been working on a 3d viewer for DS homebrew cards. Progress is a bit slow, but it is going nicely. This image shows one of Spaceys TF2 low-poly models. Textures still seem a little bit off, but overall it's looking quite nice.
There's two things I need to do before I release a first version:
- Online conversion to DS format (currently doing this offline)
- Simple file browser, so you can browse your entire card.
It currently only supports triangulated OBJ files, but I'm willing to implement any 3d format I can get specifications for. So far only static models are supported, but I do want to add animation after the initial release.
Downloads:
Version 10
- Use shoulder buttons to switch between file browser and logging
- Touch the screen to rotate the model
- OBJ support only
Version 11
- Hold LEFT and swipe the stylus up and down to zoom
Replies
Might have to borrow Tully's DS and mess around with this when you release it!
I agree that FBX would probably be a good format to consider though - it supports bones, animation, vertex weights and all geometry data you might need. Most apps should export it these days, I think.
def keep an eye on this
what about camera options and mulitple materials, environment artist here, would be nice ====) to get a fps style walking cam option aswell=)
i fancy doing some more ds stuff
I SO CAN'T WAIT FOR THIS. Would be cool to have models span on both screens btw
I've never had problems with OBJ out of Max... probably your settings.
[/ QUOTE ]
You've had problems with Max exporting normals in OBJ, just like everyone else. Don't make me quote you.
I agree that FBX would probably be a good format to consider though - it supports bones, animation, vertex weights and all geometry data you might need. Most apps should export it these days, I think.
[/ QUOTE ]
I've done a quick search on this format, and it seems to be some kind of Autodesk proprietary format, although one that's relatively widespread. I wasn't able to find any specs, although there was an SDK on their site. It sounds fairly similar in idea to Collada, although I imagine the execution is very different.
[ QUOTE ]
For shits and giggles you could work on the md3 format, may help you play back some old q3 models with animations (if they are ds spec that is)
[/ QUOTE ]
When I add animations this will probably be my first step. Nice and easy keyframed vertex blending.
[ QUOTE ]
hey how do u make custom game disks? is it a normal sd card?
[/ QUOTE ]
You can buy homebrew cards which look like real DS cards. They often take a microSD card onto which you can load whatever you want. So there's no need to hack your DS or anything like that.
[ QUOTE ]
what about camera options and mulitple materials, environment artist here, would be nice ====) to get a fps style walking cam option aswell=)
[/ QUOTE ]
Thanks for that Shepeiro. I loved your stuff when you pimped it! Multiple materials is already supported as I can load multi-part models. Currently no camera controls, but they are planned at a later stage.
[ QUOTE ]
Would be cool to have models span on both screens btw
[/ QUOTE ]
Do you really think that would be useful? I was thinking of maybe adding a portrait mode, with the file browser on the touchscreen on the right/left, and the model at full height on the other screen. Would work well for characters I imagine, but possibly less so for other kinds of models, so it'd definately be an option. Spanning both screens is certainly possible, but I definately feel it'd be less useful, with the gap and all.
The file browser is up to a usable state at the moment, so pretty much all that's left for the first release is making the conversion happen online rather than offline. Since this involves using floats it may be bit more work than I'm expecting if I need to convert from floating point to fixed point earlier on in the process. I'm hoping to release this version before I'm off to GDC on Tuesday next week.
I was thinking of maybe adding a portrait mode, with the file browser on the touchscreen on the right/left, and the model at full height on the other screen. Would work well for characters I imagine, but possibly less so for other kinds of models, so it'd definately be an option.
[/ QUOTE ]
I like that idea. Sounds very useful.
I encourage the use of .obj files, and for animations, I suggest looking into perhaps .X or dotXSI.
I'm in, where do I sign up?
[/ QUOTE ]
ditto!
when are we gonna get it i got some sweet tanks to get on this babe.
i want fat sucsess!
Can't wait to test it!
I have a DS transformers scene I would REALLY love to test!
If you need a test Im here to help *raises hand like a 5 year old with ADD*
sorry im eager
i would give my left nut to see this viewer released... been looking for a solid viewer for a while now
So you guys are gonna be able to release this for the public to use any time soon?
I have a DS transformers scene I would REALLY love to test!
If you need a test Im here to help *raises hand like a 5 year old with ADD*
[/ QUOTE ]
I'll definately be in need of testers for this, and you'll notice here when it's done. I was hoping to get it done by Tuesday, but RL seems to do it's best to interfere so I might not make that, in which case it'll be about 10 days later I think.
[ QUOTE ]
Did you misspell "Success" in your file browser?
[/ QUOTE ]
Yes I did!
[ QUOTE ]
well im pretty sure DS supports sorting, i was more keen on getting a way to set materials up with sort values, so that a few tricks can be acheived, ie fake floor reflections
[/ QUOTE ]
I'm pretty certain the hardware automatically sorts by depth, but will look into it. If it doesn't I'm sure I can do the sorting myself on a per object basis. I'm not quite sure what you mean with assigning sort values to the materials though.
[ QUOTE ]
from what i recall of the tech documentation, the ds hardware has native support for envmaps... either that or it was a trick someone did to make it appear so... i'll have to hunt around, but there was a homebrew demo a little while back showing off envmapping (on a teapot)
i would give my left nut to see this viewer released... been looking for a solid viewer for a while now
[/ QUOTE ]
I think it does support it in hardware somehow, but I know even less about this than about the sorting . And thank you for the offer, but I am currently not in need of a left nut
looks like it's not hardware, but this tech demo has a function written to fake envmapping. It looks pretty impressive on the hardware, too.
I'm pretty certain the hardware automatically sorts by depth, but will look into it. If it doesn't I'm sure I can do the sorting myself on a per object basis. I'm not quite sure what you mean with assigning sort values to the materials though.
[/ QUOTE ]
thats probably ok actually,
what i meant by asssigning values is you can give say two materials on the same object (or within another object with alpha) different values to force them to sort with each other, its also usefull for all sorts of tricks, but by the sounds of it i wouldnt bother for this.
im deffinatly up for testing this for envs
The first version of the viewer is done now. It still has numerous bugs, but at least it's doing something visible now . It currently only supports triangulated .obj meshes. Textures should work, but it looks like it still has issues with them. I'll continue working on those for the next release. There are currently no camera controls, it just displays the mesh with an orthogonal projection which should size the object to mostly fill the screen.
The .nds file may need to be DLDI patched depending on what brand your DS homebrew card is.
. . . that didn't sound dirty in my head. . .
It took a while to get the right setup in the OBJ exporter to make them show up. (many times it seemed to just hang when I told it to load the file)
I'm now at a point where I see a black box. Hurray!
So yes, I'm not seeing my texture show up.
Also, my ME-109 doesn't even show up in the list of available objs. They were both exported from the same max file, with all the same export settings, is there a reason one would be recognized, and the other not?
Awesome work so far man!
Also, my ME-109 doesn't even show up in the list of available objs. They were both exported from the same max file, with all the same export settings, is there a reason one would be recognized, and the other not?
[/ QUOTE ]
I thought I noticed one of my test OBJ files missing in the list. Will take a look at that ASAP. As for textures missing, it only supports full color BMP files as the moment, could that be it? I'll add some logging to the next version so you can see what's going on.
http://chishm.drunkencoders.com/DLDI/ <- patching site for homebrew cards
Cheers
Greg
I'm having some problems with files that should be fine here as well, so will look into that further.
No, my ME-109 has a lowercase .obj
I tried tga, and then bmp for the texture. they were both lowercase as well.
I'll keep playing around with it, and see what I can figure out.
Thanks again!
Edit:
Ok, I tried re-exporting my plane as "Box.obj" and then again as "Test.obj" and both showed up fine (still black, but definitely showed up in the list, and on screen).
So. . ."ME-109.obj" is a bad name maybe? Does it not like -'s?
No big deal, just good things to know.
Edit2:
Can't get the texture to work, here's what I've got going:
Test.obj Test.mtl Test.bmp
In Max, I name the material editor slot "Test.bmp" so that the .mtl file reflects that name:
# Max2Mtl Version 4.0 Mar 10th, 2001
#
newmtl Test.bmp
Ka 0.6 0.6 0.6
Kd 0.6 0.6 0.6
Ks 0.9 0.9 0.9
d 1.0
Ns 0.0
illum 2
#
# EOF
But I still get a black object. Any idea where I'm missing a step or something? What setup worked for you?
Viewer v3
Updated version for the casing of the filename. It should now be totally case agnostic. If your file still doesn't show up, then something is definately wrong. Please contact me or post here if that happens.
Tumerboy: I've tried a file with the same name as yours and it definately works in the new version (I haven't tried in the old one).
Good files: these are some of my test files which load correctly.
The viewer seems to crash if I try to load to many files in sequence. I have no idea yet if this is related to file size or not, so if it's crashing maybe try a simple box first.
The bitmap I'm using is a 24-bit bmp, 128x128 pixels big.
edit: I've just found and fixed a bug that prevented textures from loading correctly. Fixed in v3.
BTW: I tested it on a DS Lite using an M3 Simply
I work at a studio that makes DS titles and I know there is a certain 'save' problem with the M3 that the R4 does not have. I dont really know what it is exactly because Im n0t a 1337 h4xx0r, but I could ask next time Im there if you want! :P
I downloaded V3 and your good files, when I load the ball or cube the material is still black. Sorry for the bad news man
BTW: I tested it on a DS Lite using an M3 Simply
I work at a studio that makes DS titles and I know there is a certain 'save' problem with the M3 that the R4 does not have. I dont really know what it is exactly because Im n0t a 1337 h4xx0r, but I could ask next time Im there if you want! :P
[/ QUOTE ]
Hmm, that's really odd because I also use a M3 Simply! Will have to think on this.
I've tested your v3 viewer on my DS Lite, and an R4 with up-to-date firmware. I've tried your good files, and my own exported from XSI, so the old obj exporter from Max isn't the problem. I've tried patching the NDS file with DLDI just in case. Textures still appear as black.
Good luck fixing it. It's a great program.