Mostrando entradas con la etiqueta ;. Mostrar todas las entradas
Mostrando entradas con la etiqueta ;. Mostrar todas las entradas

miércoles, 20 de noviembre de 2024

Trabajo que publicare en itchi.io, perico415 - itch.io calculo en enero del 2025,;

 

https://perico415.itch.io/

Despues de 11 meses mas o menos casi un año de desarrollar con Godot, muestro este video de mi proximo trabajo que publicare en itchi.io, perico415 - itch.io calculo en enero del 2025, en estos 11 meses publique en itchi.io varios juegos, todos de tematica adulta,


Todos con bastante audiencia, y algunas capturas de video muy exitosas, teniendo en cuenta que no soy Youtuber de éxito y popular,


Realmente no me arrepiento de cambiarme a Godot antes usaba Unity, pero veia mucho royo, y para ser un aficionado en estos temas de desarrollar videojuegos, yo solo quiero hacerme rico haciendo juegos, no necesito a Unity ni trabajar para una empresa, yo me vasto y me sobro para ganar mucha pasta¡¡¡¡


Soy sarcastico….pero realmente me siento capaz de cualquier cosa!!!!


No ahora en serio, me gusta muchisimo crear videojuegos, y con Godot me siento muy comodo.



Y me encanta ver como suben un monton las visitas a mi pagina de Itch.io. perico415 - itch.io .



En este video, muestro mi proximo trabajo, tematica de intriga y misterio y surrealismo, me inspira el ambiente nocturno del cine de terror, me inspira Stephen king,


El juego va de un ascensor y de situaciones al vajar y subir plantas de un edificio, en cada planta procuro cambiar la escena, las animaciones , me da por hacerlas manualmente incluso las de caminar que son muy muy dificiles de hacer, pero lo estoy haciendo, y el juego tendra todo un mismo estilo de movimiento y de graficos 3d, podria poner animaciones ya echas realistas, pero me esta gustando hacerlas yo, y si desarrollo juegos es por diversion no por obligacion,




La IA del navegador Microsoft Edge me esta ayudando muchisimo en el tema de programacion GDScript que es el que usa Godot 4.3, es la version que estoy utilizando.



No te resuelve la papeleta, tienes que ir preguntando y probando y cambiando lineas de codigo, y al final estoy teniendo muy buenos resultados, lo mejor cuando un codigo, un script funciona, puedes hacer cambios y añadirle lineas o cambiarlas, y voy aprendiendo.


Ayuda a aprender es como tener un profesor particular.



Pondre varios scripts que utilizo en el juego, algunos vienen con el propio Godot otros los e retocado yo sacando informacion de aquí y de aya,


En este juego estoy empezando a manipular barra de vida, algo estoy haciendo y saldra en el juego, con script que me proporciono la IA , puedo manipular ideas y temas que salen en el juego,


Mis herramientas de trabajo son, Godot 4.3, Blender, Gimp, Paint, Makehuman, lmms , practicamente casi todos de tipo software libre.org , tambien uso algo de la web OpenGameArt.org .


Y efectos de sonido de https://www.videvo.net/

E conseguido hacer efectos de tembleque del ascensor, efectos de aparecer y desaparecer de fantasmas, cambiar escenas con facilidad por paso de tiempo o presionando alguna tecla del pc,


Me encanta y me gusta muchisimo poder jugar con las camaras y sus enfoques, haciendo un juego de estilo como de cine y de comic.


Y bueno hay estoy con mi maravillosa aficion, con la que pienso hacerme multimillonario……..perdon con la que pienso entretenerme asta el fin de mis dias, si la salud me lo permite, que pienso seran muchos años ya que para esto no hace falta correr maratones ni levantar cargas pesadas de 50 kilos, ….


Eso si paciencia….toneladas….contancia...eterna. Espero guste el video ...ala asta luego!!!!!



A continuacion algunos scripts GDScript que uso en el juego, ayudado por la IA, sino imposible no tengo estudios de programacion.........

extends MeshInstance3D


func _input(event):

# Comprobamos si es un evento de teclado

if event is InputEventKey:

if event.pressed:

if event.keycode == KEY_Z:

rotate_x(0.04)

elif event.keycode == KEY_X:

rotate_x(-0.04)

# Comprobamos si es un evento de acción de entrada

elif event is InputEventAction:

pass

#func _input(event):

if event is InputEventMouseButton:



if event.pressed and event.is_action("mouse_rueda_arriba"):

#if event.action == "mouse_rueda_arriba":

rotate_x(-0.04)

elif event.pressed and event.is_action("mouse_rueda_avajo"):

#elif event.action == "mouse_rueda_avajo":

rotate_x(0.04)




ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

extends Node3D



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

func _ready() -> void:

$AnimationPlayer.play("Esqueleto|EsqueletoAction")

pass # Replace with function body.



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

func _process(delta: float) -> void:

pass


ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

extends Area3D



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

func _ready() -> void:

pass # Replace with function body.



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

func _process(delta: float) -> void:

pass



func _on_area_entered(area: Area3D) -> void:

#$"CSGBox3D2ASCENSOR4 puertaabre".play("puertaascensor")

$MeshInstance3D.play("corredera")

pass # Replace with function body.

ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo


extends Area3D



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

func _ready() -> void:

pass # Replace with function body.



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

func _process(delta: float) -> void:

pass



func _on_area_entered(area: Area3D) -> void:

var siguiente_escena = preload("res://ESCENAS/world_environmentESCENA PRINCIPAL-2-.tscn")  # Precargar la escena


get_tree().change_scene_to_packed(siguiente_escena)  # Cambiar a la escena precargada (Godot 4.2)


queue_free()  # Liberar este nodo después del cambio de escena

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

extends Area3D



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

func _ready() -> void:

pass # Replace with function body.



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

func _process(delta: float) -> void:

pass



func _on_area_entered(area: Area3D) -> void:

queue_free()

pass # Replace with function body.

ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

extends Area3D



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

func _ready() -> void:

pass # Replace with function body.



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

func _process(delta: float) -> void:

pass



func _on_area_entered(area: Area3D) -> void:

$MeshInstance3D/AnimationPlayer.play("CORREDERAS")

pass # Replace with function body.


ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

extends Area3D



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

func _ready() -> void:

pass # Replace with function body.



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

func _process(delta: float) -> void:

pass



func _on_area_entered(area: Area3D) -> void:

$"../CSGBox3D2ASCENSOR4 puertaabre".play($"../CSGBox3D2ASCENSOR4 puertaabre/AnimationPlayer")

pass # Replace with function body.

ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo








extends Area3D



var Bullet = preload("res://EL PROTAGONISTA/BALA PROYECTIL/PROYECTIL.tscn")

#var Bullet2 = preload("res://EL PROTAGONISTA/FOGONAZO PISTOLA/cpu_particles_3dfogonazo.tscn")



func _ready() -> void:




pass # Replace with function body.






func _input(event):






if event is InputEventMouseButton:




if event.button_index == 1 and event.pressed :



#event.button_index == MOUSE_BUTTON_LEFT and event.pressed:


var bullet = Bullet.instantiate()

#var bullet2 = Bullet2.instantiate()


add_child(bullet)

#add_child(bullet2)


func _unhandled_input(event):

if event is InputEventKey and event.pressed:

if event.keycode == KEY_W:

translate(Vector3(0, 0, 0) * get_process_delta_time())  # Temporary movement (consider physics)


#if event.keycode == KEY_


#apply_impulse(Vector3(0,40,4))#ORIGINAL



if event.keycode == KEY_Z:

rotate_x(0.02)

pass

if event.keycode == KEY_X:

rotate_x(-0.02)

pass

if event is InputEventMouseButton:



if event.pressed and event.is_action("mouse_rueda_arriba"):

#if event.action == "mouse_rueda_arriba":

rotate_x(-0.02)

elif event.pressed and event.is_action("mouse_rueda_avajo"):

#elif event.action == "mouse_rueda_avajo":

rotate_x(0.02)

pass

oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo



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

domingo, 6 de octubre de 2024

Ejemplo de hacer una animación con blender y pasarla a Godot 4.3,;

 

Boy a explicar un ejemplo de hacer una animación con blender y pasarla a Godot 4.3,

he puesto un video mio también en el blog con mi voz para explicar de forma breve como lo voy haciendo, en blender primero de todo, ago un hueso el cual extruyo, o mas bien partiendo de el, ago otro que esta unido a el, y así sucesivamente se pueden dar formas que se quieran dar, un brazo en este caso, con unos dedos, cada hueso lo embuelbo con un cilindro que voy modelando, estos mas adelante se pueden unir o si se sabe muy bien utilizar blender a partir de la base de uno solo seleccionado las caras y con mucho trabajo y paciencia y dandole formas de brazo antebrazo mano y dedos.


En el video se puede ver también como selecciono los cilindros y los huesos y los fusiono para que cuando se aga la animación, el cilindro siga el movimiento del hueso……



Cuando e conseguido lo que buscaba lo pase a Godot4.3 en formato fbx, si usáis Godot 4.2 mejor usáis formato glTF.



Pongo también un video en el que se ve mejor los pasos de fusionas formas con huesos en blender.






El archivo fbx que contiene, que pase a Godot 4.3 tiene un script para que aga la animación, es el siguiente,,,,,,,



extends Node3D



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

func _ready() -> void:

$AnimationPlayer.play("Esqueleto|MANOSADICA")

pass # Replace with function body.



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

func _process(delta: float) -> void:

pass







Es muy sencillo de hacer, de escribir y un detalle es que la animación antes de pasarla a escena para que funcione con godot le marquéis la opción de PingPong para que se reproduzca continuamente en bucle y que estén también marcadas de azul las dos flechillas que recuerdan el símbolo del ying y del yang, esto en animación del Godot4.3 lo seleccionáis hay,,,, podría alargar mas estas explicaciones, pero es solo una pequeña vase para entender como funciona el tema, el resto a de ser ponerse delante del pc y practicar y practicar y practicar……...



viernes, 8 de diciembre de 2023

Sube un cubo lentamente en Gdscript para godot 4.2;

extends RigidBody3D



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

func _ready():

pass # Replace with function body.



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

func _process(delta):

translate(Vector3(0,0.08,0))

pass


miércoles, 22 de noviembre de 2023

Script en Gd para Godot de rotar un objeto, con la tecla 6, la -w-a-s-d, ;

 extends MeshInstance3D


func _unhandled_input(event):

if event is InputEventKey:

if event.pressed and event.keycode == KEY_6:

rotate_y(0.88)

$AudioStreamPlayer3D.play()





if event.pressed and event.keycode == KEY_W:

rotate_y(0.33)

$AudioStreamPlayer3D.play()



if event.pressed and event.keycode == KEY_A: 

rotate_y(0.44)

$AudioStreamPlayer3D.play()

if event.pressed and event.keycode == KEY_D: 

rotate_y(0.41)

$AudioStreamPlayer3D.play()


if event.pressed and event.keycode == KEY_S:

rotate_y(0.48)

$AudioStreamPlayer3D.play()

miércoles, 15 de junio de 2022

THE WOLF MAN, CRAZY GLASSES DEMO-11 PC Y WEBGL WINDOWS;

 

lunes, 27 de diciembre de 2021

Como poner una película en un juego de Unity hecho con webGL,;

Como poner una película en un juego de Unity hecho con webGL, Haciendo un juego de ida y vuelta por animación con 4 o 5 planos que se van cruzando con distintas capturas de imagen dan la ilusión de movimiento....en este blog pongo los pasos y los detalles, lo ideal es hacerlo por programación, pero el ingenio también da algunas soluciones,

 

Es muy sencillo poner una película cuando se compila en Unity para versión de pc, se compila para pc y sale la película espectacular, funciona al poner un archivo en formato mp4 al video player, este ser arrastra a un cubo con forma de pizarra y no hay nada mas que hacer, en un plano a mi no me funciona a de ser una cubo súper aplanado, el problema viene al compilar para webGL, hay no funciona no sale ni a tiros, seguro hay gente sabe solucionarlo, yo de momento para hacer una animación de película muy sencilla me da el pego el poner 4, o 5 o si se quiere trabajar mas el tema ,,,,yo de momento lo e probado con 5 cubos aplanados con una imagen en cada uno de ellos diferente que se van entrecruzando entre ellos, lo e echo por animación de movimiento de estas piezas, algo parecido a cuando se hacen en un blog de papel 10 o 20 dibujos que al solaparlos y darle con el dedo en una esquina dan la impresión de película animada….de momento son pruebas para una nueva versión de mi juego...la tercera parte que quiero hacer de….The wolf man of the underground



viernes, 23 de abril de 2021

domingo, 11 de abril de 2021

¿Como se escribe un script en C# para unity que combine dos teclas ala vez para realizar una acción o evento?

 

Sigo trabajando el videojuego, e puesto unos camiones enemigos con soldados dentro que debo destruir con granadas de mano y también e puesto una especie de mirilla para que al disparar sirva de guiá en el juego porque pienso se confundía un poco el tema de mis disparos los del player me vengo a referir, también empiezo a utilizar animaciones desde https://www.mixamo.com

Porque si tengo que hacerlas yo puedo alargar el videojuego meses incluso años….Explicare con mas detalle mis avances de aquí un par de días quizás mañana que es domingo y tengo tiempo libre todo el domingo.



¿Como se escribe un script en C# para unity que combine dos teclas ala vez para realizar una acción o evento?

Así…….en este ejemplo es solamente para movimiento constante de un gameobject hacia delante

pero se tiene que apretar la tecla letra “E” y el botón del ratón izquierdo si no no funciona para que funcione solo con la letra “E” se escribe así….

if (Input.GetKey(KeyCode.E))

CON LAS DOS TECLAS A ALA VEZ ASI

f ((Input.GetButton ("Fire1")) && (Input.GetKey (KeyCode.E)))

otro ejemplo

if ((Input.GetKey (KeyCode.W)) && (Input.GetKey (KeyCode.E)))

------------------------------------------------------------------------------------------------------------------------

-------------------------aqui el scrip-----------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class fuerzadeempujee : MonoBehaviour {


public float moveSpeed = 30f;
public float turnSpeed = 90f;


void Update ()
{

if ((Input.GetButton ("Fire1")) && (Input.GetKey (KeyCode.E)))
//if (Input.GetKey(KeyCode.E))////funciona contantemente al apretar W mayusculas a de ser
//if (Input.GetKeyDown(KeyCode.W))// funciona pasito a pasito
//if(Input.GetKey(KeyCode.UpArrow))
transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);
}
}