SakeTami
FuroticVR
FuroticVR

patreon


Update!

Hey guys,

Sorry I didn't post an update last month! I thought I was close to being ready to release a new build and I wanted to wait until that was ready, but things went a little sideways with the penetration system.

And before I get into the explanation behind that I just wanted to let you know that while I don't have a new build ready just yet, I'm working as fast as I can and I do expect to have one out for you this month. Whether that will be in a week or two weeks, I'm not sure. But it's getting close.

Now, let's get into what I've been up to and where I'm at...

Bone-based penetration?

So last month, when I thought I was nearly there with the penetration system, I had already given up on using Poiyomi's DPS system because it shrinks everything down to a point the moment a penetrator enters an orifice, and it deforms vertices using shaders which would mean a micro player clinging to a penetrator would not move with it as it deforms, and if they were inside the orifice being penetrated, they'd see the head of the penetrator scaling down to a point instead of thrusting at them, which would be awful.

For similar reasons I had also given up on another much more sophisticated penetration system that could handle body deformations. It just wasn't going to work for micros gripping a dick or who have climbed inside a mouth or vag or ass.

Then came Megafiers. It moves the vertices of the mesh itself and updates colliders for them, so it could potentially be a solution, but I had previously dismissed it as too complex to deal with right now.

Well, as I was working on the penetration system around the first week of August and making good progress on a bone-based solution, while continually encountering little issues I hadn't considered along the way that I needed to think about and integrate into the design like: "What if the player grips a cock with two hands?" and "How do I actually slow the head of the dick down as it enters the orifice, which it needs to do for realism and because I have some huge dicks that need to fit into a small space and otherwise the head would have to stop on a dime?" it occurred to me that I should check the placement of the bones in something other than the horse cock I'd been working with. And when I checked the canine model, I was horrified to see that it only had three bones along its length, with the last bone being in the center rather than at the tip.

Now a sane person might have decided to take the dick into blender, and add some new bones and change the weight painting. But I thought, if I do that, I may have to do that for other models I import in the future. For example, the current shark dicks are integrated into those models and not yet hot swappable. And what about if/when I eventually implement importing custom models? How will their dicks be defined? I probably should have just decided at this point that I would have a fixed set of dicks to choose from, and that any custom ones would require a specific setup. But instead, I went down the rabbit hole of Megafiers.

And I learned a lot of interesting things about it, which will very likely be useful later. But more on that in a moment.

Megafiers again?!

The reason I turned to Megafiers is because with Megafiers I can deform a mesh along a specified path. And the bones won't matter... much. I can curve it as much as I like in any way I want, and if it was badly weight painted, or has too few bones, it wouldn't matter. And I can attach transforms to the mesh which move with it as it deforms which means I could allow a player to grip it and move with it as it deforms, just as if I were using bones.

Sadly, to make a very long story short... after studying the path deformer, and a dozen other modifiers the system has, I determined that while it might be possible to make Megafiers work, there were all sorts of potential problems.

For example, the sheath is usually part of the same mesh as the dick. It sometimes even uses the same material as the dick. This means I can't isolate the dick vertices by material, and I can't really rely on the bones either because if the weight painting is done poorly they could affect vertices on the sheath and that would throw off calculations about where the shaft is positioned and how long it is. Basically, there's no consistent reliable automatic way to handle this, and that was the whole point here. If I have to create special masks, I may as well just add new bones to the mesh instead.

But it wasn't all for naught (lol, knot). As I said, I learned a lot about Megafiers and its capabilities and some of that stuff will be useful elsewhere. For example, I learned how to set it up, how to access it through its APIs, and I read up on its Poke and Rubberizer modifiers, which will allow me to add soft body and better jiggle physics to the avatars. Poke allows me to make pokeable skin, though I will need to create a mask per avatar to define which parts can be deformed and which can't. For example, you want the tongue to be very soft, but the skin of the cheek to be less so, and the teeth shouldn't deform at all. And while I have dynamic bones for the ass and boobs right now, those don't really work that well, often deforming in extreme ways when they interact with the hand colliders. Rubberizer would allow those to jiggle, and Poke allow them to be poked, without weird stretching and feeling like there's no mass. Also I can make tummies or even thighs jiggle a bit as they walk without having to add additional bones. Is having to paint a rubber map in Substance better than having to paint weights for new bones in Blender? Well, it's less likely to break the model, and I will have a ton more control without having to have a ton of new bones that all need a Dynamic Bones script on them, so I'd say, probably? Maybe I eventually could even automate conversion from specific bones to Rubberized ones if people import models that have those for VRChat. But that's something for future me to worry about.

After I get the penetration system working, I might try to get the poke functionality working. I'll leave the Rubberizer stuff for later. I can generate a very basic Poke map for each avatar with "hard" and "soft" regions fairly quickly and then later I would worry about fine tuning that if it works well.

What I'm working on now...

At the moment I'm working on some code that steps along the penetrator and casts rays to determine how the width changes along the length of it. This will be used to animate the size of the orifice as it enters. This seems simple, but it's turning out to be more difficult than I thought due the order in which code is executed. The script to do this is on the penetrator, and won't be executed until the avatar the penetrator is on is instantiated (copied) into the scene from the prefabs. But immediately after an avatar is instantiated I have to set up its animators and that throws it into a pose. And that pose might default to say, having the dick sheathed. Or there might be code which does that. Either way, it might not be in the right pose to make these calculations. So, I've determined I should instead calculate the array of widths for the prefabs and then just copy that data over to the instantiated copies. Buuut... Those copies are hidden or rather inactive when the game starts, and I can't raycast against inactive objects. So I might want to figure out how to keep the screen black until the scene is fully set up and all the stuff is calculated for all the avatars, and I may need to figure out how to determine that all the avatars have done their calculations. Though the first is just a minor cosmetic/polish issue, and the latter is probably not something I really need to worry about as its unlikely the player would be able to select and spawn an avatar within the first or second frame before the raycasts complete.

Btw, I'm not telling ya this cause I'm looking for help with it, I'm just explaining it to give ya an idea of how complicated something that seems really simple can actually end up being. I've got pages and pages of notes I've taken on all this stuff considering weird corner cases and such. For example, something I was thinking about last night was what if I have hemipenes? Like a shark with two dicks? How do I deal with that case? I can consider them two separate penetrators, but will I ever want to be able to have two penetrators in one hole, and how would I handle that? That's not something that I am going to focus on right now, but I still need to think about how I might define which one of the dicks is used in an animation and which isn't, and if trigger volumes might overlap both and cause weird behaviors. Its not a hugely important thing right now since I don't even have a model with hemipenes yet, but it's something I'd like to implement in the future and just another of a million simultaneous things I need to consider as I work on this.  

Anyway, another thing I also had to consider was how I'm gonna handle the head of the penetrator hitting the bottom of the orifice. I mentioned earlier, I think, the idea of slowing it down, but after doing a lot of math, I'm not sure that will be easy, and I don't know if it will look correct. And I don't have enough bones on all the penetrators to even do it well. That was part of what my research into Megafiers was about. Figuring out how to squash and stretch in a way that would look good. I mean, the horse cock is like a foot and a half long, but your typical pussy is only a few inches deep, but furry physics dictates that it has to fit the whole thing in there, and for a player inside, stretching vaginal canal would not look any different from just slowing or stopping the head, and the latter avoids issues with clipping. I've come to the conclusion I just need to get something implemented, so I'm just gonna stop the head as soon as it hits the back, and worry about any slowdown math and adding squash and stretch later. Once I see it in action I'll be in a better position to see how it might need to be tweaked to look better.

The near future!

For now though, I just want to get a build working with something that is good enough, so I can focus on adding other new content. I want to add more sounds, I want to fix the sounds for the macros so you can hear them better, I want to add new skins and species, and implement toggles for dicks, so you can create herms or swap a canine for a human dick.

So, to summarize... I hope to have a new build out for you within the next week or two with a penetration system working. I'll release a new trailer on e621 at that time, and then I'll get working on adding some new content for you as quickly as possible. I'm sorry the penetration stuff has taken this long. I would have just used Poiyomi if I could, but due to the size changing mechanics in the game and the vore and unbirthing themed stuff I had to go this route and it turned out to be a lot more complicated than I'd first assumed.

Comments

Ah. Yeah, I haven't heard of BlueSky before now, so that may be why. Sorry.

Goldenschmidt

The next build should be ready in a few days! I posted a screenshot on Bluesky back in September when I first got the penetrators functioning, and since then I've been working on the code to handle animating the orifices. This of course also took a lot longer than expected to implement, but I am very nearly done. If you're not following me on Bluesky, here's a link: https://bsky.app/profile/furotic.bsky.social

Furotic

Any updates? Been about 3 months by now, and I'm curious how the project is getting along.

Goldenschmidt

You got this! We will wait patiently! Try not to rush things, as that can lead to loss of quality. Which, I'm sure, is not what you want. So, take your time!

Goldenschmidt

This project is just so utterly unique: the combination of trying to simulate reality while maintaining "furry physics" is pretty fascinating. :)

Dinosorceror


More Creators