Here’s how you can add secondary animation movement dynamically to your characters in your Godot game! Jiggle Physics can be used for a wide variety of appendages such as hair and clothing as well.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
To get more personalized help from me, join as a channel member:
[ Ссылка ]
Check out the written guide on my website for further information and future updates!
[ Ссылка ]
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Video Chapters:
Intro: 00:00
How do Jiggle Physics Work?: 00:29
Animating Jiggles Directly into Your Animations: 02:26
Softbody or Rigidbody Simulations: 06:03
Using Rigged Bones for Jiggle Physics: 07:04
If You Don’t Want Too Many Jigglebones in Your Scene: 11:07
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Addons used:
Jigglebone: [ Ссылка ]
Jigglebone (without editor feature): [ Ссылка ]
Wigglebone: [ Ссылка ]
Wiggle Bone (Blender): [ Ссылка ]
The Code Used:
###
jigglebone_init.gd
###
extends Skeleton3D
const JIGGLEBONE_SCENE = preload("res://addons/jigglebones/jigglebone.gd")
@export var jigglebone_config: Array[JiggleboneConfig]
func _ready():
for i in get_bone_count():
var bone_name = get_bone_name(i)
for cfg in jigglebone_config:
if bone_name.contains(cfg.name_pattern):
var jigglebone = JIGGLEBONE_SCENE.new()
jigglebone.name = "JiggleBone_" + bone_name
jigglebone.bone_name = bone_name
jigglebone.stiffness = cfg.stiffness
jigglebone.damping = cfg.damping
jigglebone.forward_axis = cfg.forward_axis
add_child(jigglebone)
###
jigglebone_config.gd
###
class_name JiggleboneConfig
extends Resource
enum Axis {
X_Plus, Y_Plus, Z_Plus, X_Minus, Y_Minus, Z_Minus
}
@export var name_pattern: String
@export var stiffness: float
@export var damping: float
@export var forward_axis: Axis = Axis.Z_Minus
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Video Sources:
[ Ссылка ]
[ Ссылка ]
[ Ссылка ]
[ Ссылка ]
[ Ссылка ]
[ Ссылка ]
[ Ссылка ]
[ Ссылка ]
[ Ссылка ]
[ Ссылка ]
[ Ссылка ]
#godot #blender #gamedev #gamedevelopment #3dgames
![](https://i.ytimg.com/vi/JWfYvVYhZfg/maxresdefault.jpg)