国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

unity UI 跟隨3D物體移動(dòng)

這篇具有很好參考價(jià)值的文章主要介紹了unity UI 跟隨3D物體移動(dòng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

unity UI 跟隨3D物體移動(dòng)

?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-506356.html

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class UIFollow3DObj : MonoBehaviour
{
    [Header("跟隨的物體")]
    public Transform targetTran;

    [Header("偏移值")]
    public Vector2 Offset;

    /// <summary>
    /// 
    /// </summary>
    RectTransform canvasTran, uiTran;

    void Start()
    {
        uiTran = transform.GetComponent<RectTransform>();
        canvasTran = transform.GetComponentInParent<Canvas>().GetComponent<RectTransform>();
    }

    private void Update()
    {
        if (targetTran != null)
        {
            if (isInFront())
            {
                Vector2 mScreenPos = Camera.main.WorldToScreenPoint(targetTran.transform.position);
                Vector2 mRectPos;
                RectTransformUtility.ScreenPointToLocalPointInRectangle(canvasTran, mScreenPos, null, out mRectPos);
                uiTran.anchoredPosition = mRectPos + Offset;
                uiTran.localScale = Vector3.one;
            }
            else
            {
                uiTran.localScale = Vector3.zero;
            }


            //Vector2 mScreenPos = Camera.main.WorldToScreenPoint(targetTran.transform.position);
            //if (RectTransformUtility.ScreenPointToLocalPointInRectangle(uiTran.root.transform as RectTransform,
            // Camera.main.WorldToScreenPoint(targetTran.position), uiTran.root.GetComponent<Canvas>().worldCamera, out mScreenPos))
            //{
            //    uiTran.anchoredPosition = mScreenPos + Offset;

            //    //血條超出屏幕就不顯示  
            //    if (mScreenPos.x > Screen.width / 2 || mScreenPos.x < -Screen.width / 2 || mScreenPos.y > Screen.height / 2 || mScreenPos.y < -Screen.height / 2)
            //    {
            //        uiTran.gameObject.SetActive(false);
            //    }
            //    else
            //    {
            //        uiTran.gameObject.SetActive(true);
            //    }
            //}
        }
    }

    //判定在攝像頭前面
    public bool isInFront()
    {     
        Vector3 dir = (targetTran.position - Camera.main.transform.position).normalized;
        float dot = Vector3.Dot(Camera.main.transform.forward, dir);
        if (dot > 0)
            return true;
        else
            return false;
    }

}

到了這里,關(guān)于unity UI 跟隨3D物體移動(dòng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Unity鼠標(biāo)控制3D物體的移動(dòng)、旋轉(zhuǎn)、縮放

    1.使用協(xié)程 2.鼠標(biāo)左鍵控制物體移動(dòng),鼠標(biāo)碰到物體,物體顏色改變 1. 控制物體左右旋轉(zhuǎn),上下旋轉(zhuǎn) 2. 控制攝像機(jī)以物體為中心旋轉(zhuǎn) 腳本掛載到攝像機(jī)上 1. 基于物體本身的Transform的縮放 2. 基于攝像機(jī)的遠(yuǎn)近的縮放 腳本掛載到攝像機(jī)上

    2024年02月11日
    瀏覽(25)
  • Unity3d中關(guān)于物體穿透模型和物體移動(dòng)的一些問(wèn)題

    Unity3d中關(guān)于物體穿透模型和物體移動(dòng)的一些問(wèn)題

    第一:可能是沒(méi)有設(shè)置剛體和碰撞體; 第二種:一般是由于被穿透物體太過(guò)于薄弱,根本沒(méi)有檢測(cè)到碰撞的問(wèn)題,這種情況可以把物體加厚。但偶爾是不能解決問(wèn)題的,因?yàn)檫@種情況下是由于物體移動(dòng)的速度過(guò)快導(dǎo)致的。 第三;關(guān)于物體自己動(dòng)的問(wèn)題,那是物體移動(dòng)腳本和物

    2024年02月11日
    瀏覽(90)
  • Unity之UI、模型跟隨鼠標(biāo)移動(dòng)(自適應(yīng)屏幕分辨率、錨點(diǎn)、pivot中心點(diǎn))

    Unity之UI、模型跟隨鼠標(biāo)移動(dòng)(自適應(yīng)屏幕分辨率、錨點(diǎn)、pivot中心點(diǎn))

    UI跟隨鼠標(biāo)移動(dòng), 當(dāng)我們修改屏幕分辨率、錨點(diǎn)、pivot等參數(shù)時(shí)會(huì)動(dòng)態(tài)自適應(yīng)并始終讓ui的pivot中心點(diǎn)位置跟隨鼠標(biāo)位置。同時(shí)腳本中包含3d物體跟隨ui位置和3d物體直接跟隨鼠標(biāo)位置移動(dòng) 在說(shuō)功能原理之前我們需要先了解屏幕坐標(biāo)、Canvas自適應(yīng)、錨點(diǎn)、中心的特性和之間的關(guān)系

    2024年02月04日
    瀏覽(22)
  • Unity3D 控制物體移動(dòng)且自動(dòng)旋轉(zhuǎn)

    Unity3D 控制物體移動(dòng)且自動(dòng)旋轉(zhuǎn)

    直接上代碼(改腳本掛載到游戲物體上) 第三人稱(chēng)攝像機(jī)移動(dòng)

    2024年02月15日
    瀏覽(97)
  • Unity Dotween插件物體、ui的移動(dòng) 旋轉(zhuǎn) 縮放效果

    Unity Dotween插件物體、ui的移動(dòng) 旋轉(zhuǎn) 縮放效果 #腳本應(yīng)用命名空間 using DG.Tweening; ##讓游戲物體平移 //參數(shù)一:要移動(dòng)到的位置 //參數(shù)二:動(dòng)畫(huà)完成要多少秒 transform.DOMove(new Vector3(1,3, 8.08f),5.5f); ##讓游戲物體旋轉(zhuǎn) //參數(shù)一:要旋轉(zhuǎn)成的樣子的坐標(biāo) //參數(shù)二:旋轉(zhuǎn)動(dòng)畫(huà)多少秒完成 trans

    2024年02月01日
    瀏覽(25)
  • Unity UI不被3D物體遮擋

    Unity UI不被3D物體遮擋

    UI Shader: 用該Shader創(chuàng)建一個(gè)材質(zhì),將該材質(zhì)掛到不被模型遮擋的UI上。 TextMeshPro 設(shè)置: 修改TextMesh Pro/Shaders/TMP_SDF.shader 修改如下:

    2024年02月07日
    瀏覽(35)
  • unity中實(shí)現(xiàn)3D物體在UI前方

    在Unity中,如果你想要將3D物體顯示在UI的前方,可以通過(guò)Canvas和RawImage來(lái)實(shí)現(xiàn)。以下是一些步驟: 創(chuàng)建Canvas: 在場(chǎng)景中創(chuàng)建一個(gè)Canvas對(duì)象。你可以在Hierarchy視圖中右鍵點(diǎn)擊,選擇UI Canvas,或者在創(chuàng)建菜單中找到。Canvas是用來(lái)渲染UI元素的。 創(chuàng)建RawImage: 在Canvas中創(chuàng)建一個(gè)Ra

    2024年02月20日
    瀏覽(22)
  • Unity功能測(cè)試3D物體和UI的點(diǎn)擊事件

    Unity功能測(cè)試3D物體和UI的點(diǎn)擊事件

    我們?cè)诠δ荛_(kāi)發(fā)中 當(dāng)UI和3D物體在一起的時(shí)候點(diǎn)擊事件通常會(huì)有這么幾種情況 1、UI和3D物體同時(shí)響應(yīng)事件 這種情況很常見(jiàn),如果是故意有次功能需求那將不需要改動(dòng).實(shí)現(xiàn)代碼 3D物體上掛載 UI上掛載 這里面ExecuteAll這個(gè)方法也可以處理同理響應(yīng)事件的問(wèn)題(已注釋?zhuān)?2、UI和3D物體

    2024年02月05日
    瀏覽(27)
  • Unity3D實(shí)現(xiàn)鼠標(biāo)懸浮UI或物體上顯示文字信息

    Unity3D實(shí)現(xiàn)鼠標(biāo)懸浮UI或物體上顯示文字信息

    Unity工具 大家好,我是心疼你的一切,不定時(shí)更新Unity開(kāi)發(fā)技巧,覺(jué)得有用記得一鍵三連哦。 本篇文章實(shí)現(xiàn)一個(gè)鼠標(biāo)懸浮在ui或者物體上顯示文字的功能 unity鼠標(biāo)懸浮ui顯示文字 鼠標(biāo)進(jìn)入U(xiǎn)I執(zhí)行的 鼠標(biāo)離開(kāi)UI執(zhí)行的 鼠標(biāo)在ui里滑動(dòng)執(zhí)行的 1. 2. 搭建比較簡(jiǎn)單,各位順便搭建吧。

    2024年02月04日
    瀏覽(492)
  • Unity 物體的運(yùn)動(dòng)之跟隨鼠標(biāo)

    Unity 物體的運(yùn)動(dòng)之跟隨鼠標(biāo)

    ????????你想讓鼠標(biāo)點(diǎn)擊哪里,你的運(yùn)動(dòng)的對(duì)象就運(yùn)動(dòng)到哪里嗎? Please follow me ! 首先,你要先添加一個(gè)Plane ,以及你的圍墻,你的移動(dòng)的物體 ? 想要實(shí)現(xiàn)跟隨鼠標(biāo)移動(dòng),我們先創(chuàng)建一個(gè)腳本 先簡(jiǎn)單的分析一下代碼: 開(kāi)始的時(shí)候應(yīng)該先創(chuàng)建一個(gè)空物體,將該空物體拉進(jìn)去腳

    2024年02月12日
    瀏覽(26)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包