Made some refinements to collision this week. I had screwed up nearest-point-on-triangle and voronoi region detection on triangles. Remember: epsilon has it’s place, don’t just blindly use it everywhere just because you’re doing collision work. The voronoi detection was clamping between [e..1] instead of [0..1] giving all sorts of weird ghost hits and empty edges but now it’s all correct.
Also added a continuous capsule-v-capsule test so actors can collide with each other. Finding an example of a continuous cap-v-cap test online was pretty tough and Ericson’s Collision Detection doesn’t go over it. With knowledge of the fundamentals though I got something I’m pretty happy with:
It’s essentially just a segment-v-capsule test but you need to carefully select where you’re going to trace the segment. First you need to project the start and end of your trace as well as the centerline of the other capsule onto a 2D plane perpendicular with the capsule being traced (normalize its centerline as the plane’s axis). Then find the closest point (s) on the projected trace segment to the other capsule’s projected centerline.
With that, you trace another segment along the moving capsule’s centerline at point s and get the closest point (t) on this segment to the other capsule but this time in 3D without projecting onto the 2D plane first. Finally, this point t between the moving capsule’s endcaps is where you do your segment-v-capsule test.
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality
Anya is LIVE right now
FREE
Free to watch • No registration required • HD streaming
How fitting that my first sign of life in months is debugging skeletal animation.
Remember kids: Blender is under no obligation to list out animation nodes in the same order it lists armature bones/vertex_groups. Thankfully, I store the indices of the bones for use in-game, so a quick call to list.sort with a lambda returning the .index property has gotten everything to work as expected.
This now means the only new frontier for me in terms of game engine fundamentals is shadow-mapping, I now have at least a working knowledge of pretty much everything else.
Some new animation tests, these guys have multiple idle animations that they cycle between. They have a dedicated animation for when they’re stunned. And of course, they fall over when they die!
It’s another way of doing sky boxes. Most games bake their sky box down to a cubemap and just use that straight.
A portalsky is done as a whole other unreachable area on the map, done in a much smaller scale, that the regular camera is moved to first before drawing the map proper. The downside is that you are drawing more geometry, but the upside is that the background details look like an actual part of the map.
Here’s an example from NeoTokyo, you can see the unfinished building and the radio tower from multiple angles in the map, but if you go outside the map proper, they both disappear. Instead you can see them in this other miniature map off to the side (outlined in orange)
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality
Anya is LIVE right now
FREE
Free to watch • No registration required • HD streaming
Finally, enemies actually have death animations!
I really need to redo the explosion sprites to make them less pixel-art and more low-res like the muzzle flash. But it's three in the morning so I'll do it tomorrow.
Aw yeah, game detects the four nearest lights to each object. Lights are now correctly colored as I was exporting object color instead of light color.
I still need to do a quick trace through the world for each light to make sure it isn't obstructed, but the lights are sphere-limited anyway so there won't be many getting you through walls.
Witness the birthing cries of an object-lighting system. Basic phong diffuse for now, I'll add emissives soon and maybe some tasteful bloom later. First I still need to write in detection of the four nearest 'most affecting' lights for each object.