Jump to content
UnitySpain

fracto

Registrados
  • Content Count

    134
  • Joined

  • Last visited

  • Days Won

    5

fracto last won the day on August 21 2015

fracto had the most liked content!

Community Reputation

76 Excellent

About fracto

  • Rank
    Asiduo

Profile Information

  • Especialidad
    Artista

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Disculpad que haga una pregunta relacionada con este hilo.... Hacer un videojuego basado en un autor de novelas o en algún libro quiere decir que debería pedirle permiso para poder desarrollar el juego? O sólo si se va a sacar un rendimiento económico sobre él? Gracias!
  2. Tiene muy buena pinta, la verdad. Viendo el trailer me ha llevado a pensar en “alone in the dark” (madre que viejo soy ya jaja). espero que tengáis mucha suerte y éxito!
  3. Buenas! Gracias por tu interés pero desgraciadamente no he desarrollado sprites en 2D así que sería un estorbo más que una ayuda jeje Suerte con el proyecto!
  4. Buenas a tod@s! Soy arquitecto con conocimientos de modelado 3D (Blender y 3DStudio). Aunque tengo proyectos entre manos me gustaría acabar de “sacarme” provecho colaborando con otra gente en la realización de un videojuego. Creo que es mucho más placentero y siempre se aprende trabajando codo con codo con otras personas. Aunque he modelado en diversas ocasiones personajes (tanto en low como en mid poly) mi “punto fuerte”, debido a mi profesión, es el modelado de objetos, edificios, etc... Llevo muchos años en la comunidad y he estado trasteando Unity desde entonces, así que puedo ayudar con lo que he aprendido durante estos años (tanto aciertos como errores jeje). Si tenéis un proyecto interesante estaría encantado de formar parte o colaborar puntualmente. Dispongo de unas 2-3h al día durante la noche. En función del proyecto y del equipo se planteará si la colaboración debe ser o no remunerada. Si queréis contactar conmigo dejadme un privado y nos ponemos en contacto. un saludo!
  5. @CastGames muchas gracias por los ánimos y por ofrecerte a ayudarme. Yo también soy del mundillo del modelado así que esa plaza la tengo cubierta, de momento. Seguro que cuando tenga que avanzar en la producción necesitaré más manos jeje Este proyecto dada la complejidad que le quiero dar quedará un poco apartado pero ya estoy en el desarrollo de otra aventura gráfica de la que estoy desarrollando el guión. Me servirá como aprendizaje para posteriormente poder abarcar de la mejor maner The K’Ham.Os mantendré informados al respecto.
  6. Nuevos avances en el código, a partir de tutoriales que he visualizado. using System.Collections; using System.Collections.Generic; using UnityEngine; public class ClimbLadder : MonoBehaviour { Animator anim; public GameObject startPos, endPos; public float speed = 1.0f; public float distToLadder; float startTime, totalDistance; void Start() { anim = GetComponent<Animator>(); startTime = Time.time; totalDistance = Vector3.Distance(startPos.transform.position, endPos.transform.position); } void Update() { float currentDuration = (Time.time - startTime) * speed; float journeyFraction = currentDuration / totalDistance; this.transform.position = Vector3.Lerp(startPos.transform.position, endPos.transform.position, journeyFraction); //float distToBase = Vector3.Distance(transform.position, startPos.transform.position); //if(distToBase <= distToLadder) //{ // this.transform.position = Vector3.Lerp(startPos.transform.position, endPos.transform.position, journeyFraction); // anim.Play("ClimbLadder"); //} } } Cuando ejecuto el juego el personaje se situa en la base de la escalera y asciende correctamente hasta el punto superior de la misma. De momento no he añadido la animación, a ver si logro que funcionen primero los desplazamientos. La transición es suave. El siguiente paso que he realizado ha sido incluir las lineas del código que tenía anteriormente (indicados al lado de la doble //), para dar la condición de la distancia entre el personaje y el punto base de la escalera como me habías comentado, de manera que cuando estoy a una distancia X de la base se ejecute la acción de subir la escalera. Pues bien, aquí es donde ya me ha dado el problema. Cuando llego a la distancia indicada el personaje se me situa de repente en la parte superior, no hay transición suave entre los dos puntos. Adjunto un video para que puedas ver la diferencia. Climb Ladder ejemplo
  7. Pues he añadido las líneas correspondientes en el código void Update() { float distLadder = Vector3.Distance (transform.position, ladder.transform.position); if(distLadder < dist) { rb.isKinematic = true; rb.detectCollisions = false; Climb(); } } void Climb() { Vector3 move = new Vector3 (0,1,0) * climbspeed * Time.deltaTime; rb.MovePosition(transform.position + move); anim.SetBool("IsClimbing", true); } y sigue sin funcionar. El personaje ya no bota pero sigue sin subir. Sobre el utilizar un rigidbody es porque, para que el personaje funcione con el sistema del Adventure Creator, se pide que el personaje lo lleve.
  8. @lightbug ante todo agradecerte la ayuda. El código que he realizado actualmente es el siguiente: using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerExtraAnimations : MonoBehaviour { Animator anim; Rigidbody rb; public float dist; public float climbspeed; public GameObject ladder; void Start() { anim = GetComponent<Animator>(); rb = GetComponent<Rigidbody>(); } void Update() { float distLadder = Vector3.Distance (transform.position, ladder.transform.position); if(distLadder < dist) { Climb(); } } void Climb() { Vector3 move = new Vector3 (0,1,0) * climbspeed * Time.deltaTime; rb.MovePosition(transform.position + move); anim.SetBool("IsClimbing", true); } } Siguiendo los pasos que me has indicado voy a ir tratando cada uno de ellos mientras lo vaya solventando: Listo. He creado una función que me regula cuando activar la animación "Climb" en función de la distancia entre el player y la escalera. De momento la distancia la tengo dentro de una variable publica para ir ajustando su valor. La idea es crear un script que me funcione para las diferentes escaleras que tenga en el juego, sean más o menos largas. Vendrá luego. Se ejecuta la transición de Idle a Climb (ajustaré las transiciones desde el animator) pero el personaje no asciende. He visto algunos videos sobre cómo mover un objeto con rigidbody y debería funcionar. Inicialmente he pensado que hubiera una interferencia de colisión entre el player y la escalera, así que he marcado una distancia lejana para que se activara la animación. Pues bien, una de las razones era esta. Pero bueno, el personaje no asciende de manera continua sino que "bota" como una pelota jejeje así que supongo que en estas dos lineas debe haber un error Vector3 move = new Vector3 (0,1,0) * climbspeed * Time.deltaTime; rb.MovePosition(transform.position + move); ¿A que puede deberse?
  9. @francoe1 gracias por el consejo. Lo que he codificado hasta ahora lo he ido sacando de diferentes videotutoriales pero al no tener conocimientos de programación cuando me quiero salir de lo que se explica ya me pierdo... @lightbug gracias por la ayuda, pero no he entendido nada jajaja como comenté mi nivel de programación es nulo. Todo el sistema de movimiento del personaje ya lo tengo configurado ya que se encarga directamente el asset que comentaba, Adventure Creator. Como es un asset específico para aventuras gráficas no viene incluido el poder utilizar otro tipo de acciones tales como las que quiero realizar. Las acciones no quiero que sean para ejecutar con controles durante el juego sino que sean a modo de cinemáticas programadas, por lo que entiendo que debe ser mas sencillo (el juego es tipo point&click). Por ejemplo, para la acción de subir las escaleras tengo claro el esquema de lo que debe hacer el personaje: - El personaje camina hasta la escalera y se pone de frente. Esto ya se ejecuta durante el juego. - Se ejecuta la animación de subir las escaleras, así como el personaje va ascendiendo. Aquí tengo el problema, no se cómo indicar al personaje que ha llegado a la base de la escalera y puede empezar a ejecutar la animación. Por otro lado, el personaje no asciende correctamente. - Cuando llego a la parte superior de la escalera, mediante un trigger le comunico al personaje que deje de ejecutar la acción de subir las escaleras y se ejecute la animación de llegada desde la escalera. Pienso que es lo más simple. ¿Cómo lo ves?
  10. Buenas a todos, estoy desarrollando una aventura grafica. Para ello estoy usando el asset Adventure Creator (AC), un personaje también comprado del asset (temporal hasta colocar el definitivo) y animaciones descargadas desde Mixamo. A parte de las típicas animaciones como andar, correr, hablar ... que puedo gestionar con AC me gustaría que el personaje pudiera realizar otras acciones como subir una escalera vertical, escalar una cuerda, empujar objetos... He preguntado en el foro de AC y el creador me comenta que este tipo de animaciones se deben gestionar a parte mediante scripts. Así que me he puesto a investigar un poco y he encontrado tutoriales que hablan sobre controlar animaciones mediante scripts pero, debido a mi nula capacidad de programación, no acabo de conseguir lo que quiero. Por ello necesito de vuestra ayuda. He creado un archivo donde gestionar todas estas acciones "extra" que quiero utilizar, y he querido empezar por gestionar la animación de subir escaleras verticales. using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerExtraAnimations : MonoBehaviour { Animator anim; Rigidbody rb; CapsuleCollider ccol; public bool IsClimbing; Vector3 tempPos; // Use this for initialization void Start() { anim = GetComponent<Animator>(); rb = GetComponent<Rigidbody>(); ccol = GetComponent<CapsuleCollider>(); IsClimbing = false; } // Update is called once per frame void Update () { if(IsClimbing) { IsClimbing = true; anim.SetBool("IsClimbing", true); tempPos = transform.position; anim.Play("ClimbLadder"); tempPos.y += 0.01f; transform.position = tempPos; } } En el Animator Controller he creado un parámetro IsClimbing que, cuando es TRUE, ejecuta la animación de subir la escalera. Pues bien, tal como lo tengo no funciona. Si utilizo las cuatro lineas siguientes dentro directamente del Update(), fuera de cualquier condicionante, si se ejecuta la animación pero es continua, no la puedo controlar a mi antojo. tempPos = transform.position; anim.Play("ClimbLadder"); tempPos.y += 0.01f; transform.position = tempPos; Por otro lado, me encuentro también con la duda de cómo indicar que, cuando el personaje llega a la parte superior de la escalera se ejecute la animación ClimbTop. Entiendo que debe ser utilizando algún Collider verdad? Adjunto captura del Animator Controller por si puede servir de ayuda. Muchas gracias de antemano!
  11. Hola de nuevo a toda la comunidad!! Después de otro período de desconexión (cada vez son más largos, me debo estar haciendo muy mayor jajaja) vuelvo con energías renovadas para, ahora sí, llevar a cabo este juego que llevo arrastrando desde hace tanto tiempo. Llevo una temporada reescribiendo el documento de diseño del juego (GDD) con todas las decisiones que he ido tomando en este tiempo y ya viendo claro la dirección que quiero tomar y el enfoque que voy a darle es el momento de empezar a trabajar. Seguiré con la misma idea básica que he tenido siempre: una aventura gráfica. Las anteriores pruebas me convencieron, de manera que seguiré trabajando en realizarlo en 3D de baja poligonización, ayudado por el asset "Adventure Creator" que me permite poder trabajar todos los elementos característicos de una aventura gráfica sin tener que aprender a programar, y algún que otro asset extra. Espero en poco tiempo poder enseñaros material nuevo. Un saludo!
  12. @FNP seguiré atento a tu nuevo post por si hay algo en lo que pueda ayudarte. De momento no me he encontrado con ningún problema importante con AC pero supongo que es debido a que mi escenario es acotado, al hablar de un Terrain ya ahí no he entrado aún. Puede que me lo encuentre cuando haga un exterior pero como son acotados posiblemente los modele directamente... un saludo!
  13. @lightbug lo único que he realizado es crear un navmesh inclinado superpuesto en la escalera, de esa manera lo he unido al resto. @FNP si tienes conocimientos avanzados de Unity puede que este asset se te pueda quedar corto. Ya comenté que yo ando justo de conocimientos de Unity y sobretodo de programación. Con este asset me estoy preocupando mucho más de modelar y animar que es lo que domino y con AC creo toda la configuración de interacciones, acciones, variables, etc. Supongo que como todo y en función de lo que necesites puede o no puede serte de ayuda.
  14. Buenas @FNP, para realizarlo seguí este tutorial desde la web (no se si es el que has seguido)... https://adventurecreator.org/tutorials/unity-navigation-pathfinding A mi me ha funcionado perfectamente, fui añadiendo tantos NavMeshSegment como necesitaba y los fui solapando un poco entre ellos hasta crear las zonas de paso que yo quería. En mi caso incluso he tenido que añadir un Navmesh inclinado para subir escaleras y todo bien. Recuerda que todas tus NavMeshSegments deben estar con la opción "Navigation Static". Verás que cuando bakeas en el menú "Navigation" tal como te indica en el tutorial se te cambiará todo de color (a mi se me puso morado no verde como se indica ahí). Espero que te ayude!
  15. @TheBullet te felicito enormemente. He seguido el post de este proyecto y es un juego súper profesional. Espero que tengas mucha suerte, te lo mereces!!
×
×
  • Create New...