Jump to content
UnitySpain

nightborn

Registrados
  • Content Count

    64
  • Joined

  • Last visited

Everything posted by nightborn

  1. Shaders. No sé mucho de ellas, pero quizá esto te sirve https://alastaira.wordpress.com/2014/12/27/using-the-stencil-buffer-in-unity-free/.
  2. La verdad es que es una pena que no haya nadie que quiera colaborar... de hecho, en el foro entero hay poca gente que quiera colaborar. Se sacarían muy buenos proyectos realmente. Bueno, a ver si hay suerte y alguien responde... yo estoy en uno ya, por eso no creo que pueda unirme, pero sino ten por seguro que lo haría.
  3. Pues mira, aquí lo tienes ya integrado. Eso es justo lo que buscaba! Muchas gracias a ambos por responder!
  4. No, no. Lo que quiero decir es insertar LUA en el juego para que los jugadores puedan programar desde LUA, no programar el juego con LUA. No se si me explico. El MOD de Minecraft que dije (ComputerCraft) tiene esto que digo. Permite a los jugadores que, desde un PC añadido por el mismo MOD, puedan programar y crear sus juegos, aplicaciones... Dejo vídeo: Pues esto es a lo que me refiero: insertar LUA para que los jugadores puedan programar desde un GameObject. También quiero decir que he pensado ya algunas formas, pero no sé si es así como se hace (de hecho, no creo). He pensado en hacer una zona de texto para escribir, y una vez ejecuten un programa, lea los scripts y los interprete, es decir, que por ejemplo, vaya leyendo linea por linea, y con condicionales vaya sabiendo que tipo de linea es, etc.
  5. Buenas a todos, Hoy traigo una pregunta curiosa, y rezo por que alguien tenga alguna idea sobre cómo se hace esto, dado que no es muy común. Bueno, no sé si conocerán un juego llamado Minecraft. Es algo famoso ya. El caso es que hay un MOD llamado "ComputerCraft", el cual trata de ordenadores, como es de lógica por su nombre. El caso es que estos ordenadores son programables, y utilizan LUA como lenguaje de programación. Esto me ha hecho pensar algo: ¿como hacen para meter el lenguaje de programación en el juego para poder programar los ordenadores, y hacer así programas, juegos, y hasta sistemas operativos? ¿Alguien tiene alguna idea de cómo hacer esto? ¡Gracias de antemano!
  6. Bueno, podrías hacer lo siguiente: Creas un boolean llamado, por ejemplo, "lookingLeft".Gracias al eje Y que contiene el LookAt, puedes saber si está mirando a la izquierda o derecha:Si está mirando a la izquierda, lookingLeft es true.Si está mirando a la derecha, lookingLeft es false.Si lookingLeft es true...El eje de rotación Y del cuerpo del personaje obtiene un valor de 180 grados....y si es false...El eje de rotación Y del cuerpo del personaje obtiene un valor de 0 grados.Debería ser algo así. No tengo ningún script creado, por lo que no puedo pasarte nada más que la lógica Lo siento, y espero que te sirva de ayuda!
  7. Me falta la clave de cifrado Puedes conseguirla haciendo clic derecho en el archivo -> "Obtener enlace", y le das a "Clave de cifrado". https://gyazo.com/9bd3acae271383ccb2baba8ddf9dd70c
  8. Este post puede dar mucho juego! Te invito a que si consigues finalizar tu proyecto, nos muestres el resultado. Es algo diferente que se puede hacer con Unity!
  9. Puedes hacer algo rudo con scripting puro: Creas un booleano llamado, por ejemplo, "animStarted", y un método llamado, por ejemplo, animFinished().Al iniciar la animación, "animStarted" toma el valor de true.En el método Update, si animStarted es true...Si animacion.isPlaying es false, se llama al método animFinished() y animStarted toma el valor de false.Algo así debería ser. Espero que te ayude! PD: Ahora miro el tema de los eventos con animaciones, que lo utilicé hace tiempo y no me acuerdo muy bien como funcionaban
  10. No me deja descargarlo, se queda la ventana en blanco. Súbelo a mediafire o mega y pasame link
  11. Por ejemplo, en blender se le pueden poner materials. Le pones uno y en Unity, al importar, le pones la textura, el normalmap, etc. en el material correspondiente
  12. Hola a tod@s! Bueno, he trabajado sobre un sistema de click&drag, y la verdad es que con OnMouseDown ha funcionado bastante bien. La duda que tengo ahora es si habría sido mejor hacerlo en Physics.Raycast. Pensándolo bien, el método OnMouseDown es un evento que detecta si se hace clic sobre el objeto o no, ¿no? Por lo que llevaría a más procesamiento que el Physics.Raycast. Explicándome mejor: si tienes 5 objetos con un script el cual tenga OnMouseDown, será como crear 5 condicionales. Sin embargo, al crear un Physics.Raycast, sería como crear 2 condicionales (saber si se ha pulsado un objeto, y saber cual se ha pulsado). Así, ¿cual creéis/sabéis que es mejor? ¡Gracias de antemano!
  13. Asegúrate de que los pivotes de los engranajes están bien colocados en Max. Si es así, asegúrate también de que no son miembros de ningún objeto, por lo que efectivamente rotarían sobre su eje. Si puedes pasarnos una imagen de la jerarquia de los engranajes estaría bien, así podríamos descartar un fallo en ella.
  14. Yo como he dicho participaría, y la verdad es que quiero que haya algo así, más que nada por que sería interesante ver los proyectos de cada uno, como rinden y demás (incluidos los de uno mismo!). Pero claro, también hay gente que como decís no participaría, y para que haya un solo grupo que lo haga, pues no es muy rentable (y mucho menos rentable sería si incluso, como dijiste, tendríais que preparar todos los recursos y materiales necesarios para hacerlo!)...
  15. nightborn

    Movimiento

    Se pueden realizar algunas animaciones vía script (pero es más complicado que hacerlo con el animador de Unity). Lo que podrías hacer es lo siguiente: Creamos dos booleanos: animStarted & animReturning, por ejemplo.El arma se inicia con una rotación (-45 en este caso, en el eje Z como tu bien dices).Creas un condicional: si se pulsa el click para disparar, empieza la animación (animStarted en true).En el Update:Si animStarted es true, se rota el arma en el eje Z la cantidad de "+1 * velocidadRotacion * Time.deltaTime".Cuando se llega a la rotación de 45 grados en el eje Z, se activa el retorno del arma (animReturning en true).Si animReturning es true, se rota el arma en el eje Z la cantidad de "-1 * velocidadRotacion * Time.deltaTime".Cuando se llega a la rotación de -45 grados en el eje Z, se desactiva tanto animReturning como animStarted.Supongo que más o menos el sistema debería ser algo así.
  16. La verdad es que nunca he usado el LOD Group, pero en cuanto sepa algo te digo! Aun así, te digo que los terrenos los modelo todo junto (pero solo el terreno, ya que los edificios y otros elementos los modelo por separado y luego los añado). EDITO: De todas formas, aunque funcione solamente con meshes completas, pongamos que creas un terreno con las montañas en diferente modelo (es decir, un valle por ejemplo en un modelo, y las montañas en otro). El LOD Group, si lo asignas a ambos modelos, trabajaría igual para los dos, ¿no? Entonces, ¿no se reduciría el número de polys?
  17. Yo personalmente me apunto, y sobre lo de participación estaría dispuesto. Además, creo que esto ayudaría a todos a mejorar con el manejo de Unity, scripting y demás, así que os aseguro que yo lo haría!
  18. Jajajajaja, vaya, gracias por lo del modelo! Sí, la verdad es que no se utilizar mucho la nueva UI, pues aún no me inicié demasiado en ella (contando además que no tuve mucho tiempo libre para utilizar Unity!), pero debería hacerlo supongo Gracias por la información también!
  19. De nada! Para eso estamos Me alegro de haberte ayudado!
  20. Yo personalmente, utilizo Blender para todo, inclusive para terrenos. Me es muchísimo más fácil y manejable que el Terrain de Unity, además de que hay algunos tipos (como el LowPoly o estilo cúbico) que no te permite crear el propio Terrain de Unity. Sobre el tema de árboles y demás, puedes añadirlos uno por uno, a mano. Es cansado, pero bueno, es lo que hay xd. Y el WindZone podrías crear simplemente una animación e importarla. De hecho, creo que cargaría menos que el WindZone de Unity. Ahora, sobre el LOD, existe un componente llamado "LODGroup" por lo que he visto, que podría ayudarte. Existe un tema sobre esto en el foro de Unity3D oficial. Te dejo el link aquí por si te interesa pasarte! http://answers.unity3d.com/questions/405323/blender-world-to-unity-good-idea.html
  21. Creo que, desafortunadamente, estoy contigo xD. De todas formas, lo empleado es el modelo 3D, y como ves, se ve cortado en una resolución tan pequeña. Aún así, no creo que haya ningún problema el modelo antes que un GUI, ¿verdad? Dado que, pensándolo bien, no existe pantalla que horizontalmente sea tan pequeña... ¡Por cierto! Quiero decir que con lo de "GUI" no me refiero al objeto "GUI.[...]" sino al "Graphic User Interface", es decir, el nuevo UI va incluido
  22. Buenas noches! Bueno, antes de irme a dormir he estado toqueteando un poco Unity y Blender en un proyecto de pruebas que tengo. Mientras lo hacía, me ha surgido una duda: que es mejor para un juego isométrico, ¿una GUI o un GameObject? Obviamente esto depende del objetivo del juego: si es un juego, por ejemplo, de plataformas, evidentemente será un GameObject, pero si no lo es, entonces ahí está la duda. Me intentaré explicar mejor, por si no me entienden. Tengo creado un modelo de un campamento. Lo he añadido a Unity y he puesto en la cámara el modo de vista isométrica, tal que así (no os riáis mucho, que no se modelar xd): Mi idea es utilizar el campamento para reclutar algunos soldados dentro del juego, entre otras funciones. Pero me ha dado por tocar la resolución un poco, y he visto que, almenos en el editor de Unity, al hacer más pequeña la pantalla en ancho, el modelo se puede ver cortado, es decir, no se verá del todo: Entonces, me pregunto si esto pasará también en el juego una vez buildeado o no. Si es así, ¿entonces sería mejor usar una imagen en vez del modelo en sí? ¡Gracias de antemano, y buenas noches de nuevo!
  23. Para acceder a las opciones de scripts/otros componentes, como rigidbodies y demás, utiliza el GetComponent<Component>. Por ejemplo: En C#, para desactivar un script: public GameObject objWithMeshRenderer; // Objeto con el componente MeshRenderer public void Update() { if(Input.GetKeyDown(KeyCode.D)) DisableMR(); else if(Input.GetKeyDown(KeyCode.E)) EnableMR(); } private void DisableMR() { objWithMeshRenderer.GetComponent<FirstPersonController>().enabled = false; } private void EnableMR() { objWithMeshRenderer.GetComponent<FirstPersonController>().enabled = true; }Para desactivar un rigidbody, simplemente debes marcarlo como "kinematic", por lo que accederías a él con GetComponent y marcas el boolean 'isKinematic' como 'true'.
  24. En los PlayerPrefs puedes guardar distintos datos serializados (entre strings, o cadenas de carácteres, hasta ints, o números enteros, o bien floats, o números decimales). Para hacerlo, debes usar las siguientes opciones: SetFloat (para guardar decimales): http://docs.unity3d.com/ScriptReference/PlayerPrefs.SetFloat.html SetInt (para guardar enteros): http://docs.unity3d.com/ScriptReference/PlayerPrefs.SetInt.html SetString (para guardar textos): http://docs.unity3d.com/ScriptReference/PlayerPrefs.SetString.html GetFloat (para cargar decimales): http://docs.unity3d.com/ScriptReference/PlayerPrefs.GetFloat.html GetInt (para cargar enteros): http://docs.unity3d.com/ScriptReference/PlayerPrefs.GetInt.html GetString (para cargar textos): http://docs.unity3d.com/ScriptReference/PlayerPrefs.GetString.html En cada enlace te explica cada cosa, así que no deberías tener problemas para entenderlo. Es muy fácil, te pondré una situación: -- Imagínate que tenemos una situación donde hay un valor entero (int), cuya variable es llamada numeroEntero, y podemos aumentarlo o disminuirlo con dos botones (+ y -). Luego tenemos un botón para guardar el valor en PlayerPrefs. Al pulsar el botón, se ejecuta lo siguiente: PlayerPrefs.SetInt("ValorNumeroEntero", numeroEntero);Y para cargar la variable, en el método Start o Awake, escribimos lo siguiente: numeroEntero = PlayerPrefs.GetInt("ValorNumeroEntero");
×
×
  • Create New...