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

相機(jī)可見(jiàn)區(qū)域,使用鼠標(biāo)拖拽模型

這篇具有很好參考價(jià)值的文章主要介紹了相機(jī)可見(jiàn)區(qū)域,使用鼠標(biāo)拖拽模型。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

知識(shí)點(diǎn)

  1. 向量
  2. 射線檢測(cè)
  3. 坐標(biāo)轉(zhuǎn)換

思路

  1. 使用射線檢測(cè)獲取射線檢測(cè)點(diǎn)與模型對(duì)象之間的偏移量 (世界空間)
  2. 使用相機(jī)的坐標(biāo)轉(zhuǎn)換獲取檢測(cè)點(diǎn)與鼠標(biāo)位置之間的偏移量 (屏幕空間)
  3. 拖拽時(shí),更新模型位置

代碼示例

using UnityEngine;
public class TestDrag : MonoBehaviour
{
    public Vector3 worldSpaceOffest;
    public Vector3 screenSpaceOffest;
  
    public Vector3 hitPointInScreenSpacePos;
    public Vector3 hitPoinitInWorldSpacePos;

    RaycastHit hit;

    private void OnMouseDown()
    {
    	//射線檢測(cè)相交點(diǎn)
        Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hit, 100f);
        //記錄相交點(diǎn)與對(duì)象之間的偏移
        worldSpaceOffest = transform.position - hit.point;
        //記錄相交點(diǎn)與鼠標(biāo)指針之間的偏移
        screenSpaceOffest = Camera.main.WorldToScreenPoint(hit.point) - Input.mousePosition;
    }

    private void OnMouseDrag()
    {
    	//更新屏幕偏移位置
        hitPointInScreenSpacePos = Input.mousePosition + screenSpaceOffest;
        //獲取屏幕偏移位置在世界空間中的位置
        hitPoinitInWorldSpacePos = Camera.main.ScreenToWorldPoint(hitPointInScreenSpacePos);
        //更新對(duì)象的位置
        transform.position = hitPoinitInWorldSpacePos + worldSpaceOffest;
    }
}

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

到了這里,關(guān)于相機(jī)可見(jiàn)區(qū)域,使用鼠標(biāo)拖拽模型的文章就介紹完了。如果您還想了解更多內(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)文章

  • 【OpenGL】雜談一、通過(guò)鼠標(biāo)拖拽實(shí)現(xiàn)相機(jī)繞空間中的某點(diǎn)進(jìn)行球面旋轉(zhuǎn)查看

    【OpenGL】雜談一、通過(guò)鼠標(biāo)拖拽實(shí)現(xiàn)相機(jī)繞空間中的某點(diǎn)進(jìn)行球面旋轉(zhuǎn)查看

    這是我最近遇到的一個(gè)問(wèn)題,如題所示,我需要通過(guò)鼠標(biāo)拖拽實(shí)現(xiàn)相機(jī)繞點(diǎn)的球面旋轉(zhuǎn),原本的想法很簡(jiǎn)單,類似筆記八、攝像機(jī)中提到的那樣,從聚焦中心點(diǎn)的視角出發(fā),將鼠標(biāo)移動(dòng)的距離xoffset和yoffset轉(zhuǎn)換為yaw和pitch角,然后計(jì)算出該視角的向量,與球面求交從而得到相機(jī)

    2024年02月02日
    瀏覽(27)
  • Unity用鼠標(biāo)拖拽UI,UI跟隨鼠標(biāo)移動(dòng)

    Unity用鼠標(biāo)拖拽UI,UI跟隨鼠標(biāo)移動(dòng)

    先上效果 繼承幾個(gè)拖拽的接口 IBeginDragHandler, IDragHandler,IEndDragHandler 計(jì)算下偏移量,轉(zhuǎn)換下坐標(biāo)系 限制下可拖拽的范圍,我設(shè)置的是canvas的大小 歡迎大佬多多來(lái)給萌新指正,歡迎大家來(lái)共同探討。 如果各位看官覺(jué)得文章有點(diǎn)點(diǎn)幫助,跪求各位給點(diǎn)個(gè)“一鍵三連”,謝啦~ 聲明

    2024年02月06日
    瀏覽(24)
  • Unity實(shí)現(xiàn)鼠標(biāo)拖拽多物體(拖拽單物體的拓展)

    Unity實(shí)現(xiàn)鼠標(biāo)拖拽多物體(拖拽單物體的拓展)

    學(xué)習(xí)了B站UP主OneCredit【Unity快速教學(xué)】鼠標(biāo)拖曳甩動(dòng)物件BV1qK4y1d7iZ的教學(xué)視頻后 拓展了一下功能,實(shí)現(xiàn)多個(gè)物體也可以拖拽,互不受影響 主要是做了一個(gè)檢測(cè),在鼠標(biāo)上物體才能被拖拽 目錄 bool Drag 拖拽物體的實(shí)現(xiàn) 解決攝像機(jī)視角的影響 綁定剛體,寫好需要用到的變量 Dr

    2024年03月24日
    瀏覽(16)
  • unity實(shí)現(xiàn)鼠標(biāo)拖拽物品移動(dòng)

    unity實(shí)現(xiàn)物品拖拽,3D創(chuàng)景需要注意的是一個(gè)屏幕坐標(biāo)轉(zhuǎn)換為世界坐標(biāo)和世界坐標(biāo)轉(zhuǎn)換屏幕坐標(biāo),熟悉他們之間的轉(zhuǎn)化,就沒(méi)什么難度了 從攝像機(jī)發(fā)射一條射線,通過(guò)射線檢測(cè)到鼠標(biāo)點(diǎn)擊的物體,將物品的世界坐標(biāo)轉(zhuǎn)換為屏幕坐標(biāo) 將鼠標(biāo)的位置為,鼠標(biāo)點(diǎn)擊的XY軸和物品的

    2024年02月11日
    瀏覽(33)
  • Unity 鼠標(biāo)控制 UI 放大、縮小、拖拽
  • Unity中鼠標(biāo)控制3D物體進(jìn)行拖拽

    拖拽 1 、獲取3D物體在世界坐標(biāo)的位置轉(zhuǎn)換屏幕坐標(biāo) 2、鼠標(biāo)在屏幕的坐標(biāo)與物體在屏幕的坐標(biāo)Z軸進(jìn)行擬合 3、獲取3D物體與擬合出來(lái)的坐標(biāo)的偏移量 4、通過(guò)向量投影得到移動(dòng)坐標(biāo) 5、上干貨,附帶手指控制,手指控制邏輯同鼠標(biāo)一樣 自由拖拽 自由拖拽同上不同的是 獲取3D物

    2024年03月26日
    瀏覽(21)
  • unity限制相機(jī)可移動(dòng)區(qū)域(box collider)

    unity限制相機(jī)可移動(dòng)區(qū)域(box collider)

    1.創(chuàng)建一個(gè)空對(duì)象并命名為box(什么名字都可以 但要與代碼中的一致) 2.選中box在屬性面板點(diǎn)擊add component添加一個(gè)box collider組件 3.把box collider的大小設(shè)置到你想限制的區(qū)域范圍大小(我直接設(shè)置成場(chǎng)景的大?。?3.在相機(jī)腳本定義一個(gè)變量box(用于選中)剛剛創(chuàng)建的box對(duì)象 4

    2024年02月08日
    瀏覽(21)
  • unity2d里實(shí)現(xiàn)鼠標(biāo)拖拽物體的功能

    在 Unity 中實(shí)現(xiàn)鼠標(biāo)拖拽物體的功能需要使用到 Unity 的 Physics 系統(tǒng)。 要實(shí)現(xiàn)鼠標(biāo)拖拽物體,你需要在場(chǎng)景中添加以下內(nèi)容: 一個(gè) Rigidbody 2D 組件,用于控制物體的運(yùn)動(dòng)。 一個(gè) Box Collider 2D 組件,用于檢測(cè)鼠標(biāo)與物體的碰撞。 一個(gè)腳本,用于監(jiān)聽(tīng)鼠標(biāo)的輸入,并在鼠標(biāo)按下時(shí)拖

    2024年02月11日
    瀏覽(20)
  • unity 模型在scene場(chǎng)景中看不到,在game視圖可見(jiàn)

    unity 模型在scene場(chǎng)景中看不到,在game視圖可見(jiàn)

    這個(gè)問(wèn)題出現(xiàn)的原因是:在編輯器中進(jìn)行了如下設(shè)置: ?上圖左側(cè)的眼睛圖標(biāo)的作用就是顯示或隱藏物體。 另一種情況: 這是對(duì)層級(jí)的顯示或隱藏。 ?

    2024年02月09日
    瀏覽(18)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包