
Create resources in Blender, import and configure them in Godot, and follow the Godot lessons in order, while Blender lessons may be in any order, with picture and sound resources.
Model a humanoid body in Blender by transforming a cube into a sphere, adding loop cuts and insets, extruding limbs, and mirroring the geometry for a torso, legs, and arms.
Shape the body by beveling edges, moving vertices with G, and extruding to form the head, eyes, and mouth, using inset, loop cut, and rip for refinement.
Apply loop cuts to the arm and leg, align vertices, and bevel edges to create three new slices, then sculpt feet, hips, and knees with bevels.
Switch to the material preview, add a new material, adjust the base color, and assign distinct colors to different model areas by selecting faces and pressing the assign button.
Adjust the model's edges and vertices for a better shape, press g twice to move them, align the mouth apex with the jaw, and apply the mirror modifier changes.
Adjust materials by tuning the roughness value to control shine from glassy to dull, and set the roughness to 1 to achieve a specific look.
Resize the model using a reference plane and edge measurements to reach 1.5 meters tall, then set the origin to the center of mass and align with the cursor.
Rig the character by building a symmetric bone chain in edit mode, extruding to the neck and head, then attaching the armature to the model with automatic weights.
Create and rig an armature in Blender, enable inverse kinematic for arm and leg bones, and test movements in pose mode after extruding and setting chain lengths.
Create and manage actions for a model using the armature, dope sheet, and action editor to set a t-pose, insert keyframes, and stash actions for reuse in Blender and application.
Create the idle action by posing the armature in pose mode, keyframing location, rotation, and scale from frame 1 to 25, then copy to frame 50 for a looping cycle.
Create the walk action by adjusting bone positions and recording location, rotation, and scale. Copy keyframes between frames 4 and 12 and 1 and 16, then stash the action.
Create jump action in the action editor, return to idle, name it, save bone positions (location, rotation, scale) at frames 1, 8, and 16 as model crouches and jumps, stash.
Edit the action in the action editor by keyframing bone positions across frames, saving location, rotation, and scale, and stash the completed action to create a swinging arm animation.
Edit the bone positions of an existing action, save the location, rotation, and scale, and deselect the action.
Export the model in glb format by selecting the TPose preset, exiting pose mode, deleting reference cube, and exporting via file > export > glTF 2.0 with a file name.
Create your Godot project by pressing new project, naming it, and choosing a valid location. Select OpenGL 3 for high quality, or OpenGL 2 for browser-friendly performance.
Configure keyboard actions in project settings using the input map, naming actions such as left, right, forward, back, jump, action, rotate_left, rotate_right, and pause, then assign keys.
Create the models and player folders in the project, drag the GLB file into the Player folder, and select New Inherited to complete the import.
Configure the model in Godot by moving AnimationPlayer into Armature, saving the branch as Player scene, creating scene and assets folders, opening it, and closing the previous scene.
Switch the armature to a kinematic body to interact with physics and move on the stage, then add a capsule collision shape and adjust its rotation and size.
Preview the actions and animations created in Blender by using the AnimationPlayer; select each action at the bottom and play it to see how the model moves.
Create a basic platform by adding and shaping a cube in edit mode, applying scale on x/y axes, adding a loop cut, selecting the top half, and extruding.
Switch to material preview, create two materials with base colors for grass and surface, select the top face in edit mode to apply them, and set roughness to 1.
Add detail by beveling the figure's top edges with Ctrl+B and the mouse wheel to control edge count; repeat on the bottom edges to shape the model.
Export the model to the GLB format by exiting edit mode and selecting glTF 2.0 in the export options.
Import the platform model into your project, create the Ground folder inside the Models folder, drag the model into it, then select the model and choose the New inherited option.
Create a trimesh static body from the cube to enable physics interactions and collision, then save the cube as Ground and rename the root node to the scene name.
Create a new 3D scene, rename the root to Stage, add a Player, group platforms under Ground, place a Ground instance, and save the scene in Stage folder inside Scene.
Create a camera system by adding a CameraPosition as a Position3D under the player, attach a Camera, and use a RemoteTransform to drive camera position while keeping its orientation fixed.
Select the camera, move it in front of the player model, tilt upward, and switch to the camera view with the preview option.
Assign a new script to the scene, set the template to empty, create it, override the _process function, detect rotate left/right inputs with is_action_just_pressed, and adjust the camera position rotation.
Learn how to run the project in Godot, assign the current scene using select current, and test camera rotation by pressing keys to observe changes.
Fix the camera rotation script to move the camera while holding down the rotate buttons, replacing is_action_just_pressed with is_action_pressed and verifying the changes.
Add a player script, fix the root node name, define a speed constant and velocity, overwrite _physics_process to compute direction from pressed keys, camera orientation, and call a facing function.
Call the move_and_slide function with velocity to enable the character to move in the chosen direction in a Godot 3D platformer.
Set fall speed by adding the constant fall_acceleration, define the function falling, update velocity.y, clamp velocity.y when it exceeds negative half of fall_acceleration, and call the function in _physics_process.
Configure physical layers to control collisions, rename layer 1 to player and layer 2 to ground, assign layers in collision objects, and set interactions to prevent unintended collisions.
Add the jump impulse constant and a jumping function to apply momentum to velocity.y when on the ground and the jump button is pressed, and call it from _physics_process.
Manage character animations in Godot by using AnimationPlayer to trigger jump, walk, and idle states. The script checks floor status and movement speed to switch animations in _physics_process.
Apply a directional light to cast a shadow from the models, rotate the light to face downward, adjust energy for a soft shadow, and enable shadow in the shadow settings.
Delete the predefined content, add a new cube, subdivide twice, round the shape, and use proportional editing to sculpt the enemy base and eyes with insets and loop cuts.
Add materials to the model using the material preview, create a base color, add a second material for the eyes, and reduce roughness to brighten the surface.
Adjust the model size in object mode, move it up to measure changes, apply all transforms to save position, and set the origin to the center of mass.
Create shape keys to animate a mesh without an armature, using original and modified positions; set key 1 to 1, edit with proportional editing, and test 0 to 1.
Extend the bottom panel, switch to the dope sheet and shape key editor, and create a new action. Set keyframes at 1 and 7, copy to 14, add 13, stash.
Export our 3d model by selecting glTF 2.0 in the file export menu and saving it as a glb.
Import the enemy model, create a mob folder inside models, drag the model into it, then open the model and select new inherited.
Rename the root node to [Mob], save the project, switch the node to [KinematicBody], then add and configure a [CollisionShape] with a new shape and adjustments.
Correct the CollisionShape and assign it a CylinderShape to ensure accurate physics for the platformer.
Create a new node to group enemies, add [Mob], position it on ground, set auto-run looping animation, save changes, and run the project to verify.
Set up and configure collision layers and groups to enable enemy interaction, assign mob and player groups, and add a damage timer to paralyze the player on enemy contact.
Implement damage logic by attaching a script to the mob, applying strength to health, triggering damaging and damaged states, bouncing with bounce impulse, and removing the mob on death.
Fix the damage logic in a 3d platformer to trigger only once, apply one shot damage, and adjust wait time to regain player control quickly.
Add a timer to the mob named jump, enable one shot, and use an area with a collision shape to detect body_entered and body_exited signals at the enemy's perimeter.
Configure signals to detect player, assign and clear a player_ref on enter and exit, then move the mob toward player using velocity, jump impulse, move_and_slide, and rotate toward the player.
Increase the detection range by adjusting the collision area, duplicate ground to a new platform, move the mob there, and run the project to verify changes.
Defeat the player by checking health points in _physics_process and calling the dead function when health reaches zero, which queues the player for removal with queue_free after verifying the changes.
Hello and welcome.
If you are a developer or designer who is interested in creating 3D video games and use your own resources, this course is for you.
In this course, we will focus on using Blender to create models that can be used in Godot to design a 3D platformer video game.
We also cover the creation of a basic user interface to improve the user experience in the game by using multiple elements that you can find in Godot.
We will create each of the models step by step, we will create animations that are going to be used and we will export each one of the files and import them into Godot.
In this course you will learn:
Create 3D models in Blender.
Rigging.
Create Actions and Animations Using Blender's Action Editor and Key Frame Editor.
Store multiple animations as Non Linear Actions.
Export the 3D model so that it can be used in different applications.
Create a 3D Video Game in Godot
Import 3D assets and customize them.
Creating a user interface to help the player
Read and save files in Godot.
Programing with GDScript
By acquiring the course, you will get access to the resources created through the lessons.
12 3D models (4 with animations)
Godot project
Link to external resources
I hope that the content of this course to be useful to you and that you can use it to your personal projects.
Have fun and happy learning.