• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Emulator Discussion and Support › General Discussion v
« Previous 1 ... 81 82 83 84 85 ... 333 Next »

Lets have a real discussion about a Dolphin Model Dumping feature
View New Posts | View Today's Posts

Thread Rating:
  • 2 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
Lets have a real discussion about a Dolphin Model Dumping feature
02-24-2015, 09:51 AM (This post was last modified: 02-24-2015, 09:53 AM by Dan_Tsukasa.)
#1
Dan_Tsukasa Offline
Member
***
Posts: 141
Threads: 6
Joined: Nov 2014
Hey Guys.

So there have been various threads and various requests about model dumping, HD model importing and so on.
They come up rarely, but its always the same questions, and most of the time its just people requesting something without considering how any of it could actually work, the point of this thread is to try and address that. And if I'm honest, a large number of users don't actually know any 3D software, throwing out suggestions like 'I'll just subdivide and reimport' or other nonsense.

The thread isn't me saying 'Add the support now!', I just figure instead of one of the awesome Dolphin devs scratching his/her head over the best way of doing it to please the users, we actually try to do a lot of the non-code work ourselves, suggesting a suitable pipeline, file formats and so on. This way, if it ever comes under consideration, some of the work will have been done, however small that may be.

File Formats

OBJ & mtl + the png files that get dumped in the rip.

- Pros
  • Supported by every 3D software known to man (plus photoshop)
  • A well documented format
  • One of the easiest formats to export to
  • Mtl files are easy to edit in almost any text or hex editing software
- Cons
  • Only supports a single UV channel (So any game with lightmaps, its only going to export the lightmap channel or the standard channel)
  • Doesn't support bones or animations
Notes: OBJ is a great format, and the .mtl file is super easy to edit if you rename your textures or change your texture formats
           If Dolphin were to support OBJ dumping for all scene items then there would need to be an option to dump channel 0 or 1 (honestly it'd be easier to just autodump only the base channel, ignoring lightmaps)

FBX + the png files that get dumped in the rip.

- Pros
  •  Almost as well supported as obj files, most software supports this natively
  • Supports animations and bones
  • Supports multiple UV channels
- Cons
  • Not too well documented
  • Gets updated yearly so its possible an update in your software might cause the file to be read incorrectly
  • Not easy to edit the file outside of 3D Software
Notes: FBX is the format most users would want I imagine, making it possible for them to animate and pose characters in their choice software.

COLLADA/DAE

- Pros
  •  Not as widely supported, but supported by the big 3 softwares
  • Supports animations and bones
  • Supports multiple UV channels
- Cons
  • Not well documented
  • Gets updated yearly so its possible an update in your software might cause the file to be read incorrectly
  • Not easy to edit the file outside of 3D Software

Those are the only 3 formats that're really used widely enough to warrant a discussion, if anyone else has suggestions please say and I'll append the list.

Vertex Welding:

Other things worth discussing would be vertex welding, would it be best to export as is, or export with unwelded, or welded vertices, its no trouble to weld yourself, but some beginner users of 3D Software might be a bit confused at first.

Object Grouping:

Grouping objects could be done in any of the following ways, or not at all. I don't imagine most users have a preference.

  • Group by texture/material
  • Group by object (provided Dolphins export is able to determine whats what)
  • Group by type, ie: Dynamic, animated, once again depends on Dolphins export method
Naming Convention:

I would suggest keeping the same conventions as the old texture dumping method, using the gameID plus a number ie: GQSEAF_01.obj GQSEAF_01.mtl

Dump types:

Having the choice to dump visible or all would be a nice feature, as automatically dumping all would most likely end up dumping collision meshes too.
Also being able to dump back faces would be great, but I'm unsure if this would be possible, as I know all engines cull these, which is then emulated by Dolphin, so I don't know how easy it'd be to override this specifically for dumping.

These are all the ideas I have for now, I'll update the post with any further ideas, by myself of by any discussion in this thread.

As I said this is merely to help the developers, and with any luck get a few users to actually consider the features and how they'd work, so lastly I'm going to quickly address model importing, as its usually requested alongside dumping.

Reimporting 3D Models and why its not as easy as you think:

We're still bound by the game engines themselves, so if the engine couldn't load more than 40k triangles in a particular scene, it'd break (I doubt many games have those values hardcoded of course, but things may start to lag). Dolphin might have a lot more power than the console, and give the engines a lot more breathing room, but they'll still have their own limitations such as number of bones, individual textures or objects on screen at a single time, most games will probably just lag a bit but some older and badly coded games may have a lot of values hardcoded and may not work with most edits.

Editing your model will almost indefinitely break it ingame unless you weightpaint the whole thing again, which means things like subdividing, smoothing, pulling verts in and out or adding extra polygons to a character (ie: creating an eyepatch model for mario, or a wizard hard for kirby). If you're able to do all that then dolphin would still have to support replacing of weights ingame.

Changing an objects shape may cause it to be out of the bounds set by its collision mesh. For example, adding a railing to a cliff edge won't do anything to block the player unless the collision mesh is adapted for this. If importing were ever to be possible, then it may also be possible to replace collision meshes too at some point I suppose.

I think that some talented people could create very good replacement models for Wii and GC games, but I think a lot of people need to know how much work will be involved, with a non-static object it wouldn't be as simple as just swapping out the model, you'd still be bound by the same number of bones and the same height/with (for the most part) of the original game.
Find
Reply
03-02-2015, 05:05 AM
#2
Dan_Tsukasa Offline
Member
***
Posts: 141
Threads: 6
Joined: Nov 2014
So, nobody wants to discuss this?

Not developers, I imagine they wouldn't, but I'm surprised no users who want this feature are interested in discussing the benefits and pitfalls of various methods.
Find
Reply
03-02-2015, 06:25 AM
#3
Fiora Offline
x86 JIT Princess
**********
Developers (Some Administrators and Super Moderators)
Posts: 239
Threads: 0
Joined: Aug 2014
I'm not sure anyone knows how one would dump "models"; Dolphin is a low-level emulator, so its graphics thread only receives streams of vertices, not whole models. The question of which format to use doesn't really help until someone can figure out how to get the models in the first place.
Website Find
Reply
03-02-2015, 08:08 AM
#4
Dan_Tsukasa Offline
Member
***
Posts: 141
Threads: 6
Joined: Nov 2014
(03-02-2015, 06:25 AM)Fiora Wrote: I'm not sure anyone knows how one would dump "models"; Dolphin is a low-level emulator, so its graphics thread only receives streams of vertices, not whole models. The question of which format to use doesn't really help until someone can figure out how to get the models in the first place.

Correct me if I'm wrong but, if Dolphin doesn't do whole models, how are software like DX ripper and so on able to rip whole models? Including sides that aren't visible at that moment in time?

Something like having Dolphin dump whats currently in the DX or OGL RAM is more likely I imagine, then it'd just do the same thing as DX rippers I guess, still running into the issues of multiple lightmaps.

Sorry if that sounds a bit sarcasmy, it really isn't, its a real question, I can't say I know the difference.

But the topic wasn't really for developers honestly, its for all the users who ask for dumping features, for those people to discuss how they even want the data, as I imagine most people request it without really giving it any thought. How do those people want their data, and what data do they want, what method etc.
Find
Reply
03-02-2015, 08:44 AM (This post was last modified: 03-02-2015, 08:46 AM by shuffle2.)
#5
shuffle2 Offline
godisgovernment
*
Project Owner  Developers (Administrators)
Posts: 699
Threads: 17
Joined: Mar 2009
DX ripper and such use heuristics to guess which geometry is part of a single model. Just use this software if that's what you want to do.
edit: actually, from just looking at their website, it looks like much of the guessing is done by the user, anyways.
Find
Reply
03-02-2015, 11:36 AM
#6
AnyOldName3 Offline
First Random post over 9000
*******
Posts: 3,361
Threads: 2
Joined: Feb 2012
Either neobrain, or one of the other devs that does important GPU things has said that this is a thing we'll have eventually, but we've never got more than a promise that it's going to be a thing at some point when it seems more interesting and doable than whatever performance and accuracy improvements are also possible.
OS: Windows 10 64 bit Professional
CPU: Intel i5 4670K @3.4GHz... for now @4.6GHz with a quick and dirty (yet stable) OC. May get faster in a bit before the end of time.
RAM: 16GB (Down from 24 GB after some was given to siblings)
GPU: Radeon Vega 56
Find
Reply
03-02-2015, 07:31 PM
#7
Dan_Tsukasa Offline
Member
***
Posts: 141
Threads: 6
Joined: Nov 2014
(03-02-2015, 08:44 AM)shuffle2 Wrote: DX ripper and such use heuristics to guess which geometry is part of a single model. Just use this software if that's what you want to do.
edit: actually, from just looking at their website, it looks like much of the guessing is done by the user, anyways.

i assume this is what most users use now (except Ninja Ripper instead of DXRipper), the main issue is lack of option with UV channel, so if you rip an entire environment, the only uvs you have are for the lightmap not the diffiuse UVS, so you might have the textures avaliable but the UVS aren't made for those, they're made for the lightmaps.
Find
Reply
« Next Oldest | Next Newest »


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode