Jump to content

Jhonatan00_00

Registrados
  • Content Count

    132
  • Joined

  • Last visited

  • Days Won

    3

Jhonatan00_00 last won the day on December 7 2020

Jhonatan00_00 had the most liked content!

Community Reputation

15 Good

About Jhonatan00_00

  • Rank
    Asiduo

Profile Information

  • Especialidad
    Diseñador

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Buenos días Francoe, para quien sabe bastante de programación puede resultar obvio que el orden altera el producto pero para un novato no es tan sencillo de entender, porque según tengo entendido el código que escribimos se ejecuta una vez por cada fotograma, por lo que si cambiamos el orden de las cosas no debería de importar tanto, puesto que aunque no le des un dato que necesite en una línea concreta, como va a seguir leyendo de nuevo todo el código en el siguiente fotograma, va a tener el dato... De todos modos ya lo he solucionado. La mayoría de fallos se producían porque había creado en el Animator parámetros que después borré, pero que en el script seguía haciendo llamada y no estaban, Unity no me avisaba de que había ningún error (por lo que fuese) y al actualizar las animaciones del personaje desde su pestaña "Animations" de pronto me empezaron a saltar todos los errores que había relacionados con animaciones y tuve que empezar a borrar llamadas a parámetros del Animator y llamadas a animaciones del personaje que ya no existían y ahí comenzó a funcionar lo de chocar con las paredes y otras muchas cosas. Algunos otros errores si que se debían al orden de programación. Una pregunta que viene al caso del orden de programación: Yo tengo programado que el movimiento se realice con un .move, pero en otra línea y después de haber hecho otros cálculos tengo programado que el salto se realice con otro .move y a parte según la inclinación del suelo te puedes resbalar, etc y eso lo tengo calculado también a parte y lo aplico con otro .move diferente (ya van 3 .move). ¿Sería mas correcto meter todos los cálculos en un solo .move?. Saludos.
  2. Buenos días a todos, he estado ordenando mi código y de paso puliéndolo un poco y he observado cosas rarísimas. Por ejemplo he podido observar que la mayoría de errores que se producían se debían al orden del código, ya que no puedes mover un objeto y después de moverlo dar la orden de calcular el movimiento de nuevo, si no que se debe de hacer al contrario, primero calcular y después mover, porque aunque parezca lo mismo, si mezclamos varias trayectorias como el salto, el avance, las inercias, etc y están mal ordenadas, al final te va a dar fallos de coordenadas. Lo que no entiendo es: ¿COMO PUEDE SER QUE UNITY SE SALTE PARTE DEL CÓDIGO SEGÚN EL ORDEN?. 😤 Tenía creado un raycast para detectar cuando el personaje choca contra una pared y que al chocar ralentice su marcha y comience a caminar (típico en casi cualquier videojuego) y funcionaba, pero resulta que ahora según donde ponga la parte del if () que determina que debe de hacer cuando choque, a veces choca y a veces no. A veces detecta que está tocando la pared y funciona bien y cuando cambio el if () de posición dentro del código ya no me detecta de nuevo las paredes. ¿Puede estar fallando Unity?.
  3. Buenas tardes Francoe, acabo de encontrar la solución trasteando un poco. Si colapsas el objeto que tenga el modificador Shell quedarán como dos objetos que son uno solo y si seleccionamos Element y no Polygon, podremos seleccionar el objeto interno solamente y eliminarlo. En mi caso no podía hacerlo porque la cara interna y externa estaban unidas al ser un modelo cóncavo tipo vaso, pero he podido conseguirlo igual porque solo he tenido que eliminar la fila de polígonos que unía una capa con la otra para después seleccionar con Element el objeto interno y así poder eliminarlo. No se que me pasa que pregunto cosas que no le encuentro solución y al momento muchas veces se me enciende la bombilla y lo termino solucionando, cuando me he pegado un mes sin encontrar la solución. 🤣 Saludos.
  4. No es exactamente el mismo efecto y queda mucho mejor con Shell. Seleccionando vértices a parte de tardar mucho mas seguramente me equivoque y escale los grupos de vértices de otra forma. Con Shell cada vértice sabe hacia donde debe de escalarse y el único problema es que crea caras internas que no se como eliminar si no es manualmente. En fin... si encuentro la forma de hacerlo ya diré algo.
  5. Buenas tardes, estoy usando 3DSMax y hace relativamente poco que he descubierto el modificador Shell que sirve para dar volumen a objetos planos, el cual me está siendo de mucha utilidad para hacer por ejemplo las paredes de las casas donde puedes entrar en mi juego, pero no solo eso, si no que he viso que puedes darle multitud de aplicaciones mas, como por ejemplo dar volumen a objetos orgánicos como personajes, etc y es aquí donde tengo un pequeño problema. Cuando aplicamos el modificador Shell, el objeto no solo aumenta su volumen si no que se crean caras internas, por lo que al aplicarlo a un personaje para hacerlo mas rechoncho el número de polígonos aumenta. ¿Existe alguna manera de dar volumen a una geometría usando el modificador Shell u otro pero sin que genere caras internas?. ¿De que forma podría eliminar las caras internas si ya me las ha creado?. Un saludo.
  6. Buenas tardes compañero, el resultado es super profesional, no se que estudios tendrás sobre modelado 3D pero si estás aprendiendo por tu cuenta y lo has realizado tu desde cero, tienes talento para esto. Tema a parte, la gente no se da cuenta de lo complicado que es hacer un videojuego porque cada objeto 3D va modelado, texturizado y animado desde cero y en una sola escena hay un montón de objetos... por eso los juegos indies no son tan largos. Una pregunta, ¿que es para un videojuego el modelado?.
  7. Buenas tardes compañero, que conste que yo me considero novato como tu, pero puedes crear un temporizador muy fácilmente creando una variable de tipo flotante y después dentro de update ir sumándole el número que tu quieras para después con un if, con un case o de la forma que mejor te venga utilizar ese tiempo. Te pongo un ejemplo: private float Tiempo_Espera; void Update () { Tiempo_Espera = Tiempo_Espera + 1 * time.deltatime; if (Tiempo_Espera > 1) { Aquí lo que quieras que haga... Tiempo_Espera = 0; } } De paso me gustaría que los mas entendidos explicasen si este método (que utilizo muy a menudo) es conveniente o no, porque últimamente he visto cosas raras en mi juego y no se a que se pueden estar debiendo, por lo que si existe alguna forma mejor de crear contadores, por favor díganlo. Un saludo.
  8. Buenas noches y gracias por responder CseliteZX, el tema no es de hace mucho tiempo, es de hace unos días y ya respondí a esa pregunta de la potencia. El portátil es un Lenovo Thinkpad modelo X270 con un procesador i5 a 2,50Ghz, 16GB de RAM y una gráfica integrada Intel HD Graphics 520. Mario 64 no se ralentiza siempre que lo ejecute en el PC solamente, cuando se ralentiza es viendo el juego en 2 pantallas a la vez y a resoluciones altas. Ejecuta en tu PC cualquier juego a 8k por ejemplo y verás como se empieza a ralentizar, pues es ahí donde pasan cosas raras, pero creo que el problema va a estar simplemente en que el código está desordenado y los cálculos no están donde tienen que estar (me refiero a mi proyecto no a Mario). Ya os diré si lo soluciono porque aún no me he parado a probar, pero creo que todos los cálculos deberían de hacerse justo antes del .move ¿verdad? (pregunto para no equivocarme). EDITO: He desinstalado el juego del Mario 64 para PC (que es un port para PC realizado según dicen en Internet por unos hackers que robaron el código de la propia Nintendo) y he instalado el emulador Project 64. Con el emulador el juego me va incluso acelerado y voy a tener que meterme a configurar las opciones del emulador para limitar los frames a 60fps. Por lo que se ve se ralentizaba este juego por el Port que descargué, que vendrá mal o algo... Mi juego aún lo estoy puliendo hasta ver que me producía los errores, pero no se a que se deben.
  9. Super profesional!!, si señor, mola mucho.🤠 Solo le veo una pega y es que cuando la bola queda oculta no sabes muy bien hacia donde tienes que rotar el cubo, porque no la ves, pero supongo que será parte de la complejidad del juego. Saludos!!.
  10. Buenos días, no suelo usar Time.fixedDeltaTime porque el controlador del personaje las físicas y demás las tengo programadas desde cero con CharacterController y según el manual de Unity no se debe de hacer: Utilice FixedUpdate cuando utilice Rigidbody . Establezca una fuerza en un Rigidbody y aplica cada marco fijo. FixedUpdate ocurre en un intervalo de tiempo medido que normalmente no coincide con MonoBehaviour.Update . Por cierto, he probado a multiplicar por Time.Framecount y el resultado es peor, porque no multiplica el número que indiques por cada fotograma, si no por el total de fotogramas que ha comenzado a contar desde que se inicia el juego... que no le veo ni el sentido al invento, porque ¿para que se puede usar Framecount?. Si han pasado 3.000 fotogramas te multiplica por 3.000 y el personaje se sale del mapa. ¿Cómo controlo el framerate?. Si me voy a Edit>Project Settings>Time, veo que hay opciones sobre el tiempo de renderizado, pero ni idea de lo que tengo que tocar exactamente para configurar el framerate y que funcione. Igual me estoy liando más y los tiros no van por ahí... 😆 Lightbug voy a tratar de actualizar los drivers a ver si es eso, porque a parte he visto un par de fallos graficos estando en el editor de Unity, algunos polígonos de pronto se volvían triángulos negros y eso en el otro PC tampoco me lo hacía...
  11. Buenas noches Francoe, mi portátil es un Lenovo Thinkpad con 16GB de RAM y un procesador i5, no es por potencia. El Mario 64 y muchos otros juegos mas nuevos los mueve bien, siempre y cuando el PC no esté conectado a una TV full HD que es cuando se empieza a ralentizar porque tiene que mover el juego dos veces a 1080P que seria como a 2K... es normal que se ralentice, lo que no es normal es que Unity falle al ralentizarse y no se como solucionarlo, estoy pensando que en lugar de hacer los cálculos por time.deltatime los haga por cada frame, para que siempre sea el mismo resultado sin importar el tiempo que se quede colgado o atascado el PC, a ver si así se soluciona.
  12. Buenas tardes compañeros, Unity me está dando una serie de problemas que no entiendo por que se producen, pero que van a hacer que me explote la cabeza. Hoy misma acabo de recibir un ordenador portátil que compré con salida HDMI para poder trabajar con el desde cualquier sitio y para poder conectarlo a la TV y ver como funciona mi proyecto. Lo raro es que lo conecto a la TV de mi salón (que es una LG de 42") y comienzo a ver que el juego me va ralentizado, aunque no le doy importancia porque el portátil no es tan potente como el PC gamer desde donde lo estoy desarrollando y además tiene que mover el juego 2 veces (una por pantalla), por lo que es normal. Los problemas comienzan cuando empiezo a moverme por el mapa y el juego tiene fallos de calculo de coordenadas, la gravedad no funciona bien, las coordenadas del personaje se mueven raro, las animaciones están desincronizadas... en fin, un montón de problemas que no deberán de ocurrir porque los script los tengo programados usando siempre time.deltatime que se supone que está para evitar estos errores ¿no?. Me ha terminado de explotar la cabeza cuando he descargado de Internet el Mario 64 para PC, solo por ver si también se ralentizaba al tener conectado el PC a la TV y me daba los mismos fallos. Errores de calculo, Mario se me queda atascado en los filos de los peldaños y no sabe si debe de caer o avanzar, me hace cosas rarísimas que nunca había visto (aunque lo entiendo en este caso porque es un juego muy viejo que no estaba pensado para que se ralentizase así), pero Unity no debería de dar estos errores. ¿Alguien sabe por que se producen?. He pensado que quizá el orden de los factores altere el producto, o dicho de otro modo, que debo de calcular las coordenadas en el momento preciso para que aplique bien el movimiento... y también soy mucho de programar temporizadores para accionar cualquier cosa y que los temporizadores provoquen fallos... pfffff... no tengo ni idea y menos mal que me he comprado el portátil para probarlo, porque si no sale el juego y es el juego con mas bugs de la historia.
  13. Buenos días, aunque no queda exactamente igual que de la forma que yo lo había programado, queda bien. Solo me falta dejar el juego funcionando un rato para ver si el item se desplaza de donde tiene que hacerlo y termina por las nubes o si ha funcionado, porque según he leído en el manual de Unity, Mathf.Sin también puede fallar. Gracias!!. 😄
  14. Buenas tardes, pues agradezco mucho sus esfuerzos pero sigo sin entenderlo 🤣 Si yo escribo lo siguiente: transform.position = transform.position + (Vector3.up * 1 (Time.time) * 2); Lo que va a hacer es que suba hacia arriba a una velocidad de 1, pero no va a bajar nunca... ¿como sería la ecuación?. Se me ocurren muchas formas de solucionarlo pero no con una ecuación.
  15. Buenas tardes, llevo mas de una hora intentándolo y no encuentro la solución, ¿podría explicarlo mas detalladamente?. Un saludo.
×
×
  • Create New...