• 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
Question by AshwinTheGammer · Jan 30 at 06:55 PM · uicanvasui imageminimapworldtoscreenpoint

Offset problem : Convert Worldposition to Screen Position

I'm making a minimap by just using UI RawImage not Render Texture or second camera anything. Problem is the playerMarker UI RawImage doesn't show the position of the object correctly. When I move the cube on z axis, somehow it moves diagonally rather than going up and down.

The resolution of screenshot of map is 2048x1024

Here is the code:

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;
 
 public class MiniLearnUI : MonoBehaviour
 {
     public RawImage minimap, playerMarker; //minimap-image of map
     public GameObject player; //basically the BLUE CUBE
 
     void Start()
     {
         playerMarker.rectTransform.SetParent(minimap.rectTransform, false); //so that playermarker stays inside the minimap
     }
 
     void Update()
     {
         Vector3 playerWorldPos = player.transform.position;
 Vector3 playerScreenPos = Camera.main.WorldToScreenPoint(playerWorldPos);
 
 Vector2 mapSize = minimap.rectTransform.sizeDelta;
 float aspectRatio = mapSize.x / mapSize.y;
 playerScreenPos.x = (playerScreenPos.x / Screen.width) * mapSize.x;
 playerScreenPos.y = ((playerScreenPos.y / Screen.height) * mapSize.y) * aspectRatio;
 
 playerMarker.rectTransform.anchoredPosition = playerScreenPos - new Vector3(minimap.rectTransform.sizeDelta.x / 2f, minimap.rectTransform.sizeDelta.y / 2f, 0f);
 
     }
 }
 

If you know any other method...then please let me know!!

alt text images were ss in playmode alt text

2.png (256.3 kB)
1.png (239.6 kB)
Comment

People who like this

0 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 AshwinTheGammer · Jan 31 at 04:59 AM 0
Share

the screenshot of map(or level) was taken with the objects

avatar image AshwinTheGammer · Feb 02 at 06:27 AM 0
Share

@Captain_Pineapple would you like to comment on this? :P

0 Replies

  • Sort: 

Unity Answers is in Read-Only mode

Unity Answers content will be migrated to a new Community platform and we are aiming to launch a public beta on June 13. Please note, Unity Answers is now in read-only so we can prepare for the final data migration.

For more information and updates, please read our full announcement thread in the Unity Forum.

Follow this Question

Answers Answers and Comments

161 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

Related Questions

Image on UI doesn't stretch when objects it's on is stretched. 0 Answers

Instantiating Image makes whole Canvas disappear in Playmode 1 Answer

Rotating and scaling UI image messes up anchors? 0 Answers

UI Image size 1 Answer

How do I make UI elements go behind my 2D game objects? 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