Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature]: Create a custom Mii renderer #2

Open
jonbarrow opened this issue Dec 29, 2024 · 7 comments
Open

[Feature]: Create a custom Mii renderer #2

jonbarrow opened this issue Dec 29, 2024 · 7 comments
Labels
approved The topic is approved by a developer feature A feature request

Comments

@jonbarrow
Copy link
Member

We currently rely on Mii Studio and its rendering API for Mii images. This has 2 major downsides:

  1. The renders do not look like Wii U/3DS Miis. They look like Switch Miis, and currently have bad lighting
  2. We are at the mercy of Nintendo. If Nintendo decides to pull the plug on this rendering API (which they already seem to longer use themselves), or decide to add protections to it, then we're out of luck.

We need to make our own renderer. Currently we have 6 options for this, none of which are perfect:

  1. Render using Cemu and a currently non-existent homebrew app, which would work well but has the drawback of needing to run a whole Cemu instance (can be taxing) and Cemu doesn't have a GREAT history of rendering Miis on its own
  2. Render using Cemu and the NWF method, which would work well and seems to produce excellent renders, but has the draw back of needing to run a whole Cemu instance (can be taxing) and its legally nebulous (really unclear there, since NWF is an SDK tool but it seems like you can dump and mod existing NWF games to do this too? It's REALLY not clear where that stands). I'm not sure we want to risk something like this
  3. Render using Miitomo, which would work well and would scale well (all it seems to need is to call one .so according to @shutterbug2000 and running it in an optimized container would take next to nothing most likely), but it needs a ton of research. Shutter has looked into it and deemed it likely not worth it, as it seems to be largely a straight port of the Wii U library anyway and there's a decomp of that already
  4. Render using real hardware. This is an idea that @SuperMarioDaBom and I have half-joked about for years, setting up a "Wii U render farm" running some homebrew app and a web server to render Miis on-device. However this scales worse than Cemu does, and is by far the most costly (we would need to purchase many many consoles, and use a ton of power keeping them running 24/7)
  5. Build our own renderer using dumped assets, which we CAN do somewhat reasonably but has the drawback of "building our own renderer". This can be done a couple ways. We have access to the Mii assets through console dumps, but they need to be converted into a format that's usable by us. They're also 3D models so we'd need to build a 3D renderer for this. Alternatively, modern versions of Mii Studio now opt to render Miis by building the render through many pre-rendered images of the Miis parts. We CAN just mass download all these pre-rendered parts (since our Mii library supports these images) and do the SAME building, but that has the drawback of being limited to facing one direction, we lose facial expressions for free iirc (we'd need to build that logic too), and storage of all the pre-rendered parts. Additionally it has the draw back of still looking like Switch Miis, a fixed resolution, and downloading ALL the images (especially the body ones) will take a LOT of time
  6. Build a native renderer using the FFL decomp. @aboood40091 has done an AMAZING job working on a decomp of FFL (https://github.com/aboood40091/ffl and https://github.com/aboood40091/FFL-Testing) and it has really promising results. However, to my knowledge, it is not prepared for the kind of rendering we aim to do (it seems very focussed on the NSMBU decomp, rather than building a stand-alone renderer). Which means we would need to still do an amount of work to get this running as we'd need it to
@jonbarrow jonbarrow converted this from a draft issue Dec 29, 2024
@jonbarrow jonbarrow added approved The topic is approved by a developer feature A feature request labels Dec 29, 2024
@jonbarrow jonbarrow changed the title Create a custom Mii renderer [Feature]: Create a custom Mii renderer Dec 29, 2024
@aboood40091
Copy link

Actually, @ariankordi already created a standalone renderer using my decomp.

@aboood40091
Copy link

Also, for the record, nothing in the FFL decomp and FFL-Testing repo is NSMBU-focused, except that the decomp only contains the functions used in NSMBU, which is already the majority of the v1.3.10 FFL API anyway, and is plenty to make a proper renderer (as I mentioned arian has already done).

FFL-Testing already is almost good enough on its own.

@jonbarrow
Copy link
Member Author

We have been aware of Arian's renderer for a while, but at the moment have decided against using it for a number of reasons. I have a more detailed reply about this in a comment on our forums https://forum.pretendo.network/t/3d-web-full-blown-mii-maker-and-mii-unsecure-site-updates/7445/7

@jonbarrow
Copy link
Member Author

Also this issue is actually several months old. It only looks new because it was a draft before and not assigned to any repository. I've just been going through and moving those issues here so the issues look newer than they actually are, some of this information may be very out of date

@ariankordi
Copy link

Just so you know I read the forum post like a month ago and have meant to respond for a while 🫠
butt weelll I was going to reply in the forums and at this point may as well do so herer since who cares in the forums, right...

@jonbarrow
Copy link
Member Author

Just so you know I read the forum post like a month ago and have meant to respond for a while 🫠 butt weelll I was going to reply in the forums and at this point may as well do so herer since who cares in the forums, right...

Sounds good 👍 forums, here, either works!

@ariankordi
Copy link

Did you ever see my response on the forums?
TL;DR the specific issues you brought up are a bit exaggerated but I'm doing work on an eventual rewrite anyway.
No significant news on that yet but the call to action was to work with me more rather than privately on your own (curious about your Miitomo/AFL renderer...)
What do you think?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved The topic is approved by a developer feature A feature request
Projects
Status: Todo
Development

No branches or pull requests

3 participants