Digital Opus
1.1K posts

Digital Opus
@DigitalOpus
Computer programmer. Indie game developer. Blender addict. Moved to Bluesky Social: @digitalopus.bsky.social
Katılım Haziran 2012
3.9K Takip Edilen3.5K Takipçiler

@Colonthreee @omnimanzero That is the plan. ID and IK are already very efficient and should be easy to make work with DOTS/ECS. The planning part is doing a lot of Raycasting in PhysX and depends on Components like the ConfigurableJoint and Colliders. It will be a fair bit of work getting that to work.
English

@DigitalOpus @omnimanzero If you do it in DOTS/ECS/Jobs using Burst it will almost magically make it so much faster it feels like cheating as long as you use the unity-maffs-library as much as possible.
English

Testing the physically simulated walking system with a much larger heavier powered ragdoll. #gamedev
GIF
English

@Colonthreee @omnimanzero It is implemented in Unity3d using PhysX configurable joints. The target kinematic pose is procedurally generated using a combination of planning, animations, and IK. SPD controllers compute the desired accelerations for each body. Then ID converts accelerations to torques.
English

@DigitalOpus @omnimanzero The performance of doing this as well as how it is implemented. I guess it has a lot of calculations involved.
English

@Colonthreee @omnimanzero What do you mean by "calculation station"?
English

@DigitalOpus @omnimanzero Oh wow, now that's impressive. ;w;
How is the calculation station for this?
English

@Colonthreee @omnimanzero So far I have managed to avoid magic forces for walking. (Use them for idle standing). This walking uses only torques applied to the joints (sum of all torques == 0). The main problem that I am running into is uneven gait. Each step is a little bit different.
English

@DigitalOpus @omnimanzero Oh, hmm, because in the gieves it seems that there is some kind of help done to make them from falling over. Maybe some kind of force counteracting them falling and/or C.O.M.-shifting, as walking like that doesn't seem to be able to support a character upright.🤔
English

@Colonthreee @omnimanzero It is footstep planning. Using inverted pendulum model to calculate where the next point of support should be to nudge the COM in the desired trajectory. Then the pose is managed with Inverse Kinematics and Inverse Dynamics.
English

@DigitalOpus @omnimanzero But how are they not falling over? How are they keeping the balance?
English

@Colonthreee @omnimanzero Yes, there is a footstep planner that uses inverted pendulum to plan the best step-end-target for the stepping foot.
English

@DigitalOpus @omnimanzero How are they standing upright btw? I think I asked about this in the past, assuming inverted pendulum. ;w;
English

@Colonthreee No just fairly steep. And not great decisions about how big a step to take.
English

I put my Stable Proportional Derivative controller (PD substitute) up on github github.com/Phong13/Useful…
This page explains more: digitalopus.ca/site/controlli…
GIF
English

@omnimanzero Thanks will do. I am very keen to get working on a game with this tech. Hopefully will be ready this fall. I am leaning towards having the player control the monsters and battle/eat the little humans.
English

@DigitalOpus ong this is amazing! I love ragdoll dudes and this giant dude looks really cool. Pls have option to spawn them as ragdoll dudes as well if u make this a game
English

@Mr_Rowl @PAF_Kontrol Also, the walk planner output is IK target positions. This makes it easy to apply the output different characters.
English

@DigitalOpus @PAF_Kontrol This demo shows that: youtu.be/Hs_eB6ZrGSQ (no idea how that person got that video!) - the zombie is about 3m high IIRC and uses the same params as the human. I do the same in my R/C flight sim (PicaSim) to allow scaling of aeroplanes and automatic adjustment of the params.

YouTube
English

@Mr_Rowl @PAF_Kontrol Thanks for the info. I have tried to make most of the parameters unitless. There is a single "legLength" parameter then all other length-distances are defined as a multiple of legLength. Time parameters are multiples of "stepPeriod" this makes most parameters reusable.
English

@DigitalOpus @PAF_Kontrol So if you doubled the height of the character, T is sqrt(2). Similarly, if you put the character onto a planet with 4x gravity, T is 0.5. From equation "distance = 0.5 g t^2"
English