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
Godot, scripts para Godot estudios y aprendizajes, Creacion de videojuegos. Creacion y publicacion de videojuegos en internet. Como hacer videojuegos. C# unity. Animaciones unity blender. Personajes videojuegos graficos dibujos. Diseño grafico. Comic. Animaciones gif. Dibujo de retratos. Realidad virtual. Cine y realidad virtual.
domingo, 27 de octubre de 2024
Practica de pegar un arma a la mano de un personaje con blender para seguir sus movimientos, ;
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
Ejemplo de una rotacion de 180 grados mediante GDScript;
extends Camera3D
var target_rotation = PI # Ángulo de rotación objetivo (180 grados en radianes)
var current_rotation = 0.0
func _process(delta: float) -> void:
if current_rotation < target_rotation:
rotate_y(delta * PI)
current_rotation += delta * PI
if current_rotation >= target_rotation:
current_rotation = target_rotation
else:
rotation.y = target_rotation