I'm genuinely curious if the raycast + floor collider setup can be improved upon for tail collision. I feel like you could totally do something with an animator and some parameters to average out the results of multiple raycasts to get a less janky result
Posts by Karari
The new VRCRaycast component seems really powerful, like it took me just a couple minutes to upgrade the tail collision of my avatar to actually react to the floor level / slope with it. It can be a little janky at times near ledges though.
Can't wait to see what people smarter than me do with it
I figured this would be the case, but it had been a couple years since I last dealt with clipping issues in Udon Tennis, so I thought something may have changed. Hopefully it won't be too hard to fix
Welp day 2 of testing the new racket physics for Udon Tennis, and it is working 99%. The only issue is the ball can clip through the racket when swinging the racket with a lot of wrist rotation. So I'm probably going to have to implement my own manual sweep test to detect the ball myself
Also because I have nothing better to do right now, here's a before and after of the edit. Still don't really know what I'm doing but I like how the result looks, so that's all that really matters to me
Not sure when I'll get this update out, since there's a lot of testing left to do, and a couple missing features still. That, and I'm too tired to continue testing today since testing this properly is basically a workout lmao
I've also made it so the racket is now kinematic, which fixes that weird lag the racket has when swung fast, though I do need to double check that there isn't any clipping issues being caused by this change since its sorta unclear right now. Oh an the bounce is actually correctly calculated now too
I've been working on a racket physics update for Udon Tennis, and I've just realised why the power of the rackets felt a bit weaker than expected. I've been measuring the racket's velocity from the wrong point this whole time. I moved the point of measurement to the head and its so much better
World: "Cozy Calm" by ~Sam
vrchat.com/home/world/w...
Avatar: "Rosune" by HaseV
www.patreon.com/posts/vrc-model-reward-106354905
Kinda wanna get the new Tomodachi Life since I enjoyed the demo a fair bit. Problem is I want to come up with my Miis in advance, and I'm stuck at just 10. Oh and 6 of them are taken up by just Falinks lmao
Anyways here's the world in case anyone seeing this is interested:
vrchat.com/home/world/w...
I'm hoping to either add a scoreboard, or an improved single player experience for the next update. (whenever that may be)
There is the chance I might have to change it back since I don't actually know what the rules are for using the Udon logo. I did check if there were some kind of brand guidelines for specifically the Udon logo, but nothing came up. Plus other worlds already use it, so I'm hoping its fine
Finally got automated line calling added to Udon Tennis. I think if I add some kind of scoreboard, it'd be fairly feature complete for casual matches. I also changed up the branding in the world and it the thumbnail
#vrchat
It'd be a good excuse to add my experimental replay system into the world, that's for sure
Aim assist is the biggest thing mine is missing, but tbh its super headache inducing to figure out. I feel like it'd be easier, and maybe better, to instead provide good enough practice tools and guidance, such that players don't feel like they need aim assist. That, and improving the controls too.
I'm somehow only just realising how many tennis worlds existed in vrchat before mine. I decided to check them out and they're definitely a lot easier to just pick up and play, though I think mine has a greater number of features / options, so I guess that justifies the existance of mine thankfully
I don't wanna not draw for a whole month, and then have to cram in a fully rendered artwork on the last day of said month again.
Anyways so I wanna look into getting aim assist into the game to make it more accessible...
I'm starting to realise I'm comically bad at taking breaks from projects when I get even just a little invested in them. Like I've said I'd take a break from working on Udon Tennis three times now, and all three times I came back like a day later and released large updates to it
oh also fun little bonus with this avatar is that I can toggle the clothing layers, which isn't something I usually support. Slightly worse for performance, but the avatar is still easily in the good rating (not too far off excellent when you remove the eye gaze controller I use)
World: "Jetski Islet" by Quap
vrchat.com/home/world/w...
Avatar: "Rosune" by HaseV
www.patreon.com/posts/vrc-mo...
Alright update is out! Up until this point, I feel its been a little hard to play Udon Tennis over the network. But I genuinely think with this update, its completely playable at last. Really wasn't expecting to get out two hugely important updates out in a single night, but here we are
I'm in actual disbelief how simple it was. Currently just doing some more testing to make sure everything is working as intended. If everything seems okay, I'm getting this update out as soon as possible
oh my god it even works well on differing refresh rates / fixed time steps
I can't believe it
holy shit I think I fixed the physics desync I was having in Udon Tennis, and it was such a simple fix too. Literally I just had to delay the sync by one fixed update, since I think it was syncing the wrong velocity / angular velocity values or something
Welp it's all fixed now, I can finally take a break til I'm ready to try and improve the ball networking / physics again
Oh and there were three counts of me just forgetting to set the network owner of an object before trying to set a value of a synced variable on it. These are beyond amateurish mistakes lmao
Should've seen this coming when I almost always worked on this project at like 4am
Like there were 6 instances of me checking if the local player was the network owner of something, when I had meant to check if they *weren't* the network owner (all because I forgot to add an "!" at the start of the relevant if statements).