LR2 Live2D Demo #2!
Added 2022-04-26 05:08:24 +0000 UTCI've been hard at work figuring out the full pipeline to go from 3D renders -> Live2D -> Ren'py, and have another short demo to highlight some of the progress that has been made. Check it out for yourself !
PC
Mac
Android (If you're on Android please let me know what the experience is like, I haven't been able to find much information about Ren'pys Live2D support for Android)
If you haven't read it already, I've written a post detailing what advantages I'm looking to gain by moving to a Live2D based system for displaying characters. The first demo was a quick proof of concept, checking that all of the really basic functionality (drawing characters, recolouring textures, displaying multiple characters at once) were possible. That test was a success, so I moved onto creating the workflow I would need to create an entire games worth of art assets.
This second demo exists to test that workflow and identify any issues that might pop up as I expand this into a full display system. A lot of the work the work that has gone into it is behind the scenes stuff, which I'll briefly lay out here:
- Rendering Automation - Fully automated rendering in the Live2D system won't be as critical as it was in the old image based one, but it is still important to save me a lot of time and ensure all of the clothing assets work properly together. The biggest change is that character poses are chopped up into regions that are rendered separately. This allows for poses where one part of the body would be obscured - an arm held in front of a girls face, for example - to still have all of the important information captured. This is critically important for animation stuff later, and for allowing for good looking perspective warps (where that hidden information is needed in some angles).
- Live2D Experimentation - A lot of my time went into experimenting with Live2D and figuring out how best to structure the models so they would work well when I moved them over to Ren'py. Some of that has been directly useful in this demo, like shared "part" opacity for clothing items and using "glue" in Live2D to connect bits of a model to warp together. It has shown me potential problems that otherwise might not have been noticed until much later in development, like the need for higher res character images if I intend to warp them significantly.
- Ren'py Code - This new system is only really possible because Ren'py (relatively) recently added Live2D support. Unfortunately the way the Live2D displayables are implemented isn't ideal for Lab Rats 2, so I will need to make a number of changes to it. Animations are one particular aspect that I realised are a problem while making this demo. Ren'py plays each animation in the order they are received, which wouldn't allow me to have two different animations playing at once. Ren'py does give me direct control over parameters (the value used to control a Live2D model), so I should be able to solve this by just implementing my own animation reading code. This demo revealed tons of small problems like this, and designing a solution is much easier now than it is when I have half a display system already written.
The demo goes through all of the display based stuff (including a mock up of the outfit system), so if you want to know more about that go try it out! That leaves the question of what's left to do, and what will the release of v0.52 look like. Well, there's a fair bit left on my TODO list.
- Face Options - I experimented with using Live2D morphs on a single base face and the results fell very deep into the uncanny valley. To avoid that each face type will be get it's own render that is used as-is. I have the rendering code ready for this, but I do need to add some support in my Live2D model structure for it,
- Skin Tone Options - I'm planning to use a single body image and recolour it in the same way that I do with clothing, but there are a few minor issues I need to take care of. The most obvious are eyes - right now eyes would inherit that skin colour and look very obviously wrong. I'll need to add a mask to avoid colouring in the eye scalea (and ideally provide a way to change iris colour while I'm at it). I'm not sure if this will be solved in rendering or in Ren'py, but it needs to be solved somewhere.
- Better Pattern Support - Because textures are repackaged by Live2D there's no trivial (as in fully automated) way to take a pattern rendered from Daz and stick it onto a model. Right now each pattern would require me to manually match the pattern to it's corresponding location on the base texture. I don't have a good plan for improving this, but it's also pretty low-cost if it can't be fixed - adding patterns will take a few minutes of work per pose, that's all.
- Create Live2D Models for Basic Poses - I need to set up all of the clothing items currently being used in LR2 and have them rendered out for the new system. The rendering won't take long, but setting up a working Live2D model takes a fair amount of manual work to avoid clipping. There's no real problem here, it's just going to take time. My goal is to support two or three basic poses (standing, standing turned away, and maybe a kneeling/blowjob pose?) and use those to develop the actual display code in LR2.
- Write the LR2 Display Code - All of this demo work has given me a clear path forward for replacing the old LR2 display code, but I still need to sit down and do it. This will involve some fairly large code rewrites, and those always have unintended consequences. Again, no real problem here other than the time it will take.
All of this points towards the fact that there won't be a full Live2D system ready for the end of the month. I do plan to have a basic version integrated with LR2 ready by that time. That version will likely contain a couple of basic poses, most clothing items (maybe even all of them, depending on how fast I am able to add them), no clothing patterns, and will make limited use of the new body shape mechanics. I'll use the feedback on that version to make improvements, with the goal of having an 100% finished display system (including improved animation support, and maybe including physics support) done for next month.
I hope this short demo tides you over until I have something more substantial to show off. Let me know what you think, if you run into any issues, or if you have any questions!
Comments
hmmm, thanks for the update. One problem i feel is that the curvy body type is not as natural (and sensual) as the old one. is there any possibility of further tweaking of how the curvy body type looks?
Jack Zeng
2022-04-30 11:38:16 +0000 UTCYeah, I agree that the minimum boob is too big
2022-04-27 22:08:03 +0000 UTCOverall it looks good. There's some jankiness at extremes - tall with small breasts lets you see a mismatch between the torso/stomach segment and the sorta-ribcaged-shaped piece of torso that the breasts are attached to - there's a bit of an empty < notch on the right side where they should join. I realize it might not be feasible b/c of jiggle effects, etc., but would it be possible to make the smallest size for breasts a bit smaller? Right now it looks like the minimum is C or possibly even D cup. Also in the possibly-not-feasible column - this one more firmly so - I'd request that if it's possible, add a user option or config file to define minimum, maximum, and average values for each of the body parameters for random people. I personally like a realistic-looking range of body types and am a bit put off by extremes, but I fully understand a fair share of other players would like to have more fantastical everywomen. If we could set our own preferences for random character ranges - either when starting a new game or in a config file - it would let everyone get the experience that most suited them. If this is feasible, I'd strongly recommend not just letting us set min and max - having the average from which the norms and extremes deviate should not be that much more difficult if the system is designed to accommodate it, and would be a customization option that seems like it would have an understated but quite outsized impact on the user experience. E.g., someone might want extremely large figures to be possible, but also want them to be unicorns so as not to lose their novelty w/ most falling in a more realistic range - but others might want the average for a body slider to fall right in the middle of a narrow range, with most everyone having similar figures.
Nona
2022-04-27 17:39:30 +0000 UTCI admit I was dubious when you first brought this up, thinking it would take too much time/attention away from generating content/story. I am now quite impressed however and can see the clear benefits this will bring :)
SomebodyElse
2022-04-27 14:01:41 +0000 UTCGotta say this is looking really impressive. I have no experience with the code and programming, but it sounds like you will be doing a bunch of your own work to implement some form of animation framework plugin that lets you do what you want. I would like to see more of what you have planned for animation, or at least a few bullet points about what you want it to do. I'm curious to see if you are hoping to add in an RNG modifier to spring/force/dampening values for jiggle, etc... to create variation in motions for breasts or if something like that would be possible for changing limb motions slightly so its not a single animation repeated over a loop (although I guess if you varied the speed it could give the illusion). I did see you hope to possible do physics in its entirety, hope you can. Also, there is no need to worry about clothes issues at the moment, the demo seemed to show more of a layering issue which seems like an 'easy' fix. The underwear peeking out from the sides seems like something you know how to fix and it just takes time to do. This looks really good though and I hope you keep at it. I am loving the updates and I'm excited to see some real application of Live2D that isnt some mobile Nutaku stuff that just loops 2 animations over and over.
MACMonster
2022-04-27 13:25:59 +0000 UTCOutfit system is one of best parts though
Ashani
2022-04-27 07:20:40 +0000 UTCSame for me as well.
2022-04-27 01:12:47 +0000 UTCOkay, loving the progress so far! Assuming the demo represents what you want to put into the base game by early May, I'm incredibly hyped already. That this isn't even the full potential of the new rendering system is incredible, and makes me understand why you were experimenting so much with Live2D. I wouldn't stress out too much over clothing, as I often just try to get characters naked full time as quickly as I can, and I suspect I'm not alone.
Killer300
2022-04-26 22:24:25 +0000 UTCYou're amazing!
Gary Edwards
2022-04-26 20:01:18 +0000 UTCYes, there are independent values for breast, waist, and butt sizes that can all be combined. I may also throw in a shoulder width value to give as wide a range of options as possible for body shapes.
Vren
2022-04-26 18:57:45 +0000 UTCStrange! I've double checked and it works for me, leading me to a Mega download for the .apk
Vren
2022-04-26 17:54:16 +0000 UTCI'm very impressed by what you've managed to accomplish so far! I'm eager for a version in which Live2d is fully implemented. Out of curiosity, how do you plan to limit the distribution of body types on random girls (are you, for example, going to make an "average" body type and have more extreme variations on that be comparatively rare?), and are you planning on implementing more poses than those available in the current build? I, personally, wouldn't mind seeing a wider variety of poses, and-or (at the risk of sounding like a broken record) accommodations for girl-on-girl or harem scenes. Regardless, I remain impressed and enthusiastic. Good luck!
Eschew Shame
2022-04-26 16:14:52 +0000 UTCWhen I go to the link for Android, it says empty. Nothing happens
Backdoorman007
2022-04-26 15:58:08 +0000 UTCThe proportions look a bit odd, however overall I like what you're doing
2022-04-26 10:49:18 +0000 UTCBeen enjoying your work for some time and very much admire the way you keep innovating with your game. I had an idea that might work in the new method you are using for characters. Would it be possible to mix and match the top and bottom of characters? For example a skinny upper body and a curvy lower body. Might make for some better animations too. One more thing to work on I guess but I'm imagining shooting tasteless rap videos in the lab someday.
Gary Edwards
2022-04-26 06:07:09 +0000 UTC