Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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 jfbguy · May 30, 2013 at 10:15 PM · transformpositionhandles

Intercepting Position Handle in Game Scene?

So I'm trying to have the position handle in the game scene of an object update a Vector3 I have in a script rather than the actual transform position of the object. At the moment I have this code...

 if(systemControl.transform.position != Vector3.zero){ //Keep camera at 0,0,0 and change placement of ship
     systemControl.shipPosition -= systemControl.transform.position;
     systemControl.transform.position = Vector3.zero;
 }

And this works as long as you drag one way, or stop before dragging another. If you hold down the mouse while dragging and just wiggle it, it will keep in incrementing positive or negative which ever way you started moving it. Basically it doesn't act like it would normally if it's just moving the transform around. I thought perhaps there might be a better way where I just intercept the position handle or someting. Anyone have any ideas or suggestions?

Comment
Add comment
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

1 Reply

· Add your reply
  • Sort: 
avatar image
0
Best Answer

Answer by SirIntruder · Aug 31, 2013 at 05:03 PM

You are trying to do this in editor, if I understood you correctly? You should write a custom inspector for your object which contains vector3 you would like to move around (Vector3 shipPosition). Then, in custom editor class add OnSceneGUI() method which would to something like this:

     [CustomInspector(typeof(MyShipScript))]
     public class MyShipScriptInspector : Editor
     {
         void OnScreenGUI()
         {
            MyShipScript ship = target as MyShipScript;    
            ship.shipPosition = Handles.PositionHandle(ship.shipPosition);
         }
     }


Check docs for UnityEditor.Handles for more options, and sorry if I made mistake in that code, I was writing this from memory. This should draw another position handle on shipPosition and return you updated value if moved.

btw, if you would like to hide standard unity handle for that game object, you can do that by assigning to Tools.current = Tool.None in OnSceneGUI() (check Tools docs for more information).

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

14 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

Related Questions

Change position of camera on scene load? 1 Answer

Create a straight gradient equation with a grid of 3d objects 1 Answer

Following another object's position/rotation like parent/child relationship? 4 Answers

How do you set the initial value of a variable to an objects current position in unity? 1 Answer

Create an animation with variables? 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