viernes, 1 de noviembre de 2024

Escala un extends Label3D en eje -x- y en eje -y- con GDScript ;

 extends Label3D


var scale_speed = 0.2

var scale_direction = 1


func _ready() -> void:

pass  # Replace with function body.


func _process(delta: float) -> void:

# Escalado en los ejes X e Y

scale.x += scale_speed * scale_direction * delta

scale.y += scale_speed * scale_direction * delta


# Cambiar la dirección de escalado cuando alcance ciertos límites

if scale_direction == 1 and scale.x >= 0.3:

scale_direction = -1

elif scale_direction == -1 and scale.x <= 0.01:

scale_direction = 1


extends Label3D escalar un Label 3d mediante GDScript;

 extends Label3D


var scale_speed = 0.8

var scale_direction = 1


func _ready() -> void:

pass  # Replace with function body.


func _process(delta: float) -> void:

# Escalado en el eje X

scale.x += scale_speed * scale_direction * delta


# Cambiar la dirección de escalado cuando alcance ciertos límites

if scale_direction == 1 and scale.x >= 0.3:

scale_direction = -1

elif scale_direction == -1 and scale.x <= 0.01:

scale_direction = 1


GDScript camara rota en diversas direcciones, muy bueno;

 extends Camera3D


var target_rotation_x = PI / 2  # Ángulo de rotación objetivo en el eje X

var target_rotation_y = PI / 4  # Ángulo de rotación objetivo en el eje Y


var current_rotation_x = 0.0

var current_rotation_y = 0.0


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


var is_rotating_forward_x = true  # Indica si la rotación en X es en sentido horario

var is_rotating_forward_y = false  # Indica si la rotación en Y es en sentido horario


func _process(delta: float) -> void:

# Rotación en el eje X

if is_rotating_forward_x:

if current_rotation_x < target_rotation_x:

rotate_x(delta * rotation_speed)

current_rotation_x += delta * rotation_speed

if current_rotation_x >= target_rotation_x:

current_rotation_x = target_rotation_x

is_rotating_forward_x = false

else:

if current_rotation_x > -target_rotation_x:

rotate_x(-delta * rotation_speed)

current_rotation_x -= delta * rotation_speed

if current_rotation_x <= -target_rotation_x:

current_rotation_x = -target_rotation_x

is_rotating_forward_x = true


# Rotación en el eje Y

if is_rotating_forward_y:

if current_rotation_y < target_rotation_y:

rotate_y(delta * rotation_speed)

current_rotation_y += delta * rotation_speed

if current_rotation_y >= target_rotation_y:

current_rotation_y = target_rotation_y

is_rotating_forward_y = false

else:

if current_rotation_y > -target_rotation_y:

rotate_y(-delta * rotation_speed)

current_rotation_y -= delta * rotation_speed

if current_rotation_y <= -target_rotation_y:

current_rotation_y = -target_rotation_y

is_rotating_forward_y = true


jueves, 31 de octubre de 2024

Nuevo proyecto con Godot 4.3, videojuego de terror y misterio para publicar estas navidades u enero del 2025;

 

https://perico415.itch.io/

Arranque de desarrollo de un nuevo trabajo en el que intentare hacer efectos cinematograficos en este videojuego de terror y misterio, imitando al cine , que es mi principal fuente de inspiracion y de motivacion y entretenimiento, creo que estoy decantandome por un estilo personal de tipo comic en el que el jugador maneja al personaje, y cuenta una historia corta, me encanta muchisimo Stephen King, seguramente lo que hago tiene influencias del cine que veo, lector de libros no soy, la verdad, y Stephen King, tiene una coleccion grande de libros, pero su cine si lo devoro, lo que si leo ultimamente, son libros de historia del desarrollo de videojuegos que han tenido muchisimo exito, y esto me ayuda tambien a escribir este blog, el leido como se desarrollo Call of dutfy, ahora estoy leyendo Tomb Raider

ley Doom , y tengo para leer, Los Sims, Half-Life, Fifa, Grand Theft Auto, todos juegos que tengo del pasado y los e jugado en mayor o menor medida.

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