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 /
  • Help Room /
avatar image
0
Question by dsrgdeg · Nov 21, 2015 at 09:04 PM · gameobjectunity5quaternionchild

Store Rotation values of a Child in a Vector3 or Quaternion ?

I know this sounds ridiculously easy but I'm struggling from quite some time and can't find anything on the internet right now. I want to store the rotation values of a child gameobject in a variable.

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 sneakybig · May 23, 2018 at 10:13 PM 0
Share

Hi @Vunpac, let me ask you a question!

I created two sliders, one for tilt (Z) and yaw (Y), Both works great on their own, my problem is when I try to use them together. If I move the Yaw half way and then I move the Tilt, the object returns to its original position ins$$anonymous$$d of storing the current position and adjusting from then on. Hope this makes sense... I was trying to use your script to store the current angle and I know my main problem is that I have no clue how to use the stored angle and use the sliders to add on top of that.

Here is what I have so far:

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;
 
 public class ObjectControl : $$anonymous$$onoBehaviour {
 
     public GameObject objectToRotate;
     public Slider rotateSlider;
     public Slider tiltSlider;
     public Slider scaleSlider;
     public Quaternion InitialRot;
 
     void Start()
     {
         InitialRot = Quaternion.Euler(new Vector3(this.transform.localRotation.x, this.transform.localRotation.y, this.transform.localRotation.z));
     }
 
 
     public void Rotate$$anonymous$$yObject(float sliderValueR)
     {
         sliderValueR = rotateSlider.value;
         objectToRotate.transform.rotation = Quaternion.Euler(0, InitialRot + sliderValueR * 360, 0);
     }
 
 
     public void Tilt$$anonymous$$yObject(float sliderValueT)
     {
         sliderValueT = tiltSlider.value;
         objectToRotate.transform.rotation = Quaternion.Euler(0, 0, sliderValueT * 360);
     }
 
     public void Scale$$anonymous$$yObject(float sliderValueS)
     {
         Vector3 scale = objectToRotate.transform.localScale;
         sliderValueS = scaleSlider.value;
 
 
         objectToRotate.transform.localScale = new Vector3(sliderValueS, sliderValueS, sliderValueS);
 
     }
 
 }

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by Vunpac · Nov 21, 2015 at 09:16 PM

if you are just trying to store transform.rotation then use Quaternion. Vector3 is if you are converting a Quaternion to Euler angles (euler angles are x,y,z and a Quaternion is x,y,z,w)

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 dsrgdeg · Nov 22, 2015 at 07:02 AM 0
Share

I've done this and it is not working. I'll be really thankful if you can correct me

   public Quaternion InitialRot;
     
     void Start(){
     InitialRot = Quaternion.Euler(new Vector3(this.transform.localRotation.x ,this.transform.localRotation.y,this.transform.localRotation.z));
     }

It is a child gameObject. And I want to store its current rotation in a variable.

avatar image Vunpac dsrgdeg · Nov 22, 2015 at 09:17 AM 0
Share

you are converting the quaternion to a vector3 when you use Euler. in this case you could just go

InitialRot = transform.localRotation;

unless the transform has a parent object I think you may want to use just rotation

InitialRot = transform.rotation;

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

7 People are following this question.

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

Related Questions

Unity2D C# Randomly Spawn GameObject in an Area over another GameObject 1 Answer

Auto level an object 0 Answers

Parent of RectTransform is being set with parent property. Consider using the SetParent method instead, with the worldPositionStays argument set to false. 1 Answer

how to make gameobject randomly visible ? i really need this please 1 Answer

Adding components vs child 0 Answers


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