OnGUI 貼圖

2020-08-21 16:47 更新

純色背景的界面會(huì)給人以單調(diào)的感覺(jué),而Unity 3D 可以使用紋理貼圖讓游戲界面在視覺(jué)感受上更加生動(dòng)。

你可以將紋理貼圖想象成裝修時(shí)在墻上貼壁紙,通過(guò)紋理貼圖可以對(duì)界面生動(dòng)性、游戲沉浸感的提升上起到畫龍點(diǎn)睛的作用。

GUITexture 方法具體使用方法如下:

  • 將圖片導(dǎo)入 Unity 3D 中,執(zhí)行 AssetsImport PackageCustom Package 命令找到圖片位置,并加載進(jìn)來(lái)。

圖片加載后,可以在 Project 視圖中進(jìn)行查看。

  • 選中圖片,將 Texture type 修改成 sprit render 格式,然后將其加載到 Hierarchy 視圖中。

  • Unity 3D 會(huì)自動(dòng)分析圖片的寬和高,然后以此規(guī)格將其加載進(jìn)來(lái)。

如果此時(shí)發(fā)現(xiàn)圖片沒(méi)有全屏顯示或者顯示的大小不合意,可以在 Inspector 視圖中進(jìn)行圖片大小的縮放。

你也可以使用 GUI.DrawTexture 方法繪制貼圖,該方法原型如下:

  /*
     Rect position:表示圖片的繪制區(qū)域
   * Texture image:表示繪制圖片的對(duì)象
   * ScaleMode scaleMode:表示圖片的縮放模式
   * bool alphaBlend:表示十分開啟圖片混合模式
   * float imageAspect:表示圖片的縮放寬高比例
   */
   public static void DrawTexture(Rect position, Texture image, ScaleMode scaleMode, bool alphaBlend, float imageAspect);

注:

  • position 為紋理貼圖的位置。

  • Image 為所貼紋理圖片。

  • scaleMode 為紋理的縮放模式。

  • alphaBlend 為圖片的混合模式。

  • imageAspect 為圖片縮放的寬高比例。

&加載圖片資源放置在根目錄 Assets 中的 Resource 文件夾下,載入資源時(shí),將整個(gè)圖片文件夾載入即可。

使用案例

  1. 創(chuàng)建項(xiàng)目,將其命名為 texture,保存場(chǎng)景。

  1. 執(zhí)行 AssetsCreateJavaScript 命令,創(chuàng)建一個(gè)新的腳本文件。

  1. 在 Project 視圖中打開腳本編輯器,輸入下列語(yǔ)句:

    var aTexture:Texture;
    function OnGUI(){
        if(!aTexture){
            Debug.LogError("Assign a Texture in the inspector.");
            return;
        }
        GUI.DrawTexture(Rect(100, 10, 200, 200), aTexture);
    }

  1. Ctrl+S 鍵保存腳本。

  1. 在 Project 視圖中選擇腳本,并將其拖曳到 Hierarchy 視圖中的 Main Camera 上,使腳本和攝像機(jī)產(chǎn)生關(guān)聯(lián)。

  1. 在 Inspector 視圖中添加紋理資源。

  1. 進(jìn)行測(cè)試,效果如下圖所示。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)