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 unity_oEVKDotJO50MrQ · Oct 25, 2018 at 04:02 PM · canvasmovetouchscreenworld space

Unity - Move Canvas as a 3D GameObject

I have a script with which i can move (on 2 axis) any 3D objects, the script i'm using is this (for mouse and touchscreen)

 using UnityEngine;
 public class DragInput : MonoBehaviour {
 
   
 
     GameObject gObj = null;
     Plane objPlane;
     Vector3 mO;
     Camera cam;
 
     void Awake() {
         cam = GameObject.FindGameObjectWithTag("MyCamera").GetComponent<Camera>();
     }
     Ray GenerateMouseRay()
     {
         Vector3 mousePosFar = new Vector3(Input.mousePosition.x,Input.mousePosition.y,cam.farClipPlane);
         Vector3 mousePosNear = new Vector3(Input.mousePosition.x,Input.mousePosition.y,cam.nearClipPlane);
         Vector3 mousePosF = cam.ScreenToWorldPoint(mousePosFar);
         Vector3 mousePosN = cam.ScreenToWorldPoint(mousePosNear);
 
         Ray mr = new Ray(mousePosN, mousePosF-mousePosN);
         return mr;
     }
 
     // Update is called once per frame
     void Update () 
     {
         if(Input.GetMouseButtonDown(0))
         {
             Ray mouseRay = GenerateMouseRay();
             RaycastHit hit;
 
             if (Physics.Raycast(mouseRay.origin, mouseRay.direction, out hit))
             {
                 gObj = hit.transform.gameObject;
                 objPlane = new Plane(cam.transform.forward*-1, gObj.transform.position);
 
                 //calc mouse offset
                 Ray mRay = cam.ScreenPointToRay(Input.mousePosition);
                 float rayDistance;
                 objPlane.Raycast(mRay, out rayDistance);
                 mO = gObj.transform.position - mRay.GetPoint(rayDistance);
             }
         }
         else if(Input.GetMouseButton(0) && gObj)
         {
             Ray mRay = cam.ScreenPointToRay(Input.mousePosition);
             float rayDistance;
             if (objPlane.Raycast(mRay, out rayDistance))
                 gObj.transform.position = mRay.GetPoint(rayDistance) + mO;
         }
         else if (Input.GetMouseButtonUp(0) && gObj)
         {
             gObj = null;
         }
     }
  }


If i click on any object i have created (with a box collider) i can freely move this object over the screen. Unfortunately this will not happen if the object is a World Space UI(canvas). Anyone can gime me some hint and tell me why i'm not able to move the space UI?

Comment
Add comment · Show 2
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 Glurth · Oct 25, 2018 at 04:46 PM 0
Share

Check the "Render $$anonymous$$ode" setting of the canvas component itself. Is it set to "screen space overlay", or "screen-space camera"? For your purposes, it sounds like you want it configured to use the "worldspace" option

avatar image unity_oEVKDotJO50MrQ Glurth · Oct 26, 2018 at 07:24 AM 0
Share

Render $$anonymous$$ode is already set as World Space

0 Replies

· Add your reply
  • Sort: 

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

104 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

Related Questions

How to get UI elements on card not to shine through? 1 Answer

Alternatives to Canvas Draw Order when using elements that rotate around each other 0 Answers

Best way to move a canvas? 1 Answer

Can't make cube follow the finger. 2 Answers

Unity 4.6 - How to Move a UI inside of the canvas 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