Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

[Feedback] Character Controller 2D vs Builds

Iniciado por lightbug, Septiembre 26, 2018, 08:48:33 PM

Tema anterior - Siguiente tema
Septiembre 26, 2018, 08:48:33 PM Ultima modificación: Septiembre 26, 2018, 08:48:58 PM por lightbug
Hola, necesito ayuda, resulta que me propuse a terminar el character Controller 2D que tenía hace rato dando vueltas, la cosa es que lo mejoré y se los pasé a unos amigos (una escena mucho más grande con muchas cosas), ellos me respondieron que genial y que esto que el otro, pero que algunas veces tuvieron comportamientos raros y aleatorios en las situaciones que describo a continuación.
 
Yo probé estas situaciones y nada, la cosa se puso rara cuando me pasaron algunas de ellas en algunas builds (no veces, sino que depende de la build de turno , supongo), osea unas salen bien otras mal. Quiero saber si el sistema también influye por eso subo una Build trabajado para simular estas situaciones, si son tan amables pruebenlas por favor y me comentan.
 
El controller es totalmente kinemático, osea que no hay simulaciones físicas, digo esto porque puede parecer lógico decir que debido a la simulación puede darse bien o mal, esto casi que es determinística (entre unas grandes y gordas comillas, pero para el uso cotidiano lo es).
 
DEMO : https://drive.google.com/open?id=1zLfwpg97oSNEtEqhACFxmkYPA7b3tFOx
 
El escenario es muy cortito y está para testear colisiones y situaciones algo raras, pero me interesa lo siguiente:
 

 

 
Gracias de antemano
 
Saludos


Septiembre 26, 2018, 11:46:52 PM #2 Ultima modificación: Septiembre 26, 2018, 11:49:03 PM por francoe1
1º TEST
 
Estuve 30 minutos intentando quedar bugeado y no fue posible.. 
 
Podría ser un problema de ¿FPS? - Veo que estás utilizando LateUpdate Por que no utiliza ¿Update? ---- 
 
También veo que utilizas LateUpdate para actualizar los Inputs... Diria que cambies a UPDATE, me pasó algunas veces de que dentro de LateUpdate las cosas no funcionen correctamente.
 
Me cage de risa con "Animación Pedorra" ---- 
 
2º TEST
 
Intente user "H" para es efecto de Viento y me genero un salto extraño mientras estaba en el ejemplo 2 (Derecha TOP) de la imagen que compartiste...
 
EL MISMO error pasa al utilizar DASH .... queda bugeado cuando colisionas... No indagué mucho en cómo calculas y luego utilizas las variables Penetración de la clase Collision Info, pero quizas estas variables si están bien calculadas estarán dando un indicio del error.
 
3º TEST
 
Usando el Rompe TODO (CheatEngine) fue bastante bueno el resultado.. me gusto que a pesar de afectar el valor de Time.deltaxxxx las fisicas siguieron respondiendo correctamente, lógicamente a una velocidad mayor se empezaron a apreciar los bugs, pero nada de qué preocuparse, no busques la excelencia.
 
-------------------------------------------------------------------------------------------------------
 
Perdon por revisar el código ..  FUE UN ORGASMO ver lo hermoso de tu tipeo .... te contrataría a ojos cerrados son un animal... lo único que le cambiaría es que en los campos públicos utilices mayúsculas para que no haya sobreescritura con los parámetros de función. 
 
Desde mi punto de vista no deberias volverte loco por 4 situaciones de las cuales en realidad se deberían diseñar correctamente y no pasaría por un BUG del controlador, sino más bien del escenario, el controlador tiene un buen funcionamiento, esta muy bien armado, no pierdas el tiempo en intentar solucionar un error debido a una X situación-
 
-------- (Obfuscator jump) -----------
 


   
eature=oembed" width="480">

 
Abrazooo querido!

Septiembre 27, 2018, 12:37:43 AM #3 Ultima modificación: Septiembre 27, 2018, 12:52:55 AM por lightbug
Cita de: francoe1 date=1537998412También veo que utilizas LateUpdate para actualizar los Inputs... Diria que cambies a UPDATE, me pasó algunas veces de que dentro de LateUpdate las cosas no funcionen correctamente.
   


Sí, no se por que sospechaba de eso, lo tenía así simplemente porque el personaje se actualiza luego de que todo el resto lo haga, por paja de no tocar el ExecutionOrder.
 
Cita de: francoe1 date=1537998412Me cage de risa con "Animación Pedorra" ---- 
   


xD yo para los nombres soy mandado a hacer.
 
 
 
Cita de: francoe1 date=1537998412ntente user "H" para es efecto de Viento y me genero un salto extraño mientras estaba en el ejemplo 2 (Derecha TOP) de la imagen que compartiste...
   


Uh sí, ese detalle se me pasó, salieron todas con el H molesto ese, si te fijas por como está metido está mal, pero fue una prueba que quedó olvidada, lo voy a acomodar. Antes había un E y Q que rotaba al personaje, quizás hasta está metido también.
 
Cita de: francoe1 date=1537998412EL MISMO error pasa al utilizar DASH .... queda bugeado cuando colisionas... No indagué mucho en cómo calculas y luego utilizas las variables Penetración de la clase Collision Info, pero quizas estas variables si están bien calculadas estarán dando un indicio del error. 
   


El dash no es más que un manejo de velocidades , creo que un smoothdamp o una curva , ja no recuerdo, pero sí basicamente eso. Por bugueado exactamente a que te referís,? quizás ayude para mejorarlo.
 
Cita de: francoe1 date=1537998412Perdon por revisar el código ..  FUE UN ORGASMO ver lo hermoso de tu tipeo .... te contrataría a ojos cerrados son un animal... lo único que le cambiaría es que en los campos públicos utilices mayúsculas para que no haya sobreescritura con los parámetros de función. 
   


Jaja bueno gracias Franco!. Igual tengo que arreglar bastante las convenciones de llaves y nombres, de a ratos me meto y cambio cosas. Ahora me estoy pasando al bando de los:
 

if(...)
{
...
}

 
y dejando el:
 

if(...){
...
}

 
No solo hay grieta en política, en código también.
 
Debo decir que cuando te vi hablar del código dije W ..T ...F! y después caí como hiciste .... piyo jajaja
 
Cita de: francoe1 date=1537998412Desde mi punto de vista no deberias volverte loco por 4 situaciones de las cuales en realidad se deberían diseñar correctamente y no pasaría por un BUG del controlador, sino más bien del escenario, el controlador tiene un buen funcionamiento, esta muy bien armado, no pierdas el tiempo en intentar solucionar un error debido a una X situación-
   


Sí, tenés toda la razón, ahora está andando más que bien, le quiero meter más a la parte del CharacterController y dejar el Motor y el Body, que tienen lo aburrido del asunto.
 
Tengo una escena pero en 3D (osea Colliders y no Colliders2D) que también se lo banca muy bien, así que no se porque me fanatizo con esos casos que no veo en ningun juego comercial.
 
Osea que no tuviste los efectos raros, eso es "mucho bueno" (leer con vos de yanki que está aprendiendo españos)
 
 
 
Gracias por probarlo Máquina!  Un saludo

Septiembre 27, 2018, 05:38:51 AM #4 Ultima modificación: Septiembre 27, 2018, 01:34:25 PM por debug
No he podido detectar fallos, todo correcto.
 
Quizás sea la física por fps inestables en la máquina donde surge el problema.
 

Cita de: lightbug date=1538001463Debo decir que cuando te vi hablar del código dije W ..T ...F! y después caí como hiciste .... piyo jajaja
   


W T F ?????
 
como accedio al codigo???

Cita de: Igor date=1538040466W T F ?????
   
   
      como accedio al codigo???
   


Aquí hay cierta gente con ninguna solidez moral, que disfruta destripando el esfuerzo de otras personas mediante el programita de turno.
 
Personalmente, no es algo de lo que estar orgulloso. A menos que se trate con cautela y siempre por privado, es una práctica que no voy a tolerar que se fomente en la Comunidad.

Septiembre 27, 2018, 02:31:47 PM #7 Ultima modificación: Septiembre 28, 2018, 02:08:21 AM por pioj
Cita de: debug date=1538019531No he podido detectar fallos, todo correcto.
   
   
      Quizás sea la física por fps inestables en la máquina donde surge el problema.
   
   
      
   


Ok! creo que ha sido por otro problema, en otras versiones había un cinematiceffects de Unity , no recuerdo bien cuando lo saqué y no he recibido ninguno de esos fallos, raro pero mejor.
 
Se ve que el animación pedorra está cobrando fama jaja, y encima fijate la responsabilidad que tiene que está ocultando el cursor.
 
Cita de: Igor date=1538040466W T F ?????
   
   
      como accedio al codigo???
   


Con un típico programa desensamblador lo podés hacer, con cualquier juego hecho en Unity (o por lo menos con la mayoría de las builds), por ej yo tengo "############". Abrís el ######### de la carpeta ######## y voila!
 
Si te fijás muchos juegos están atados con alambre, muy gracioso todo, hace un tiempo me fijé Hollow knight solo para ver por curiosidad su estructura, como resolvían ciertos aspectos del juego y es como todo, simples humanos tratando de hacer que algo ande, uno piensa que en un juego tendrán esto y aquello y al final son tipos como nosotros. Por supuesto siempre como dice @pioj en privado y calladito la boca, nada de andar subiendo ni robando código ajeno, eso sería caer bajo moralmente, pero al final del día es una cuestión de los fucking dll.
 
.

Etiquetas: