Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by TheCreatorultim · Dec 10, 2018 at 12:18 AM · c#rotationchangelookat

Change output rotation of this Lookat script?

 {
     Quaternion _lookRotation =
         Quaternion.LookRotation((to - transform.position).normalized);

     transform.rotation =
         Quaternion.Lerp(Quaternion.Euler(transform.rotation.x, transform.rotation.y, transform.rotation.z + 90), _lookRotation, Time.deltaTime * turn_speed);
 }

This will always turn from the Z side, though i'd like to have it turn from the X side? how could i change it?

full code:

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class rotate : MonoBehaviour {
 
     public float turn_speed;
     public float Find_radius;
     public string TagToSearchFor;
 
     [Header ("Front, Left, Back, Top, Bottom")]
     [Tooltip("Z points to front")]
     public string Direction;
 
     
     private Collider[] all_found;
     private Transform Target;
 
     private void check() {
 
         all_found = Physics.OverlapSphere(gameObject.transform.position, Find_radius);
 
         if(all_found.Length != 0)
         {
             foreach(Collider col in all_found)
             {
                 if(col.tag == TagToSearchFor)
                 {
                     Target = col.gameObject.transform;
                     break;
                 }
             }
         }
     }
 
     protected void rotateTowards(Vector3 to)
     {
         Quaternion _lookRotation =
             Quaternion.LookRotation((to - transform.position).normalized);
 
         transform.rotation =
             Quaternion.Lerp(Quaternion.Euler(transform.rotation.x, transform.rotation.y, transform.rotation.z + 90), _lookRotation, Time.deltaTime * turn_speed);
     }
 
     private void Update()
     {
         try
         {
             rotateTowards(Target.position);
         }
         catch
         {
             check();
         }
     }
 }
 

Comment
Add comment · Show 1
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image ProtoTerminator · Dec 13, 2018 at 07:19 PM 0
Share

Side note: It's standard c# practice to name your classes and functions with PascalCase (Capital letter at start) rather than camelCase (lower case letter at start).

2 Replies

· Add your reply
  • Sort: 
avatar image
1

Answer by ProtoTerminator · Dec 10, 2018 at 02:19 AM

Quaternion.LookRotation accepts a forward direction and an optional up direction. If you don't provide an up direction, it defaults to Vector3.up. So you can provide your own up direction (Vector3.right/Vector3.forward/etc).


[EDIT] After re-reading your question, it looks like you want to have the transform's X axis look at the target instead of the transform's Z axis. According to the documentation, LookRotation makes the transform look on its Z axis. So all you need to do is rotate your transform 90 degrees after you set the lookrotation. transform.rotation = Quaternion.LookRotation((transform.right - transform.position).normalized); or, even easier transform.Rotate(0, 90, 0);


[EDIT2] Here's the code (from my comment):

 protected void rotateTowards(Vector3 to)
 {
     Quaternion _lookRotation = Quaternion.LookRotation((to - transform.position).normalized);
 
     transform.Rotate(0, -90, 0);
     transform.rotation = Quaternion.Lerp(transform.rotation, _lookRotation, Time.deltaTime * turn_speed);
     transform.Rotate(0, +90, 0);
 }

In any case, it's probably easier to just parent the object you're trying to rotate under an empty gameobject, and just rotate the empty gameobject.

Comment
Add comment · Show 2 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image TheCreatorultim · Dec 10, 2018 at 09:07 AM 0
Share

If i use Quaternion.LookRotation((transform.right - transform.position).normalized); It'll still look from the Z axis. While transform.Rotate(0, 90, 0); has some sort of effect, it bugs it alot.

Would that be me, or is it bugged in general?

avatar image ProtoTerminator TheCreatorultim · Dec 13, 2018 at 07:08 PM 0
Share

Oh I made a mistake with the lookrotation. I believe it should just be Quaternion.LookRotation(transform.right). What sort of effect does transform.Rotate have? That should simply instantly rotate it 90 degrees.

$$anonymous$$aybe it's because you should Rotate -90 degrees before doing the lerp rotation, then after the lerp Rotate +90 degrees. I'll update my answer for that code.

avatar image
0

Answer by nicholasw1816 · Dec 10, 2018 at 02:29 PM

Try this then tell me what it does. You have to declare a up direction. Try one of these till it works. Vector3(1,0,0), or Vector3(0,1,0), or Vector3(0,0,1)

 Quaternion.LookRotation((to - transform.position).normalized, Vector3(0,0,1));







Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

574 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Change output rotation of this Lookat script? 0 Answers

Flip over an object (smooth transition) 3 Answers

Look Rotation flipping object rotation after 180 degrees 1 Answer

Rotate/Orbit around an object to look at another object C# 1 Answer

Rotation via iTween.LookTo not working (or using it wrong) 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges