LERP en Unity | Español

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 ธ.ค. 2024

ความคิดเห็น • 79

  • @Indierama
    @Indierama  11 หลายเดือนก่อน +3

    CURSO de Unity y C# para principiantes (Diciembre 2024):
    www.udemy.com/course/unity-y-c-fundamental-desarrollo-de-videojuegos-2d/?couponCode=INDIERAMA2024S
    Si REALMENTE querés apoyar al canal, asegurate de comprar con el link, sino Udemy se queda con la mayor parte de la venta.

  • @lucho0957
    @lucho0957 ปีที่แล้ว +4

    Gracias vato me encanta tu contenido, me cae que aprendo mas que en toda la universidad XD

    • @Indierama
      @Indierama  ปีที่แล้ว +1

      Jajaja aguante TH-cam y el contenido de calidad!! Muchísimas gracias!

  • @blackraven3181
    @blackraven3181 7 หลายเดือนก่อน

    I honestly don't know why this video was recommended to me. I don't even speak Spanish but you're explaining this very well haha.

    • @Indierama
      @Indierama  7 หลายเดือนก่อน

      😂😂 Thank you so much!

  • @albertolf
    @albertolf 2 ปีที่แล้ว +3

    Increíble trabajo, bien explicado y sin irte por las ramas. Grandísimo!

    • @Indierama
      @Indierama  2 ปีที่แล้ว

      Muchas gracias Alberto! 🙌🙌

  • @framex_media
    @framex_media ปีที่แล้ว

    Excelente tutorial, directo al punto con total claridad, sos un gran docente, muchas gracias

    • @Indierama
      @Indierama  ปีที่แล้ว

      Muchísimas gracias 🙂🙂

  • @alexito897
    @alexito897 2 ปีที่แล้ว

    tus videos son una maravilla

    • @Indierama
      @Indierama  2 ปีที่แล้ว

      Muchísimas gracias Alexander! 🙌🙌

  • @arielgimenez_95
    @arielgimenez_95 2 ปีที่แล้ว +1

    Espectacular video, gracias!

    • @Indierama
      @Indierama  2 ปีที่แล้ว

      Muchas gracias Ariel! 🙌🙌

  • @inadaptadoart9170
    @inadaptadoart9170 2 ปีที่แล้ว

    Estos tutoriales valen oro

    • @Indierama
      @Indierama  2 ปีที่แล้ว

      Gracias!💪💪

  • @alfredomarin804
    @alfredomarin804 5 หลายเดือนก่อน

    Exelente video 10/10 nuevo sub, mucho éxito para ti y tu canal, saludos!

    • @Indierama
      @Indierama  5 หลายเดือนก่อน

      Muchísimas gracias Alfredo!

  • @felipeagudelo76
    @felipeagudelo76 ปีที่แล้ว

    Excelente video parcero muchas gracias 👍

    • @Indierama
      @Indierama  ปีที่แล้ว +1

      Muchísimas gracias Felipe!

  • @NelsonSKA
    @NelsonSKA 2 ปีที่แล้ว

    Excelente material!!!

    • @Indierama
      @Indierama  2 ปีที่แล้ว

      Gracias Nelson! 💪💪

  • @chichipio2
    @chichipio2 ปีที่แล้ว

    Gracias! Re bien explicado!

    • @Indierama
      @Indierama  ปีที่แล้ว

      Muchas gracias! 🙌🙌

  • @edgarmundov
    @edgarmundov 6 หลายเดือนก่อน

    Mil gracias... lo pude aplicar para Unigine (casi no hay tutoriales para Unigine).

    • @Indierama
      @Indierama  6 หลายเดือนก่อน +1

      Muchas gracias Edgar! Nunca he usado ese motor pero me alegra que te haya servido!

  • @Vector2
    @Vector2 2 ปีที่แล้ว

    ta bueno, bien explicado y me ha ayudado mucho. gracias!

    • @Indierama
      @Indierama  2 ปีที่แล้ว +1

      💪💪💪

  • @AN_DigitalDev
    @AN_DigitalDev ปีที่แล้ว

    Gracias por la info!
    Saludos

  • @Chinz3r0
    @Chinz3r0 2 ปีที่แล้ว

    Muy bueno, muchisimas graciass

    • @Indierama
      @Indierama  2 ปีที่แล้ว

      Gracias a vos por el apoyo!

  • @ferminverdolini2559
    @ferminverdolini2559 2 ปีที่แล้ว

    Muy buen contenido y muy bien explicado te banco un montón. vendría bien un video de corrutinas

    • @Indierama
      @Indierama  2 ปีที่แล้ว +1

      Muchas gracias Fermín!, tema que me piden mucho y aun no he subido video 😅. Espero pronto poder hacer un video del tema.

  • @ByBase
    @ByBase 2 ปีที่แล้ว +1

    Cabeza, son re utiles tus tutoriales. Creo que un tema importante de tocar serian los Casts, ya sea collider cast o raycast. Gracias!

    • @Indierama
      @Indierama  2 ปีที่แล้ว +1

      Muchas gracias! Uno de Raycasts hace bastante que tengo ganas de hacer, probablemente sea uno de los siguientes!

  • @gaultierhardrick9455
    @gaultierhardrick9455 2 ปีที่แล้ว

    Muchas gracias, me sirvio muchisimo Excelente explicacion y excelente contenido

    • @Indierama
      @Indierama  2 ปีที่แล้ว

      Muchas gracias! 🙌🙌

  • @SAN-mi8tv
    @SAN-mi8tv 2 ปีที่แล้ว

    Hola, buenas, muy buen video

  • @Sebastian-kf6sp
    @Sebastian-kf6sp 2 ปีที่แล้ว

    se agradece el contenido y muy buena explicación!

    • @Indierama
      @Indierama  2 ปีที่แล้ว

      Gracias Sebastián por estar siempre atento al contenido! 🙌🙌

  • @Brunales58
    @Brunales58 2 ปีที่แล้ว +1

    Recién estoy empezando en unity y vi varias veces el uso de las corrutinas, estaría bueno que dedicases un video a explicarlas desde 0. Se que hay varios videos que pueda encontrar en youtube pero la verdad que ninguno me dejó claro el concepto. En cambio de los varios videos que vi tuyos, entendí todo y no me perdí en ninguna parte y creo que me podrías ayudar a mi como a muchas personas más. Un saludo.

    • @Indierama
      @Indierama  2 ปีที่แล้ว +3

      Hola, ya varias veces me plantee hacer un video sobre corrutinas (si bien ahora existe una mejor opción: async /await de la cual seguramente también haga otro), así que cuando lo haga, voy a intentar que sea lo mas comprensible posible 😎. Saludos y que sigas aprendiendo mucho más!

    • @Brunales58
      @Brunales58 2 ปีที่แล้ว

      @@Indierama dale, activo la campanita😉

  • @marcosmendoza2819
    @marcosmendoza2819 2 ปีที่แล้ว

    Muy buenos videos te banco mucho y agradezco por el contenido, simplmente gracias

    • @Indierama
      @Indierama  2 ปีที่แล้ว

      Muchísimas gracias por el apoyo Marcos!

  • @eduardol6201
    @eduardol6201 2 ปีที่แล้ว

    Buen contenido y buena explicación. Saludos!

    • @Indierama
      @Indierama  2 ปีที่แล้ว

      Muchas gracias Eduardo! Saludos!

  • @gameroche
    @gameroche ปีที่แล้ว

    🕹 gracias full video

  • @tom_romano3256
    @tom_romano3256 2 ปีที่แล้ว

    sos re piola te quiero

  • @MisterAlexOficial
    @MisterAlexOficial ปีที่แล้ว

    7:44

  • @pperimeri9575
    @pperimeri9575 2 ปีที่แล้ว +3

    No consigo hacer la rotación de vuelta como con la posicion. ¿Tengo que pasar el Vector3 targetRotation a Quaternion como en la corrutina LerpRotation? Si pongo Quaternion.Euler(targetRotation)=startRotation; me dice que "la parte izquierda de una asignacion debe ser una variable, propiedad o indizador.

    • @Indierama
      @Indierama  2 ปีที่แล้ว +5

      Hola! Efectivamente no podés hacer una asignación como esa. Del lado izquierdo va siempre la variable. Recordá que Quaternion.Euler(targetRotation) es un valor (un cierto quaternion). No podés asignar una variable a un valor. Es como si escribieras algo como:
      1 = miVariable;
      Te dejo el código de como hay que hacerlo para que lo analices:
      private void SwitchTargetRotation()
      {
      targetRotation = startRotation.eulerAngles;
      startRotation = transform.rotation;
      }
      // Deberías hacer su respectivo llamado
      Si recién estás empezando con Unity y C#, te dejo una pequeña guía para principiantes que tengo, quizás pueda ayudarte:
      th-cam.com/play/PLVF6T_Yk3AkZfdulmQRutk0RgXOXCd4VQ.html
      Saludos y contame luego como te fue!

    • @pperimeri9575
      @pperimeri9575 2 ปีที่แล้ว

      @@Indierama ¡Buenas! Llevo pocos meses y soy algo inútil en esto, no sé hasta dónde llegaré. Hay tantas cosas que aún no sé, tantas conversiones y todo con sus reglas que no se hace fácil.
      Ya va perfecto. No sabía lo de .eulerAngles, ¿se supone que compatibiliza el Quaternion startRotation con el Vector3 targetRotation, cuál conversión?(al poner el puntero encima en el Visual Studio aparece "Vector3 Quaternion.eulerAngles").
      Aún así me informaré sobre eulerAngles, ahora estoy intentando informarme bien con los Lerps.
      Muchas gracias por tus videos/tutoriales :)

    • @Indierama
      @Indierama  2 ปีที่แล้ว +2

      @@pperimeri9575 Esto puede ser duro si nunca antes habías programado. Pero con el tiempo, de a poco, se va a transformar en tu segundo lenguaje y vas a comprender todo con mayor claridad. Un poco de paciencia e intentar practicar siempre que puedas💪.
      El .eulerAngles vendría a convertir el quaternion a ángulos de Euler (los ángulos de siempre, que van de 0 a 360 grados). Justamente, estos ángulos están representados por un Vector3, osea un ángulo para cada uno de los ejes (x, y y z). Al ser del tipo Vector3 ahora si te los dejaría asignar a targetRotation.

    • @pperimeri9575
      @pperimeri9575 2 ปีที่แล้ว +1

      @@Indierama Muchísimas gracias por tus respuestas. Hoy he aprendido algo nuevo y valioso gracias a tí :D

  • @sergiopamplona1676
    @sergiopamplona1676 2 หลายเดือนก่อน

    Yo tengo un problema, uso (transform.localEulerAngel.Slerp(origen, destino, velocidad)), no me rota el objeto "animado", si no que me rota el porcentaje de velocidad
    Tambienn he probado con Lerp, me lo rota por completo, por sin hacer la animacion
    Apartir de Corrutinas hay algun otro metodo
    Gracias

  • @conradojosepresti9964
    @conradojosepresti9964 2 ปีที่แล้ว +1

    hola, soy nuevo programando y la verdad quiero saber como escalar un objeto en el tiempo y acomodar tu posicion a la vez, cualquier ayuda me sirve tomo anotaciones.

    • @Indierama
      @Indierama  2 ปีที่แล้ว

      Hola! Deberías hacer una nueva variante de la corrutina para el escalado del objeto. Aca escribí el código, te lo dejo para que lo analices y por si a alguien más le sirve:
      IEnumerator LerpScale(float start, float target, float lerpDuration)
      {
      float timeElapsed = 0f;
      while (timeElapsed < lerpDuration)
      {
      transform.localScale = Vector3.one * Mathf.Lerp(start, target, curve.Evaluate(timeElapsed / lerpDuration));
      timeElapsed += Time.deltaTime;
      yield return null;
      }
      transform.localScale = Vector3.one * target;
      }
      Si, por ejemplo, quisieras que tu objeto escale al doble de su tamaño deberías llamarla con los siguientes parámetros:
      StartCoroutine(LerpScale(1f, 2f, lerpDuration));
      Para que a su vez se mueva de posición, deberías llamar también a LerpPosition como hice en el video. Saludos

  • @liamacosta2879
    @liamacosta2879 ปีที่แล้ว

    Hola, tengo una duda sobre porque se divide TimeElapsed por lerpDuration? probe no dividir la variable y el único cambio que note es que la plataforma recorre la distancia en menos tiempo del que en teoría debería recorrer y llegar a la nueva posición, por que sucede esto? y por que se hace la división de TimeElapsed por lerpDuration?

    • @Indierama
      @Indierama  ปีที่แล้ว

      Hola, se divide por lerpDuration porque el tercer parámetro va de 0 a 1, donde 0 es indica el valor inicial (primer parámetro) y 1 el valor final (segundo parámetro). Si dejas como tercer parámetro solo timeElapsed, entonces tu transicion va a durar 1 segundo (recordá que va de 0 a 1). A partir de que timeElapsed supera 1, te vas a quedar en el valor final (segundo parámetro). La división es justamente para que la transición dure el tiempo dado por lerpDuration, porque cuando timeElapsed llega a ser lerpDuration la división vale 1.

    • @liamacosta2879
      @liamacosta2879 ปีที่แล้ว

      Muchas gracias@@Indierama

  • @alfonsoalcaide2585
    @alfonsoalcaide2585 ปีที่แล้ว

    Hola que tal? Veo que aplica un suavizado en el movimiento. Cuando llega al destino, suaviza su movimiento. ¿Como se podría hacer para que no fuera suave, que fuera directo? Lo necesito para la posición de una bala, que haga la interpolación entre el origen y el blanco al que debe de dañar. Necesito que la bala siempre de en el blanco, por eso lo de usar el sistema lerp, entre punto de origen de la bala y el destino(el blanco). El blanco siempre está en movimiento. Saludos!

    • @Indierama
      @Indierama  ปีที่แล้ว +1

      Hola Alfonso, para no hacer el suavizado simplemente hay que hacer el Lerp normal sin la curva de animación. Si tu target está en constante movimiento también podrías investigar el método MoveTowards.

    • @alfonsoalcaide2585
      @alfonsoalcaide2585 ปีที่แล้ว +1

      @@Indierama Muchas gracias. Creo que es justo lo que estaba buscando. Es un juego tipo tower defense.

    • @Indierama
      @Indierama  ปีที่แล้ว +1

      @@alfonsoalcaide2585 algo que me olvide de decir es que también lo podes hacer con una resta de vectores. Cualquier cosa en el canal hay un video sobre vectores.

  • @_GLStudio
    @_GLStudio 2 ปีที่แล้ว +3

    3:14 Woow cómo hiciste q escriba en las 3 líneas al tiempo??? Jajajajaj

    • @Indierama
      @Indierama  2 ปีที่แล้ว +4

      Jajaja. Que trucaso, no? En Visual Studio es manteniendo ctrl + alt y clickeando en los distintos lugares que queres escribir

    • @_GLStudio
      @_GLStudio 2 ปีที่แล้ว +1

      aaaaaa vale vale muchas gracias, y gracias por responder eres un crack

  • @jhonygamer1969
    @jhonygamer1969 11 หลายเดือนก่อน

    Lo que no entiendo es por qué usas corrutinas para hacer eso. ¿No se puede hacer lo mismo dentro del Update y nada más?

    • @Indierama
      @Indierama  11 หลายเดือนก่อน

      Hay varias razones: esta forma de hacerlo es más fácil de manejar y más legible, pero lo más importante es que las corrutinas se detienen por si solas al terminar el Lerp. Si usaras Update te quedarías chequeando infinitamente una condición una vez que hayas terminado de hacer el Lerp, lo cual obviamente no es necesario y queda algo confuso.

  • @heribertosalais4678
    @heribertosalais4678 ปีที่แล้ว

    Tengo una duda , necesito hacer un Draw ray magenta que siga a uno verde, lo hice , pero necesito hacerlo mas lento, ya probé con varios valores en la función lerp , pero el DrawRay magenta alcanza al DrawRay verde casi de inmediato. ¿Alguien Sabe como hacerlo mas lento?
    toWallTransform = transform.forward * 10f;
    newWallDirection = Vector3.Lerp(initPos, toWallTransform, 0.05f * Time.deltaTime);
    Debug.DrawRay(transform.position, toWallTransform , Color.green);
    Debug.DrawRay(transform.position, newWallDirection , Color.magenta);
    initPos = toWallTransform;

  • @javiertrejotinajero9247
    @javiertrejotinajero9247 2 ปีที่แล้ว

    Muy bueno, no entiendo del todo porqué es mejor (en cuanto a funcionamiento) usarlo como Corrutina que en el Update, me parece mejor organizado y eso ya es ventaja pero de manera particular aún no lo entiendo. Tampoco logro hacer un Lerp para el Alpha de un Sprite, tengo un código que en teoría debería funcionar y si hago un Debug del valor del alpha, todo va muy bien y dura lo que debe pero ese valor no sirve para actualizar el Alpha del Sprite pues no cambia o lo hace tomando solo el valor máximo entroducido en el Lerp. Ojalá pudieras hacer un video.

    • @javiertrejotinajero9247
      @javiertrejotinajero9247 2 ปีที่แล้ว

      Por cierto: para cambiar el Alpha lo hago guardando en una variable de tipo Color, el color del sprite, despues a esa variable le cambio el valor del alpha utilizando el punto y la letra a (color.a = 15 por ejemplo...) y ya despues ese color lo asigno de nuevo al sprite devolviendolo con un nuevo valor de su Alpha. No se como acceder directamente al alpha del Sprite o si se pueda. Creo que eso lo arreglaría todo.

  • @JonestarkXYZ
    @JonestarkXYZ 6 หลายเดือนก่อน

    Alguien sabe cómo hacer interpolación en godot?

    • @Indierama
      @Indierama  6 หลายเดือนก่อน

      Hola! Funciona casi idéntico:
      docs.godotengine.org/en/stable/tutorials/math/interpolation.html
      Fijate que tenes unos ejemplos muy simples para guiarte.
      Otra forma de hacer estas cosas es usando tweens. Ya subiré algo al canal.

  • @marcodalis105
    @marcodalis105 ปีที่แล้ว

    Yose que es flojo de mi parte, pero deberias de tener un repositorio con los codigos de tus Tutoriales! ..
    sabes cuantas veces he usado este codigo!? xD .. siempre lo hago solo para aprenderlo mejor, pero siempre me pasa algo y tengo que volver a ver tu video para observar que fue lo que hice mal.
    Y tu diras, pero es que si ya lo has hecho varias veces porque no ves tus codigos anteriores?
    Porque siempre termino perdiendo en donde fue que lo hice xD.. haga varias juegos y siempre uso este codigo para pasar valores de un punto a otro .
    Y escribiendote me acabo de acrodar donde lo use.

    • @Indierama
      @Indierama  ปีที่แล้ว

      Hola Marco! Siempre me digo lo mismo, que voy a crear un repo para cada video que subo, pero ahora que hay varios ya me dio un poco de flojera jaja. En algún momento lo voy a hacer! O al menos con los nuevos que voy subiendo. Gracias por la sugerencia!