亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

在 Forge Viewer 里展示/隱藏構(gòu)件材質(zhì)

Dean / 1361人閱讀

摘要:對(duì)于大多數(shù)的模型文檔都可以透過(guò)服務(wù)提取轉(zhuǎn)換在里渲染構(gòu)件外觀時(shí)所需的材質(zhì)及貼圖。所以我們可以透過(guò)它遍歷所有材質(zhì),找出我們想隱藏貼圖的那些材質(zhì),將它的顏色設(shè)置為灰色,同時(shí)也可以透過(guò)它將隱藏貼圖的材質(zhì)回復(fù)。

這篇文章來(lái)自 Autodesk ADN 的梁曉冬,以下以我簡(jiǎn)稱。

對(duì)于大多數(shù)的模型文檔都可以透過(guò) Autodesk Forge Model Derivative 服務(wù)提取、轉(zhuǎn)換在 Viewer 里渲染(Render)構(gòu)件外觀時(shí)所需的材質(zhì)(Material)及貼圖(Texture)。在 Viewer 里渲染這些材質(zhì)是會(huì)耗損計(jì)算機(jī)內(nèi)存(Memory)的,但有時(shí)候我們觀注的是構(gòu)件的幾何信息,貼圖(Texture)反倒是可以被忽略的,但這要怎么做到呢?

在 Viewer API 里有一個(gè)函數(shù)matman()可以獲取 Viewer 的材質(zhì)管理員,透過(guò)它可以取得所有 Viewer 自帶和自訂的材質(zhì)。所以我們可以透過(guò)它遍歷所有材質(zhì),找出我們想隱藏貼圖的那些材質(zhì),將它的顏色設(shè)置為灰色,同時(shí)也可以透過(guò)它將隱藏貼圖的材質(zhì)回復(fù)。

注:這個(gè)例子沒(méi)辦法在沒(méi)貼圖的材質(zhì)上有作用;這范例在瀏覽器 Console 測(cè)試過(guò),且使用默認(rèn)的 Viewer 實(shí)例 NOP_VIEWER。

//store textures data
var oldTextures = new Array();
//store color data
var oldColors = new Array();

//remove texture
function hideTexture() {

    //get materials list
    var mats = NOP_VIEWER.impl.matman()._materials;

    //define a grey color
    var grey = new THREE.Color(0.5, 0.5, 0.5);

    //iterate materials 
    for (index in mats) {

        //index is the material name (unique string in the list)
        m = mats[index];

        //store texture info
        oldTextures[index] = m.map;
        oldColors[index] = m.color;

        //set the material without texture and the grey color
        m.map = null;
        m.color = grey;

        //mark the material dirty. The viewer will refresh
        m.needsUpdate = true; 
    }

    //refresh the scene
    NOP_VIEWER.impl.invalidate(true, true, false);
}

//show texture
function showTexture()
{
    //get materials list
    var mats = NOP_VIEWER.impl.matman()._materials;

    //iterate materials 
    for (index in mats) {

        //index is the material name (unique string in the list)

        m = mats[index];
 
       //restore
        m.map = oldTextures[index];
        m.color = oldColors[index];;
        m.needsUpdate = true; 
    }

    //refresh the scene

    NOP_VIEWER.impl.invalidate(true, true, false);

}

在隱藏貼圖前的樣子:

在移除貼圖后的樣子:

上述的例子我沒(méi)有在 Shader Material 上測(cè)試,或許有更有的辦法可行,我建議各位朋友們可以參考我同事發(fā)布的其他博客:

Using Shaders to Generate Dynamic Textures in the Viewer API

Ace Editor for Three.js ShaderMaterials in the Forge Viewer

Forge Viewer Custom Shaders - Part 1

Forge Viewer Custom Shaders - Part 2

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/88904.html

相關(guān)文章

  • 「翻譯」Forge Viewer上實(shí)作簡(jiǎn)易的模型版本比較

    摘要:現(xiàn)在讓我們修改這個(gè)示例讓他可以展示兩個(gè)同項(xiàng)目但不同版號(hào)的模型及。示例執(zhí)行結(jié)果如下這邊是這個(gè)比較模型的括展代碼英文原文 showImg(https://segmentfault.com/img/bVOmjp?w=1542&h=925); 熟悉 BIM360 Team 的朋友可能知道他有一個(gè)很牛的模型文檔版本比較的功能,但如果模型是放在 Google 云盤或是百度云盤上有可能做到嗎? Au...

    JowayYoung 評(píng)論0 收藏0
  • Forge Viewer 加入自訂義線

    摘要:可能有許多原因你想在里加入自訂義的線型,例如顯示線框幾何視覺(jué)化包圍箱或者其他你想帶給使用者的視覺(jué)回饋。下面是我傳寫的一個(gè)例子,他可以在選重構(gòu)件后在場(chǎng)景里用自定義線型描繪它的包圍箱,在線示例可以參考這里 showImg(https://segmentfault.com/img/bVVaUx?w=1794&h=930); 這篇文章的原著是 Autodesk AND 的 Philippe L...

    zilu 評(píng)論0 收藏0
  • 自定義 Forge Viewer 右鍵菜單(Context Menu)

    摘要:前陣子有些圈的朋友們都在詢問(wèn)同一個(gè)問(wèn)題要怎么在的自帶右鍵菜單上添加自定義項(xiàng)目或是只顯示自訂義項(xiàng)目以下將針對(duì)在自帶右鍵菜單上添加自定義項(xiàng)目和只顯示自訂義項(xiàng)目的右鍵菜單進(jìn)行說(shuō)明。 前陣子有些 Autodesk Forge 圈的朋友們都在詢問(wèn)同一個(gè)問(wèn)題『要怎么在 Viewer 的自帶右鍵菜單上添加自定義項(xiàng)目或是只顯示自訂義項(xiàng)目』~ 以下將針對(duì)『在自帶右鍵菜單上添加自定義項(xiàng)目』和『只顯示自訂義...

    Harriet666 評(píng)論0 收藏0
  • Autodesk Forge Viewer 信息本地化技術(shù)分析

    摘要:默認(rèn)情況下,是英文環(huán)境,調(diào)取的是的資源其實(shí)無(wú)需翻譯。但是,如前面提到的,語(yǔ)言包只是包含了部分常規(guī)字串的翻譯,如果遇到?jīng)]有包含的常規(guī)字串怎么辦呢例如,本例中的語(yǔ)言包并沒(méi)有對(duì),進(jìn)行翻譯,所以即使切換了語(yǔ)言,它們?nèi)耘f是英文。 注:本文是個(gè)人調(diào)試分析所得,非官方文檔,請(qǐng)酌情選用參考。文中分析的數(shù)據(jù)由https://extract.autodesk.io轉(zhuǎn)換下載而來(lái)。 談到信息本地化,個(gè)人覺(jué)得包...

    littleGrow 評(píng)論0 收藏0
  • Forge Viewer v3.2 攝像頭新事件 CAMERA_TRANSITION_COMPLET

    摘要:需要知道的攝像頭是不是已經(jīng)不再移動(dòng)或轉(zhuǎn)動(dòng)了的朋友有福了,自此版號(hào)開(kāi)始開(kāi)始引入一個(gè)叫的事件,當(dāng)攝像頭的完成后就會(huì)被觸發(fā),它的使用方法如下注冊(cè)事件調(diào)用攝像頭聚焦的目前已知適用的情境回到默認(rèn)視角相關(guān)的變動(dòng)使攝像頭聚焦在構(gòu)件上怖滿檢視整個(gè)模型透過(guò)回 需要知道 Forge Viewer 的攝像頭是不是已經(jīng)不再移動(dòng)或轉(zhuǎn)動(dòng)了的朋友有福了,自此版號(hào) 3.2開(kāi)始 Viewer 開(kāi)始引入一個(gè)叫 Autod...

    frolc 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<