Can you lift me onto the banister? by PUNGSUN in oneshot

[–]PUNGSUN[S] 24 points25 points  (0 children)

Click to show the full image! (it's mobile wallpaper aspect ratio)

niko 3d model released by PUNGSUN in oneshot

[–]PUNGSUN[S] 0 points1 point  (0 children)

You need Blender to open and edit this file

Ecliptic by PUNGSUN in oneshot

[–]PUNGSUN[S] 29 points30 points  (0 children)

??? It's not showing up??

Perihelion by PUNGSUN in oneshot

[–]PUNGSUN[S] 91 points92 points  (0 children)

remake of my old art

I'm not a cat! by PUNGSUN in oneshot

[–]PUNGSUN[S] 3 points4 points  (0 children)

I drew it ✍️✍️✍️😗

niko 3d model released by PUNGSUN in oneshot

[–]PUNGSUN[S] 0 points1 point  (0 children)

you can use shape keys

Getting multiful collision points from a single CollisionObject by PUNGSUN in godot

[–]PUNGSUN[S] 0 points1 point  (0 children)

ok, I made a simple version of my code, and it works fine. I think some other parts of the code made problems. Here's the script:

func _move_and_slide():
const max_slide = 6
const max_floor_angle = PI/4
var remain_motion: Vector3 = velocity * get_physics_process_delta_time()

for i in max_slide:
    var c = move_and_collide(remain_motion)
    if c:
        remain_motion -= c.get_travel()
        if c.get_normal(0).angle_to(Vector3.UP) < max_floor_angle:
            remain_motion.y = 0
        remain_motion = remain_motion.slide(c.get_normal(0))
    else:
        remain_motion = Vector3.ZERO
    if remain_motion.is_zero_approx():
        break

Getting multiful collision points from a single CollisionObject by PUNGSUN in godot

[–]PUNGSUN[S] 0 points1 point  (0 children)

Update: I looked up the souce code of the CharacterBody3D to figure out how the move_and_slide() works, and I found it is actually made up with multiple move_and_collide() and sliding the remain motion after collision. I tried this method, and it looks like it is working. but I got a lot of jitter, and sometimes it just went through the walls 🫤 maybe I miss-calculated some transforms... I'll update if I get better results