// Update is called once per frame void Update() { first = new Vec3(FirstVector); second = new Vec3(SecondVector); switch (opciones) { case Options.uno: third = first + second; break; case Options.dos: third = second - first; break; case Options.tres: third = Vec3.Scale(first, second); break; case Options.cuatro: third = Vec3.Cross(second, first); break; case Options.cinco: third = Vec3.Lerp(first, second, t); t += Time.deltaTime; if (t >= 1f) { t = 0f; } break; case Options.seis: third = Vec3.Max(first, second); break; case Options.siete: third = Vec3.Project(first, second); break; case Options.ocho: float val = Vec3.Distance(first, second); Vec3 sum = first + second; third = val * sum.normalized; break; case Options.nueve: third = Vec3.Reflect(first, second); break; case Options.diez: third = Vec3.LerpUnclamped(second, first, t); t += Time.deltaTime; if (t >= 10f) { t = 0f; } break; default: break; } Vector3Debugger.UpdatePosition("First", first); Vector3Debugger.UpdatePosition("Second", second); Vector3Debugger.UpdatePosition("Third", third); }
void Update() { Vec3 A = new Vec3(ejerA); Vec3 B = new Vec3(ejerB); Vec3 C = new Vec3(resultado); switch (funcion) { case Funciones.Uno: // Suma de Dos Vectores3 C = A + B; break; case Funciones.Dos: // Resta de dos Vectores3 C = B - A; break; case Funciones.Tres: // Se hace una escala entre los dos Vectores Existentes C = A; C.Scale(B); break; case Funciones.Cuatro: // Se hace un producto Cruz entre los dos vectores C = Vec3.Cross(B, A); break; case Funciones.Cinco: // Se hace un Lerp entre los dos vectores if (timeLerp > 1) { timeLerp = 0; } else { timeLerp += Time.deltaTime; } C = Vec3.Lerp(A, B, timeLerp); break; case Funciones.Seis: // Se hace se saca los valores maximos de cada vector C = Vec3.Max(A, B); break; case Funciones.Siete: // Se saca la Proyeccion entre dos vectores C = Vec3.Project(A, B); break; case Funciones.Ocho: // Se hace un normalize de los dos vectores y despues se multiplica a la distancia entre los mismos Pdt. Este costo porque era raro Vec3 suma = A + B; C = suma.normalized * Vec3.Distance(A, B); break; case Funciones.Nueve: // Se hace un reflect utilizando los los vertores C = Vec3.Reflect(B, A); break; case Funciones.Diez: // Se hace un LerpUnclamped para que no se detenga cuando llega al limite permitido y asi siga avanzando timeLerpUnclamp -= Time.deltaTime; C = Vec3.LerpUnclamped(A, B, timeLerpUnclamp); break; } ejerA = A; ejerB = B; resultado = C; Vector3Debugger.UpdatePosition("elResultado", resultado); Vector3Debugger.UpdatePosition("elNegro", ejerA); Vector3Debugger.UpdatePosition("elBlanco", ejerB); }