23/05/2024 - Thursday
Day Three
Today's Progress:
-> Make the level out of CSGShapes to give a basic environment to work with.
You can choose color for the material using this tools
-> Add the player to the blockout level and finish setting up the camera and environment.
-> Convert the player into a RigidBody3D and control it with forces.
A RigidBody3D is a 3D physics body that is moved by a physics simulation.
extends Node3D
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
if Input.is_action_pressed("ui_accept"):
#Move the character posistion
position.y += delta
if Input.is_action_pressed("ui_left"):
rotate_z(delta)
if Input.is_action_pressed("ui_right"):
rotate_z(-delta)
this is the previous code
extends RigidBody3D
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
if Input.is_action_pressed("ui_accept"):
apply_central_force(basis.y * delta * 1000.0)
if Input.is_action_pressed("ui_right"):
apply_torque(Vector3(0.0,0.0,100.0 * delta))
if Input.is_action_pressed("ui_left"):
apply_torque(Vector3(0.0,0.0,-100.0 * delta))
this is the new code
this code make the character move according to the user input. But instead of transforming the position manually like the previous code, we use apply central force to move the character against the gravity and apply torque to rotate the character
-> Remap some of input to more intuitive controls.
In the project setting there are inputmap tab, this menu allows us to set all the input we need for the game
-> Detect RigidBody collisions with signals and identify bodies with Groups.
Signal let the game objects communicate with each other.
Resource:
Complete Godot 3D: Code Your Own 3D Games In Godot 4! - GameDevTv Courses.
Next Steps:
-> Learn about tween and implement it in the tutorial's game
-> Adding audio
-> Controlling Audio with script
-> Learn about particle and implement it
Top comments (1)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.