Jump to content
UnitySpain

Leaderboard


Popular Content

Showing most liked content since 03/26/2019 in all areas

  1. 3 likes
    Hola a todos, Soy nuevo en el foro, pero me gustaría mostrarles un proyecto personal en el que vengo trabajando hace 2 meses y estoy en los últimos retoques, no es un juego con fines de lucro, simplemente es para mi porfolio. Me gustaría saber su opinión El juego se llama Battle Machines: Logo Es una mezcla entre Twisted Metal y Mario kart, un juego únicamente multijugador local hasta para 4 jugadores. Por ahora solo tiene 2 modos de juego, batalla (todos contra todos o por equipos), y captura a la bandera. - Existen diferentes "Motores" que definen las características del auto, entre estas características esta el "Special" que es un arma única de cada motor, el "Special" se recarga con el tiempo, como una ulti del LOL o una herica de HOTS. Mi idea en un principio era hacer varios autos pero como el proyecto lo estoy haciendo solo yo, y modelarlos me llevaría mucho tiempo, decidí que lo que cambia es el "Motor" y no el auto. En el juego, debes recoger cajas para obtener un arma al azar, puedes juntar hasta un máximo de 3 más el Special, en total 4 armas, ademas puedes disparar una metralleta que tiene balas infinitas. Ademas existen esferas de energía, si juntas 10 tus próximas armas serán mas poderosas. Las "armas" son: Misil perseguidor Misil normal (un misil que viaja recto pero mas rápido) Bomba rebotadora (va rápidamente por el piso pero al chocar contra una pared rebota) Mina Turbo Campo de fuerza Tengo una versión para descargar, esta lejos de lo que me gustaría que fuera, pero así va por ahora: Link de descarga: https://icedcris.itch.io/battle-machines Acá les dejo algunas capturas de pantalla: https://ibb.co/L8cNgsj https://ibb.co/GP1xQ2p https://ibb.co/j4jm3vC https://ibb.co/VvGcnyL https://ibb.co/qdMxBG9 https://ibb.co/8rHXcJ3 https://ibb.co/7k0xZHw https://ibb.co/XtPfm2K https://ibb.co/BPYXDXM Cuéntenme que les parece.
  2. 2 likes
    Buenas! Vengo a presentar mi juego android. Es el primer juego que hago para móviles. A continuación, hago una breve descripción: El jugador controla a una ladrona que entra en una casa a robar los objetos. Tiene un minuto para robar un máximo de 4. Tras este "fugaz" tiempo, la alarma suena y la policía llega y ella deberá huir por una salida de las tres posibles (usando la lógica, se incremente la probabilidad de huir). Los objetos robados hacen referencia a algún videojuego, película, objeto relevante de la vida real, etc. Es un juego casual de coleccionismo. Está traducido a dos idiomas (ESP e ING). La música está hecha por un compositor. Podéis descargarlo desde google play store escribiendo "stealing in the house" ("robo en la mansión" en español) o pinchando en el siguiente link: https://play.google.com/store/apps/details?id=com.bejinestudio.stealinginthehouse Me encantaría escuchar vuestro feedback! Respondiendo a la encuesta propuesta: ¿Ese proyecto que has presentado en esta sección, está hecho con Unity3D? Sí. ¿Cuál fue el principal motivo que te impulsó a usar Unity3D, y no otro motor, para crear tu proyecto? Su facilidad y gratuidad. ¿Sigues creyendo que Unity3D fue la mejor opción para crear tu proyecto? Sí. ¿Tuvo tu juego alguna característica (o era de algún género) para la que Unity3D no fue pensado? Lo desconozco. ¿Qué aspecto de tu proyecto ha sido la más fácil de realizar gracias a Unity3D? No soy un experto, por lo que me abstengo. ¿Qué es lo que te ha costado más de hacer en tu proyecto? ¿Tenía Unity3D algo que ver con ello? Implementar algunas partes del código en lo referente a los objetos.
  3. 2 likes
    Hola muy buenas gente les quería mostrar mi primer juego de unity para android no es nada del otro mundo pero para mi fue un gran avance y me costo mucho durante el desarrollo fue todo una experiencia nueva para mi aprendí un montón de cosas sobre la marcha y la verdad que me gusto el resulta obviamente aun no esta terminado eso solo es un 50% de lo que me gustaría el juego pero ya vi que es jugable, espero que le guste y me den un apoyo positivo dándome opiniones de que mejorar si es mala idea un juego así. Si queréis descargarlo : https://play.google.com/store/apps/details?id=com.TG.VideoTube Gracias por leer =D
  4. 2 likes
    NOTA: Debo de traducir el vídeo y las imágenes, pero no me da la vida. “GetAssetPreview en UnityEngine”te brindará un método para crear vistas previas de tus GameObjects en pleno juego. GetAssetPreview está optimizado para la mayoría de las plataformas. Limpio, sencillo y fácil de entender, este asset contiene un archivo README y una documentación de la API donde podrás encontrar la mayor parte de los aspectos importantes de este asset. Contenidos principales: ⮚ Varios modelos usados como ejemplo. ⮚ Inspector personalizado y Tooltips. ⮚ Un shader de arcoiris para pruebas. ⮚ Varias utilidades como el marquee para textos (que puedes usar en otros proyectos), un sistema de rotación (que puede ser visualizado en la vista previa). ⮚ Una barra de progreso (útil para entender como funciona la carga asíncrona). Main features: ⮚ Soporta cualquier prefab. ⮚ Soporta texturas transparentes. ⮚ Soporta multiples objetos (puedes hacer vista previas de todos los objetos que quieras de un golpe!). ⮚ Soporta modificaciones (puedes hacer override de la clase "AssetPreviewer" para implementar efectos personalizados). Screenshots: https://imgur.com/a/k1PBFut Enlaces de relevancia: Sitio del equipo Canal de YouTube Soporte (abre tus tickets aquí) Enlace a la Asset Store ¡Espero que disfrutéis el asset! ¡Un saludo! ~~ United Teamwork Association ~~
  5. 2 likes
    Hola, el 99% de las veces es error del usuario, lo digo porque parece que todas las dudas son supuestos bugs de Unity cuando en realidad es error de uno. El collider funciona solamente para las físicas, es decir si no estás detectando triggers, colisiones o moviendo un rigidbody dinámico o simplemente usando la información de los contactos del RB el collider está de más. El navmeshAgent tiene todo lo necesario para moverse en un mavMesh no hace falta agregarle nada, pero si lo que querés es que responda a las físicas (como mencioné en el parrafo anterior) debés ponerle un collider... Unity se maneja con un concepto de composición, cada cosa tiene su behaviour, si querés que algo realice algo simplemente agregale el componente. La animación lo que hace es leer (tal cual) los valores de X campo y "hacerles override" (por decirlo de alguna manera, simplemente lee lo que le dice el clip de animación, pero parece que los usa para él solo y no te los deja modificar por código). No es lo mismo animar un obj, que animar al padre, ni setear una posicion al nito, hijo, padre, todos responde diferente, digo esto porque si hiciste la animación desde afuera es probable que tengas (o no, yo nunca tuve) problemas con la jerarquía, no lo sé, dependerá del software que usaste. Está muy bien que hayas subido una imagen completa. Se ve que el animator lo tiene directamente el objeto raiz (o el de mayor jerarquía), podrías probar: Lo más simple, move tu personaje a diferentes posiciones y fijate si siempre vuelve a la misma pos. Si el clip de animación dice que la pos será <3 , 0 , 5> (por ej) no importa nada más, esa será la posición. Si es esto puede ser que el obj esté esperando ir a (usualmente y por defecto) <0,0,0> . (casi sumado a lo anterior) Meter a este obj dentro de otro obj de mayor jerarquía vacío (es decir crearle un padre) y usar el nav mesh o collider en el padre, osea, dejar el animator en el modelo, tal cual lo tenés ahora. Saludos
  6. 2 likes
    El método "AlignAuxiliaryCameraWithViewport" está haciendo cosas como: GameObject[] newSelection = new GameObject[1] { auxiliaryCamera.gameObject }; probablemente estés generando cuadro a cuadro más basura que homero simpson como alcalde , medilo con el profiler pero igual, la funcionalidad que buscás no me suena tan rebuscada. Viendo el video (que todavía no entiendo la utilidad de tener una cámara que haga eso, quizás habría que entender el proceso de fondo) lo que hace probablemente funcione con algún mensaje o delegate estilo "OnSelectionChange" ( https://docs.unity3d.com/ScriptReference/EditorWindow.OnSelectionChange.html )una vez ocurre esto moves la cámara (que previamente catcheaste) a la posición correcta. Y el AlignObjectWithView (dedicado a la mainCamera) lo unico que hace es algo así: if( viewportCamera == null ) viewportCamera = SceneView.GetAllSceneCameras()[0]; if( mainCamera == null ) mainCamera = Camera.main; mainCamera.transform.position = viewportCamera.transform.position; mainCamera.transform.rotation = viewportCamera.transform.rotation; En tiempo real funciona, aunque no recuerdo si lo usé en un OnSceneGUI, Update (con [ExecuteInEditMode] ) o parecido, la verdad ya borré todo xD, osea sería una variante en tiempo real de "AlignObjectWithView", pero no es lo mismo que lo que aparece en el video.
  7. 2 likes
    MoveTowards nace de estar siempre haciendo (Ej con Vector3): public float deltaPos; //suponiendo que se elige el salto Vector3 start , end; ... float distanciaRestante = Distance( start , end ); "Move"( distanciaRestante < deltaPos ? distanciaRestante : deltaPos ); //Move incluye el vector de direccion // cuando se da que (distanciaRestante < deltaPos) la pos se iguala al destino La versión MoveTowards: Vector3 resultado = Vector3.MoveTowards( start , end , deltaPos ); Hola Nokiz, un par de cosas: Por gradual te referís a suavizado? si es así usá Lerp o SmoothDamp (o mejor aun curvas personalizadas de animación, pero quizás sea más dificil de implementar) Usar Update y luego LateUpdate en tu código no tiene tanto sentido, distinto si usaras físicas, en ese caso acumular inputs en update y resetearlas en FixedUpdate tiene sentido, pero acá no tanto (quizás sacaste la idea de algun ejemplo ?) Usar movetowards te asegura que el objeto llega siempre a destino, no es necesario andar midiendo si es menor a 0.001f o parecido Planteatelo como estados, todo es más fácil que andar poniendo if's por todos lados, está bien (por lo menos el nombre) que hayas puesto state, pero lo que menos hace eso es ser un estado, y sobretodo porque es un int, usá algo así: // Por ej fuera o dentro de la clase public enum MovementState { Idle, Moving } MovementState currentState; Vector3 currentTarget; --- (en Update/LateUpdate, etc) --- switch(currentState) { case MovementState.Idle: if( presionas la tecla esa ) { target = "el target que te guste" currentState = MovingState.Moving; } break; case MovementState.Moving: if( presionas la tecla esa ) target = target == start ? end : start; //se conmuntan los targets,start vs end if( se da la condición de arribo exitoso ) currentState = MovingState.Idle; Move(); break; } void Move() { // lo que haga tu método de movimiento aquí, por ej Lerp ... } (Lo hice al vuelo)
  8. 1 like
    Mírate DotTween, te ayudará a hacer esa secuencia que estás buscando...
  9. 1 like
    Está interesante para hacer según qué tipo de inventario. Muy buen trabajo.
  10. 1 like
    Enhorabuena por el esfuerzo que conlleva terminar un juego y sacarlo! Lamentablemente no lo puedo probar ya que no uso android. Te deseo mucha suerte.
  11. 1 like
    Hola, yo soy novato en Unity, y muy bien no se lo que estas haciendo pero... Visto como programador, te lanzo esta pregunta. Puede ser que el primer if de todos no se cumpla nunca?? Es decir que si tu tienes vida (me lo invento) 10 y te quitan 11 el HP sera -1 no 0 ya no entra en ese IF. No se si puede ser por eso pero si no controlas eso en ningún lado puede que vayan por ahí los tiros. Saludos!
  12. 1 like
    Me parece que es un problema con el PIVOTE del personaje. Gran respuesta @lightbug
  13. 1 like
    Primero no tengo experiencia con dialogos aunque supongo que muchos te van a decir JSON o xml, o incluso el mismo Unity con ScriptableObjects , no lo se, debe haber mejores métodos. A modo de ejemplo te dejo el que usa el juego "Celeste", no solo para dialogos incluso para elementos del menu, muy interesante incluso este txt tiene tantas cosas, hasta efectos de dialogo creados por caracteres especiales (creo!), obviamente necesitas (como todo formato propio) un parser especial para leerlo, no es como un JSON que todo está estructurado de tal manera que cualquier lector de JSON va a funcionar. En fin acá van algunos fragmentos, este es el "Spanish", pero están las versiones en otros idiomas: Opciones: # Options OPTIONS_TITLE= OPCIONES OPTIONS_CONTROLS= CONTROLES OPTIONS_RUMBLE_PC= Vibración OPTIONS_RUMBLE_PS4= Vibración OPTIONS_RUMBLE_XB1= Vibración OPTIONS_RUMBLE_NS= Vibración OPTIONS_KEYCONFIG= Config. Teclado OPTIONS_VIDEO= VÍDEO OPTIONS_FULLSCREEN= Pantalla completa OPTIONS_WINDOW= Escala ventana OPTIONS_VSYNC= Sinc. vertical OPTIONS_VIEWPORT_NS= Ajustar tamaño de la pantalla OPTIONS_VIEWPORT_PS4= Ajustar tamaño de la pantalla OPTIONS_VIEWPORT_XB1= Ajustar tamaño de la pantalla OPTIONS_VIEWPORT_PC= Ajustar tamaño de la pantalla OPTIONS_DISABLE_FLASH= Modo fotosensible ... etc .... # Assist Mode ASSIST_MODE_0= {# 44adf7}El modo Asistencia{#} te permite modificar las reglas del juego para reducir la dificultad.{n} Incluye opciones como reducir la velocidad del juego, hacerte{n} invencible o dar resistencia infinita y saltarse capítulos enteros. ASSIST_MODE_1= Celeste es un juego diseñado para presentar desafíos y ser accesible al mismo tiempo.{n} Creemos que la dificultad es esencial para la experiencia del juego.{n} La primera vez, recomendamos jugar sin el {# 44adf7}modo Asistencia{#}. ASSIST_MODE_2= No obstante, sabemos que cada jugador es diferente.{n} Si Celeste te resulta inaccesible por su nivel de dificultad,{n} esperamos que el {# 44adf7}modo Asistencia{#} te permita disfrutar de él. ASSIST_ASK= ¿Quieres jugar con el {# 44adf7}modo Asistencia{#}? ASSIST_YES= Sí ASSIST_NO= No ASSIST_SKIP= Ayudar{n}Omitir Dialogos: # ================================== IN-GAME DIALOG BEGINS HERE! ================================== # *** Prologue *** CH0_INTRO= Ya está, {+MADELINE}. Respira hondo. ¿A qué vienen tantos nervios? CH0_GRANNY= {anchor top} [MADELINE left normal] Perdón, ¿señora? {trigger 0 Madeline walks forward} [MADELINE left normal] El cartel de la entrada está roto...{n}¿Esta es la pista de la {+mountain}? [GRANNY right normal] Ya casi has llegado.{n}Está al otro lado del puente. {trigger 1 Madeline walks to the right of the house, turns left} [MADELINE right sad] Por cierto, deberías llamar a alguien por lo de la entrada. La cresta se ha derrumbado y casi me mato. {trigger 2 Granny laughs} [GRANNY left laugh] Si casi te matas en mi {>> 0.3}"entrada"{>>}{0.2}, puede{n}que la {+mountain} sea demasiado para ti. {trigger 3 Laugh Continues} [MADELINE right upset] {0.5}...{0.2}
  14. 1 like
    Sumando a lo de pioj, que la verdad me parece que los colores que elegiste están muy bien y demas, me gusta ese "brillo" (o como se llame) que aparece en los botones de la imagen de la izq, pero no aparece en la de la derecha, la del gameplay no?. Lo único que mi ojo penetrante no puede obviar es el sprite del botón de play/pause , fijate que está encogido y los bordes también, para todo elemento UI que se agrande/encoja usá mejor sprites en modo 9-slice y listo, todos los sprites se verán perfectos.
  15. 1 like
    No se si ayudará pero si querés tener pleno control de la animación revisá las curvas de animación, ahí podés tocar punto a punto y modificar sus tangentes también (a izq y der del punto). Eso funciona, pero ahora la pos y rotación deberías hacerla directamente en el pivot (el objeto vacío padre) y no en el hijo (por lo menos si querés ver los efectos del pivot, de lo contrario estarías igual que antes). Y ya que está ojo con animar la posición directamente del objeto de mayor jerarquia. Si tenes varios objetos similares (con igual animación) que, por poner un ejemplo, están animados de tal manera que se mueven hacia adelante 2 metros, como la posición es global (y no local, no tendría mucho sentido) todos los objetos se posicionaran en la misma posición a la hora de leer los datos del clip, por esto siempre que se anima la posición (y no es absoluta para la escena) conviene poner otro padre de referencia, por lo menos si querés repetir esa animación varias veces. Lo menciono solo por si tenés problemas de este tipo.
  16. 1 like
    Buenas, en cuanto a la pregunta que haces no conozco nada, pero igual tienes más suerte si colocas el hilo en el lugar adecuado, Mesa de ayuda. Lo reporto para que algún mod lo mueva.
  17. 1 like
    Buenas! Ha cundido mucho el pánico por internet con esto del artículo 13 de la UE, dejo un vídeo por aquí explicándolo mejor. En mi opinión creo que este artículo nos protege bastante, no sé si nos afecta en algo a los desarrolladores de videojuegos, pero nadamas que por el párrafo referido a la educación me parece un gran acierto.
  18. 1 like
    El mismo terrain de Unity quizás? Usa el de 2018.3, está mucho mejor que el viejo terrain, tenés stamps, capas separadas y reutilizables, todo en GPU supeustamente, más brochas, una calidad visual bastante mejor que el anterior. No se si acá estás confundiendo algunas cosas, eso que te da Unity es un límite para cada textura importada (cualquier de las dimensiones, alto o ancho), tus texturas son tus texturas, importá las de 4k (por ej) y ponele un limite de 256, o directamente redimensionalas manualmente en tu editor de preferencia, debería resultar en lo mismo (visualmente, no se en tamaño final). Lo que creo la mayoría te está diciendo es que con 3 o 4 texturas pequeñas y bien hechas podés hacerte tremendo terrain de los kilomentros que quieras, todo va en tener en cuenta y balancear algunas cuestiones, por ej: si elegís poner o no normal map u otros maps en cada una de las texturas, si realmente hace una diferencia visual. Te diría que se lo asignes a una capa que lo merezca como tierra o rocas si es hierba, pasto o arena se podría llegar a omitir. si querés que el mapeo UV sea de tal forma o de otra, supongo usando algun shader "inteligente", ruido, planar o triplanar(este ultimo queda excelente en terrains si la variación la querés crear incrementando las dimensiones, osea manteniendo el detalle vs perder detalle, incrementado la variación pero manteniendo las dimensiones (esta ultima puede que no resulte, el cerebro humano es extremadamente bueno detectando patrones), revisá el ejemplo de más abajo. La plataforma de destino, por supuesto. Lo de las dimensiones tan pequeñas no se, depende del detalle que quieras lograr para la distancia a la que ves al terrain la mayor cantidad de tiempo de gameplay. LA técnica de dibujado y la variación también importan, por ejemplo, usando 2 capas distintas con la misma información de textura ( usando una para albedo y otra para normal) de 512x512: - Usando una sola capa: >Capa 1 >Capa 2 usando 2 capas (más agradable de ver, no es perfecto pero lo hice en 4 segundos): Exagerando para ponerla en evidencia la diferencia: AMbas capas tienen distintas propiedades de material, haciendolas aun más aleatorias al ojo humano . Además todo esto lo podés hacer "on the fly" sin idas y vueltas. Quizás "La razón" por la que no usar programas de modelado para un Terrain, la iteración que perdés yendo y viniendo (y ni hablemos de texturizar) desde un programa externo al motor es inmensa, acá das un par de clicks y ya está, entiendo si estás tratando de hacer agujeros en el terrain o cosas similares, yo los hacía en blender pero justamente sufría de esto que menciono, texturas enormes y la falta de respuesta si pretendo modificar algo al toque. Puedo entender la frustración especialmente con Unity, pero puedo dar fe que con el nuevo terrain han mejorado algunas cosas, sobretodo cuando cambias las dimensiones el terrain se estira (antes se borraba toda la info), lo mismo mejoró con el tema del detalle, antes tocabas algo y *Chuf* ya no está todo el grass que te pasaste horas poniendo. También podés agregar terrains vecinos, programar tus brochas, estampar terrain y ver el resultado antes de dar click, capas y demás, esta mucho mejor. Saludos
  19. 1 like
    La texturización de un terreno no se basa en aplicar un material con tilling, deberias aprender a texturizar con técnicas de pintado, nunca vas a lograr hacer algo decente si pretendes que 1 textura se vea perfecta, aparte de la gran pérdida de rendimiento. Te darías cuenta de esto si entendieras cómo se calcula el pintado de una textura en la malla mediante el UV, de lo contrario si lo entiendes y aún así asumes los riesgos, no es una buena práctica Una textura de 256 a 512 para todos los mapas del material debería ser más que suficiente. Lógicamente para un resultado decente debes tener en cuenta la utilización de shaders especialmente creados para este fin. https://assetstore.unity.com/packages/tools/terrain/cts-complete-terrain-shader-91938
  20. 1 like
    Si tienes el proyecto guardado en un disco donde que esté habilitado para guardar un punto de restauración todas las carpetas tienen un snapshot, por lo que podrias volver a una versión de unos días atrás y no perder todo el proyecto. Para restaurar un archivo o una carpeta eliminados Abre Equipo. Para ello, selecciona el botón Inicio y luego, en Equipo. Desplázate hasta la carpeta que suele contener el archivo o carpeta, haz clic con el botón derecho en el archivo o carpeta y, a continuación, selecciona Restaurar versiones anteriores. Si la carpeta estaba en el nivel superior de una unidad, por ejemplo, C:\, haz clic con el botón derecho en la unidad y, a continuación, selecciona Restaurar versiones anteriores. Verás una lista de las versiones anteriores disponibles del archivo o de la carpeta. La lista incluirá los archivos guardados en una copia de seguridad (si usas Copia de seguridad de Windows para hacer copias de seguridad de los archivos), así como los puntos de restauración, si ambos tipos están disponibles. Nota Para restaurar una versión anterior de un archivo o carpeta incluidos en una biblioteca, haz clic con el botón derecho en el archivo o carpeta en la ubicación donde están guardados, en lugar de en la biblioteca. Por ejemplo, para restaurar una versión anterior de una imagen incluida en la biblioteca Imágenes pero almacenada en la carpeta Mis imágenes, haz clic con el botón derecho en la carpeta Mis imágenes y, a continuación, selecciona Restaurar versiones anteriores. Algunas versiones anteriores de los archivos Haz doble clic en una versión anterior de la carpeta que contiene el archivo o carpeta que deseas restaurar. (Por ejemplo, si un archivo se ha eliminado hoy, elige una versión de la carpeta de ayer, que debería contener el archivo). Arrastra el archivo o la carpeta que quieres restaurar en otra ubicación, como el escritorio u otra carpeta. La versión del archivo o de la carpeta se guarda en la ubicación que has seleccionado. Sugerencia Si no recuerdas el nombre exacto del archivo o carpeta o su ubicación, puedes buscarlo escribiendo parte del nombre en el cuadro de búsqueda de la biblioteca Documentos. Para restaurar un archivo o carpeta a un estado anterior Haz clic con el botón derecho en el archivo o la carpeta y, a continuación, selecciona Restaurar versiones anteriores. Verás una lista de las versiones anteriores disponibles del archivo o de la carpeta. La lista incluirá los archivos guardados en una copia de seguridad (si usas Copia de seguridad de Windows para hacer copias de seguridad de los archivos), así como los puntos de restauración, si ambos tipos están disponibles. La pestaña Versiones anteriores, con algunas versiones anteriores de archivos Antes de restaurar una versión anterior de un archivo o carpeta, selecciona la versión anterior y después haz clic en Abrir para verla y asegurarte de que es la versión que quieres. Nota No puedes abrir ni copiar versiones anteriores de los archivos creados por Copia de seguridad de Windows, pero puedes restaurarlos. Para restaurar una versión anterior, selecciona la versión anterior y, a continuación, Restaurar. Advertencia El archivo o carpeta reemplaza la versión actual guardada en el equipo y esta operación no se puede deshacer.
  21. 1 like
    y como lo descargaste? no es que está disponible por defecto en 2018 (shader graph + render pipelines)?
  22. 1 like
    Ademas de tener proyectos de prueba aprovecho para recomendar siempre usar un control de versiones como Gitlab o Github que te permiten dar marcha atrás en caso de que todo se rompa en tu ordenador. Hay que perder tiempo en aprender como funcionan pero te ahorran disgustos y ayudan a prevenir microinfartos XD.
  23. 1 like
    Sirva este post de ejemplo para la gente que no controla el programa y se pone a investigar a saco con nuevas funcionalidades que aún son experimentales, y encima lo hacen sobre un proyecto personal gordo, en lugar de hacerlo por separado en distintas escenas o proyectos de prueba, para no cargaros nada. Lamento lo que te ha pasado, pero nosotros os estamos aconsejando desde el día 0 que no hagáis estas cosas... El WaterPro es uno de esos shaders/scripts extraños que me he encontrado. En ocasiones se pone a crearse por sí solo e incluso crearse 1000 clones de sí mismo, porque sí. Mucho ojo con él... Recordad también que la Iluminación y Lightmaps,etc es una especialidad propia dentro de Arte. Puede que os interese antes estudiaros algunos tutoriales sobre cómo funciona y cómo se usa en Unity3D.
  24. 1 like
    Buenas gente, Estoy cacharreando con un juego de coger recursos como metal, fristal etc... y construir cosas y estoy aprendiendo a guardar el juego y mas o menos lo tengo pillado, ahora estoy intentando serializar objetos de la escena, en este caso los recursos que hay en la escena, para luego cargarlos en la posicion donde estaban. El caso es que parece que GameObjects no se pueden serializar, me sale un error que indica lo siguiente: Sabeis sino se puede o estoy haciendo algo mal? Es una pena porque seria muy util ya que meto los GameObjects en un array y luego al cargarlos los instancio. Un saludo!!
  25. 1 like
    En binario me parece que no podes poner un gameObject como serializable asi nomas, sino que tenes que ir guardando sus datos mas basicos de C# como float int string etc y luego juntarlos al cargar para alimentar a tus gameobjects con los datos. Yo uso JSON por su simpleza, podes guardar casi todo especifico de Unity, un gameObject, un transform, lo que sea. No es binario. Una de las cosas que tenes que hacer es encontrar lo minimo e indispensable que te va a ser de utilidad a la hora de guardar, aunque no se bien que es lo que estas haciendo. Por ejemplo yo tengo un scritp que el objeto que lo tiene se guardara, y tengo un enum que le digo el que se va a guardar de dicho objeto. Cada objeto con este script tiene un ID, ya que el id que proporciona Unity cambia de carga en carga de escena y no sirve. Entonces los datos a guardar indispensable son posicion (Vector3), existe o no (bool) ,rotacion (Quaternion) y floats relacionado a stats del Player. saludos
×