lunes, 28 de octubre de 2024

GDScript ejemplo para personaje activa su animacion y lo traslada hacia adelante;

 extends Node3D



# Called when the node enters the scene tree for the first time.

func _ready() -> void:

$AnimationPlayer.play("MakeHuman default skeleton|LACAVEZAENLAMANOS")

pass # Replace with function body.



# Called every frame. 'delta' is the elapsed time since the previous frame.

func _process(delta: float) -> void:

translate(Vector3(0,0,0.01))# PARA UNA CONSTANCIA DE MOVIMIENTO CONTINUO

pass

domingo, 27 de octubre de 2024

Practica de pegar un arma a la mano de un personaje con blender para seguir sus movimientos, ;

 Practica de pegar un arma a la mano de un personaje con blender para seguir sus movimientos, se puede exportar a Godot 4.3, este video son pruebas que hice y esta aun muy verde, pero al final funciono el resultado, se ha de estudiar y practicar, presione Control +P para sacar opciones que consiguen el resultado.....Pongo el video pero reconozco que aun no se como logre pegar el arma a la mano, en fin a repasarlo estudiarlo y practicarlo

EL FORMATO DE LOS OBJETOS SON TODOS FBX LA PISTOLA Y EL PERSONAJE

Ejemplo para Godot 4.3 de Label en GDScript para que se escale y desescale el texto y se mueva;

 extends Label


var velocidad_y = 0.48

var velocidad_x = 0.73

var velocidad_escala = 0.01

var direccion_y = 1

var direccion_x = 1

var direccion_escala = 1


func _process(delta: float) -> void:

# Movimiento

position.y += velocidad_y * direccion_y * delta

position.x += velocidad_x * direccion_x * delta


# Escala (corregido)

scale = scale * (1 + velocidad_escala * direccion_escala * delta)


# Verificar límites de movimiento

if position.y >= get_viewport().size.y - get_rect().size.y or position.y <= 0:

direccion_y *= -1

if position.x >= get_viewport().size.x - get_rect().size.x or position.x <= 0:

direccion_x *= -1


# Verificar límites de escala (ajusta según tus necesidades)

if scale.x >= 2:

direccion_escala = -1

elif scale.x <= 0.5:

direccion_escala = 1

Ejemplo para que un Label ascienda y descienda alternativamente en la pantalla del videojuego en GDScript;

 extends Label


var velocidad_y = 0.48

var velocidad_x = 0.73

var direccion_y = 1  # 1: hacia abajo, -1: hacia arriba

var direccion_x = 1  # 1: hacia la derecha, -1: hacia la izquierda


func _process(delta: float) -> void:

# Mueve el Label en la dirección actual

position.y += velocidad_y * direccion_y

position.x += velocidad_x * direccion_x


# Verifica si ha llegado a un límite y cambia la dirección

if position.y >= get_viewport().size.y - get_rect().size.y or position.y <= 0:

direccion_y *= -1

if position.x >= get_viewport().size.x - get_rect().size.x or position.x <= 0:

direccion_x *= -1

Ejemplo de rotacion de 90 grados y a la inversa de -90 grados con GDScript;

 extends Camera3D


var target_rotation = PI / 2  # Ángulo de rotación objetivo (90 grados en radianes)

var current_rotation = 0.0

var rotation_speed = 0.1  # Ajusta esta variable para cambiar la velocidad de rotación

var is_rotating_forward = true  # Indica si la rotación es en sentido horario (true) o antihorario (false)


func _process(delta: float) -> void:

if is_rotating_forward:

if current_rotation < target_rotation:

rotate_y(delta * rotation_speed)

current_rotation += delta * rotation_speed

if current_rotation >= target_rotation:

current_rotation = target_rotation

is_rotating_forward = false  # Cambiar dirección de rotación

else:

if current_rotation > -target_rotation:

rotate_y(-delta * rotation_speed)

current_rotation -= delta * rotation_speed

if current_rotation <= -target_rotation:

current_rotation = -target_rotation

is_rotating_forward = true  # Cambiar dirección de rotación

Ejemplo de rotacion con GDScript a 90 grados lentamente;

 extends Camera3D


var target_rotation = PI / 2  # Ángulo de rotación objetivo (90 grados en radianes)

var current_rotation = 0.0

var rotation_speed = 0.1  # Ajusta esta variable para cambiar la velocidad de rotación


func _process(delta: float) -> void:

if current_rotation < target_rotation:

rotate_y(delta * rotation_speed)

current_rotation += delta * rotation_speed

if current_rotation >= target_rotation:

current_rotation = target_rotation

else:

rotation.y = target_rotation


Ejemplo de rotacion de 180 grados lentamente; con GDScript;

 extends Camera3D


var target_rotation = PI  # Ángulo de rotación objetivo (180 grados en radianes)

var current_rotation = 0.0

var rotation_speed = 0.3  # Ajusta esta variable para cambiar la velocidad de rotación


func _process(delta: float) -> void:

if current_rotation < target_rotation:

rotate_y(delta * rotation_speed)

current_rotation += delta * rotation_speed

if current_rotation >= target_rotation:

current_rotation = target_rotation

else:

rotation.y = target_rotation