Make ANY Object Smoothly Turn or Look At Another Object
Published: 05 Mar 2021
In this tutorial, you'll learn:
⚫ How to make an object smoothly rotate to look at another target without Transform.LookAt().
⚫ How to make Transform.LookAt() rotate an object smoothly.
⚫ When Transform.LookAt() will not be smooth.
To achieve always-smooth look at, we'll implement a Coroutine that rotates any object using Quaternion.LookRotation and Quaternion.Slerp.
If you need to lock the rotation to 1 or 2 axis:
After you've determined the look rotation with Quaternion.LookRotation, reassign it with
lookRotation = Quaternion.Euler(transform.rotation.eulerAngles.x, lookRotation.eulerAngles.y, transform.rotation.eulerAngles.z);
This code will only rotate on the Y axis. You can keep the original rotation on any axis and assign the look rotation for any other axis!
Use this knowledge to add believable turns into your game by having your objects always smoothly turn to look at another object!
🔶 ALL THINGS LlamAcademy now available at: https://llamacademy.dev/support including latest tutorials, courses, ways to support, and more! Check it out 🙂
👨💻 Get the FULL FREE PROJECT on GitHub: https://github.com/llamacademy/smooth-look-at/
🏷️Save 25% on the ultimate C# IDE: JetBrains Rider with code LLAMACADEMY: https://www.jetbrains.com/store/?section=personal&billing=yearly
📚 Resources
Some links may be affiliate links, which at no additional cost to you, gives me a small portion of the purchase.