关于3D物体坐标转换为UI坐标,随着鼠标拖拽等操作

本文探讨了如何将3D场景中的物体坐标转换为UI坐标,以便在用户界面上进行准确的鼠标拖拽和其他交互操作。通过深入理解Unity的UGUI系统和坐标变换原理,我们可以实现3D元素与2D UI的无缝交互。
摘要由CSDN通过智能技术生成

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class threeto2D : MonoBehaviour,IPointerClickHandler,IDragHandler
{
    public GameObject cube;
    public Camera MainCarema;
    public Camera uiCarema;//canvas为camera模式下的摄像机,深度值较大,depthonly
    public Canvas canvas;
    public RectTransform rect;
    Vector2 poss;
    void Start() {
       // rect = transform as RectTransform;

        if (RectTransformUtility.ScreenPointToLocalPointInRectangle(canvas.transform as RectTransform, Input.mousePosition, canvas.GetComponent<Camera>(), out poss))
        {
            Debug.Log(poss);
        }

    }
	// Update is called once per frame
	void Update ()
    {
#if true
        //UnityEngine.EventSystems.EventTrigger
        // unity版本用的5.3.5f. cas.planeDistance  : 找到原因了,uicarema需要设置成为正交模式,否则,则需要改变cas.planeDistance。
        #region canvas 摄像机模式,两种效果相同
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值