Hola,
Parece que estás disfrutando del foro pero aún no te has registrado. ¿Por qué no te tomas un minuto para crear una cuenta?. Como usuario registrado en 900grados tendrás acceso completo al foro sin ninguna limitación y podrás comunicarte directamente con todos los miembros de la comunidad.

Si ya tienes una cuenta inicia sesión en la parte superior derecha de esta página (login) y no verás más este aviso.

Resultados 1 al 2 de 2

Tema: Unas apps útiles que me he hecho

  1. #1
    Piloto de Fórmula 1 Avatar de Elaphe
    Registrado
    06/06/2016
    Mensajes
    1,456

    Unas apps útiles que me he hecho

    Llevo un tiempo atreviéndome a trastear con las apps de Assetto Corsa. Sin tener ni pajolera idea de Python, han sido infinitas horas, primero tratando de hacer modificaciones sencillas a algunas apps, cosas estéticas, quitando lo que me sobraba, etc, haciendo mil pruebas y viendo como en el 90% de las ocasiones nada funcionaba en el mejor de los casos y en el peor de ellos daba un error total. Además aprendí por las malas que el Python es muy caprichoso (por ejemplo con los idents) y que Assetto Corsa falla por cualquier tontería si te has equivocado en algo del código, lo que puede crashear el resto de apps y más te vale tener un backup de la carpeta Assetto Corsa de mis documentos y, por si acaso, también de la de Content Manager de Appdata. También, si tenéis espacio, conservar una copia completa del directorio principal del juego no es mala idea. A mí todos esos backups me han ahorrado mucho tiempo y quebraderos de cabeza.

    La primera app que hice hace ya bastante tiempo no es algo muy útil pero queda simpática. El caso es que a base de copiar de unas y otras, mirar lo que me servía y lo que no y probar miles de veces, al final conseguí algo bastante chulo: una voz digitalizada que me motivara al hacer drift. Esta app se llama Drift Sound. Cogí código de un par de apps que mostraban el ángulo de drift conseguido durante los derrapes y también de otra que reproducía sonidos en algunos eventos, lo junté todo, lo agité bien y ahí está el resultado. Luego incluso conseguí que se reprodujeran sonidos alteatorios de una lista. Dichos sonidos están grabados con un sintetizador de voz online. Les metí además efecto de radio. Son los mismos tipos de sonido que tengo asociados a algunos eventos en Simhub (algunos realmente graciosos, por ejemplo para cuando te demoras en salir de los pits o cuando te cargas el coche o te quedas sin gasolina). El funcionamiento de Drift Sound es aceptable, aunque a veces cuando hago un spin completo y fuera de control, también salta el sonido, lo cual no tiene mucho sentido, pero bueno... Esta app no tiene ninguna visualización en pantalla, como es lógico.

    La segunda y tercera app las he hecho este fin de semana y hasta yo mismo estoy sorprendido de que hayan llegado a buen fin en tan pocas horas. Son muy parecidas y tienen un fin muy práctico. En la que he llamado Button box info, el objetivo era poder usar un botón de mi botonera para mostrar una imagen descriptiva de todas las funciones de las dos botoneras que tengo. Le di muchas vueltas al tema, primero con algúna dll para mostrar imágenes en juegos direct3D a pantalla completa, pero no funcionaba en VR. Con Autohotkey, fuera del juego se hace sin problema, pero no en el juego en sí. Con una app del propio Assetto Corsa sí podría conseguirlo. Copiando código de otra app, conseguí que la imagen apareciera en pantalla (un .png con fondo transparente). Luego miré el código de la app IS_AddShortcutKey para ver cómo hacer que una hotkey tuviera efecto para visualizar la imagen. En realidad lo que hace es mostrar la imagen y luego otra completamente transparente. No me costó demasiado que todo funcionara, aunque con dos hotkeys (no sé hacer un toggle en Python). En la botonera ya hago con AutoHotkey que el botón alterne la función de las dos hotkeys para mostrar y ocultar.

    La tercera app consiste en un reemplazo visual del método auditivo que tengo para identificar la función de la palanquita momentánea que tengo en mi botonera. Un botón a su lado cambia esa función en un ciclo: ajuste de FF, ajuste del volumen de los shakers, avanzar o retroceder en el tiempo del juego, la velocidad de los ventiladores y el volumen del audio. Eso me evita tener 5 palancas en la botonera, ocupando espacio, con el lío de cables internos que supone y la mayor complicación al usarla a ciegas con el casco de realidad virtual en la cabeza. Hasta ahora lo que hacía mi script era reproducir un sonido digitalizado indicando el modo elegido. Lo malo de eso es que a altas revoluciones a veces no se escuchaba bien y además tenías que recordar en qué modo se había quedado. La idea era que el botón mostrara un mensaje en pantalla. Después de mucho probar funcionó. Quería haber usado una sola hotkey para hacer un ciclo en el código de la app que pasase por las distintas funciones, pero, después de muchas horas intentándolo sin éxito, opté por hacer 5 hotkeys (con el mismo código de la app anterior): ctrl+6, ctrl+7,ctrl+8,ctrl+9,ctrl+0. Ya sólo faltaba asignarlas en mi script de AutoHotkey para la botonera, hacer que el código de AutoHotkey hiciera el ciclo, hacer algunos ajustes cosméticos en la app y listo.

    Os pongo una imagen de cómo queda el HUD. La imagen de las botoneras evidentemente no la dejo durante el juego. Es para mostrarla manteniendo pulsado el tercer botón. No es algo que necesite hacer porque ya me la sé de memoria, pero no está de más. Abajo se puede ver el recuadrito de texto que pone "FORCE FEEDBACK" y que cambia con el botón de la botonera. Luego también se ven un par de apps modificadas, como es la del reloj, mostrando la hora real y la del juego, y todo muy compacto y minimalista, así como la de los FPS, también reducida a la mínima expresión. Como se ve, el HUD está esquinado y alejado de la vista para que no quite inmersión.

    Si queréis alguna de estas cosas, decídmelo y os paso los ficheros o el código.


  2. #2
    Piloto de karting Avatar de Hannu
    Registrado
    12/05/2019
    Mensajes
    28
    Wow, me flipa. Me siento identificado contigo en querer buscar que todo esté tal y como te gusta y tratar de aprender con ello, aunque no llegue ni de lejos al nivel de excelencia que muestras con lo que haces. Enhorabuena

    Cita Elaphe ha escrito Ver mensaje
    Llevo un tiempo atreviéndome a trastear con las apps de Assetto Corsa. Sin tener ni pajolera idea de Python, han sido infinitas horas, primero tratando de hacer modificaciones sencillas a algunas apps, cosas estéticas, quitando lo que me sobraba, etc, haciendo mil pruebas y viendo como en el 90% de las ocasiones nada funcionaba en el mejor de los casos y en el peor de ellos daba un error total. Además aprendí por las malas que el Python es muy caprichoso (por ejemplo con los idents) y que Assetto Corsa falla por cualquier tontería si te has equivocado en algo del código, lo que puede crashear el resto de apps y más te vale tener un backup de la carpeta Assetto Corsa de mis documentos y, por si acaso, también de la de Content Manager de Appdata. También, si tenéis espacio, conservar una copia completa del directorio principal del juego no es mala idea. A mí todos esos backups me han ahorrado mucho tiempo y quebraderos de cabeza.

    La primera app que hice hace ya bastante tiempo no es algo muy útil pero queda simpática. El caso es que a base de copiar de unas y otras, mirar lo que me servía y lo que no y probar miles de veces, al final conseguí algo bastante chulo: una voz digitalizada que me motivara al hacer drift. Esta app se llama Drift Sound. Cogí código de un par de apps que mostraban el ángulo de drift conseguido durante los derrapes y también de otra que reproducía sonidos en algunos eventos, lo junté todo, lo agité bien y ahí está el resultado. Luego incluso conseguí que se reprodujeran sonidos alteatorios de una lista. Dichos sonidos están grabados con un sintetizador de voz online. Les metí además efecto de radio. Son los mismos tipos de sonido que tengo asociados a algunos eventos en Simhub (algunos realmente graciosos, por ejemplo para cuando te demoras en salir de los pits o cuando te cargas el coche o te quedas sin gasolina). El funcionamiento de Drift Sound es aceptable, aunque a veces cuando hago un spin completo y fuera de control, también salta el sonido, lo cual no tiene mucho sentido, pero bueno... Esta app no tiene ninguna visualización en pantalla, como es lógico.

    La segunda y tercera app las he hecho este fin de semana y hasta yo mismo estoy sorprendido de que hayan llegado a buen fin en tan pocas horas. Son muy parecidas y tienen un fin muy práctico. En la que he llamado Button box info, el objetivo era poder usar un botón de mi botonera para mostrar una imagen descriptiva de todas las funciones de las dos botoneras que tengo. Le di muchas vueltas al tema, primero con algúna dll para mostrar imágenes en juegos direct3D a pantalla completa, pero no funcionaba en VR. Con Autohotkey, fuera del juego se hace sin problema, pero no en el juego en sí. Con una app del propio Assetto Corsa sí podría conseguirlo. Copiando código de otra app, conseguí que la imagen apareciera en pantalla (un .png con fondo transparente). Luego miré el código de la app IS_AddShortcutKey para ver cómo hacer que una hotkey tuviera efecto para visualizar la imagen. En realidad lo que hace es mostrar la imagen y luego otra completamente transparente. No me costó demasiado que todo funcionara, aunque con dos hotkeys (no sé hacer un toggle en Python). En la botonera ya hago con AutoHotkey que el botón alterne la función de las dos hotkeys para mostrar y ocultar.

    La tercera app consiste en un reemplazo visual del método auditivo que tengo para identificar la función de la palanquita momentánea que tengo en mi botonera. Un botón a su lado cambia esa función en un ciclo: ajuste de FF, ajuste del volumen de los shakers, avanzar o retroceder en el tiempo del juego, la velocidad de los ventiladores y el volumen del audio. Eso me evita tener 5 palancas en la botonera, ocupando espacio, con el lío de cables internos que supone y la mayor complicación al usarla a ciegas con el casco de realidad virtual en la cabeza. Hasta ahora lo que hacía mi script era reproducir un sonido digitalizado indicando el modo elegido. Lo malo de eso es que a altas revoluciones a veces no se escuchaba bien y además tenías que recordar en qué modo se había quedado. La idea era que el botón mostrara un mensaje en pantalla. Después de mucho probar funcionó. Quería haber usado una sola hotkey para hacer un ciclo en el código de la app que pasase por las distintas funciones, pero, después de muchas horas intentándolo sin éxito, opté por hacer 5 hotkeys (con el mismo código de la app anterior): ctrl+6, ctrl+7,ctrl+8,ctrl+9,ctrl+0. Ya sólo faltaba asignarlas en mi script de AutoHotkey para la botonera, hacer que el código de AutoHotkey hiciera el ciclo, hacer algunos ajustes cosméticos en la app y listo.

    Os pongo una imagen de cómo queda el HUD. La imagen de las botoneras evidentemente no la dejo durante el juego. Es para mostrarla manteniendo pulsado el tercer botón. No es algo que necesite hacer porque ya me la sé de memoria, pero no está de más. Abajo se puede ver el recuadrito de texto que pone "FORCE FEEDBACK" y que cambia con el botón de la botonera. Luego también se ven un par de apps modificadas, como es la del reloj, mostrando la hora real y la del juego, y todo muy compacto y minimalista, así como la de los FPS, también reducida a la mínima expresión. Como se ve, el HUD está esquinado y alejado de la vista para que no quite inmersión.

    Si queréis alguna de estas cosas, decídmelo y os paso los ficheros o el código.


Marcadores

Marcadores

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •