Jump to content

Search the Community

Showing results for tags 'script'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Proyectos
    • Offtopic
    • Unity Feeds
    • Website
    • Youtube
  • Mesa de ayuda
    • Unity
    • Arte
    • Builds & Dispositivos
    • Otras Especialidades
  • Aportes de la Comunidad
    • Recursos
    • Eventos
  • Bolsa de trabajo & Colaboraciones
    • Ofertas y Demandas

Blogs

There are no results to display.

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Especialidad

Found 5 results

  1. Hola! Tengo un problema que no consigo solucionar desde hace días y os agradecería si alguien pudiese ayudarme. Se trata de lo siguiente: en mi proyecto hay un objeto que "cambia de estado" y está controlado por la clase "item". El caso es que el cambio de estado se hace atendiendo al valor de un enumerador con dos valores: module, element. Según el valor estado, se ejecuta una función para aplicar las características pertinentes si es de un tipo u otro. En total son dos funciones que deben trabajar sincronizadas. La cosa es que module utiliza un modelo 3D para representarse y element un sprite. Entonces lo que estas dos funciones hacen es quitar y agregar los componentes necesarios. Y ahí está el problema. Cuando el script tiene que hacer la conversión de module a element, en ToElement(), me da un error al intentar agregar el componente SpriteRenderer porque se supone que MeshRenderer está aún en el objeto y son incompatibles. Pero resulta que no, el objeto no tiene MeshRenderer cuando Unity da el error y sin embargo me dice que no es posible. Gracias de antemano 😀
  2. int tempValue; //temperatura a la cual llegar int tiempoValue; //tiempo en el cual llegar a dicha temperatura (en segundos) IEnumerator TemperaturaActual(bool aumentar) { int t = 0; while (t < tempValue) { t += 1; tempActualText.text = $"Actual \n <size=+18>{t.ToString()}</size>"; //yield return new WaitForSeconds((1f/(tempValue/tiempoValue))); //yield return new WaitForSeconds((tiempoValue / tempValue)); //yield return new WaitForSeconds((1.5f/(tempValue/tiempoValue))/2); } } Buenas a todos, hoy traigo una duda que me esta molestando ya hace días y que probablemente tenga una solución simple que no veo jajaja. Verán tengo una corutina encargada de incrementar el valor de la temperatura actual de un horno. Esta va en aumento hasta llegar a la temperatura previamente marcada por el usuario. El tema es que el usuario además de elegir la temperatura a la cual llegar puede elegir el tiempo en el que desea que llegue(en segundos). Y acá es donde viene mi problema, no logro que si el usuario haya elegido 15 segundos tarde 15 segundos en llegar a X temperatura. Probé de diversas formas y todas o bien lo hacen en mucho menos tiempo, o bien tardan de más. También me ha pasado de que algunas soluciones sirven siempre y cuando sean valores de temperatura y tiempo bajos, en cuanto alguno de los dos aumenta mucho... Adjunto la parte de la corutina que creo que es lo que importa, los yield comentados son las distintas formas que busqué de lograr dicho efecto. Aclaraciones: *t si o si tiene que ser integer y aumentar de 1 en lo posible. *tanto el tiempo como la temperatura deben ser valores enteros también. *Objetivo: Si yo ingreso 500 grados por asi decirlo, y 120 segundos, se debe incrementar t de manera que alcance 500 en dicho tiempo. Gracias de antemano y saludos!
  3. Hola buenas! Soy Diego, me han asignado un trabajo para acabar la carrera que consiste en crear un simulador de trenes y centrarme en la dinámica del tren ya que yo estudio ingeniería mecánica centrada en ferrocarriles. Tengo que hacerlo entero y he encontrado este proyecto que está bastante completo y me puede servir como referencia el problema es que no entiendo lo que hacen los scripts no como modificarlos para quitar lo que me sobra y añadir lo que yo quiera. Necesito pasar esos scripts al tren y las vías diseñadas por mi. ¿Alguien me podría ayudar? No quiero que me hagan el proyecto pero mi universidad no me ayuda con Unity y se me está atascando. Busco incluso algún profesor particular que me ayude a entenderlo, si alguien se ofrece todo es negociarlo. Muchas gracias! Por favor ayuda a este pobre alumno que ya está bastante mal en la universidad
  4. Hola, estoy con un proyecto en el que, básicamente, hay un texto y unas acciones dadas entre las que elegir en pantalla. Llamémosles "situaciones". Mi idea es hacer un Random para elegir al azar qué otras situaciones van llegando al jugador. Dado que cada situación es distinta y tiene distintas opciones, lo pensaba separar en prefabs (Cambiar el texto, botones y demás desde el mismo objeto no me funcionó muy bien). El caso es que no quiero llenar la ventana de inspector de espacios para prefabs que adjuntar desde el proyecto. ¿Hay alguna forma de, desde el mismo script que controla cada situación, coger un prefab u objeto en general del proyecto? Por ejemplo, si cada prefab fuera una carta. He visto tutoriales para hacer cartas prediseñadas, que no son prefabs sino un objeto personalizado, guardadas en otra carpeta. Si tengo una carta con un botón de transformarse, y ese botón llama a un evento de script en el que genera un azar para cambiarla por una de entre 300 cartas que haya creado, ¿cómo se tiene que escribir el código? Porque poner 300 espacios para prefabs sería eterno (y supongo que imposible por límite de inspector). Lo que busco es una forma de que desde el mismo script lo busque y lo escoja, sea en la carpeta que sea, tal vez dándole el nombre con una ruta... Yo me imagino algo como la diferencia entre "Text texto", que luego le tienes que adjuntar el objeto text desde el inspector, y "GameObject.Find("texto")GetComponent<Text>()", que ahí cuando se ejecuta lo busca solito. Espero haber explicado bien este problema xD ¿Se puede hacer entonces?
  5. Buenas noches! Tengo un problemilla intentando cambiar una propiedad de un material. Estoy usando un componente TextMeshPro, y hay una propiedad (_LightAngle) que quiero cambiar en runtime. Estoy haciendo issueText.material.SetFloat(ShaderUtilities.ID_LightAngle, lightAngleStep); en un Update(). (obviamente estoy cambiando lightAngleStep en cada iteración, y la referencia al componente de texto es correcta). He probado, por si acaso, a llamar a la otra sobrecarga del método pasando directamente el nombre del parámetro en lugar de su identificador ("_LightAngle"), pero el resultado es el mismo. Lo que quiero es cambiar el ángulo desde el que le afecta la luz para darle un poco de sensación de movimiento al texto. Adjunto capturas. No sé si es que está pasando algo, o es que no es la forma de hacer lo que quiero. Se aceptan ideas 😁
×
×
  • Create New...