1. 程式人生 > >unity 動態打atlas圖集

unity 動態打atlas圖集

NGUI提供了很方便的UIAtlas,其主要作用是改進DrawCall,把眾多圖片整合在一張貼圖上,由於簡單易用的好處,所以只是用原生的GUI很容易忽視DrawCall的 問題 ,所以NGUI為了改進,才有了UIAtlas。當然NGUI還做了很多優化。

  這裡主要還是介紹如何利用UISprite來動態的載入圖片。NGUI所提供的UIAtlas雖然好用,但只能在Editor內生成貼圖和prefab以供UISprite使用。為了能夠讓遊戲資源與遊戲本體儘可能的分離,特別是遊戲資源需要動態更新的情況。很多時候,都需要動態載入,動態設定UIAtlas。

  這裡主要介紹2個方法。


  方法1:直接在程式碼中建立和設定UIAtlas並對UISprite進行顯示。這種方法可以對任何零散的貼圖進行載入,但缺點是浪費DrawCall,主要應用在特別零散的貼圖資源上。

[AppleScript]  純文字檢視  複製程式碼 ?
  01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

public class ImageLoader : MonoBehaviour { / / 需要載入動態圖片的物件 public UISprite m_img; / /
自用的Atlas private UIAtlas m_uiAtlas; / / / <s ummary > / / / 載入的貼圖 / / / < / summary > / / / < param name = “tex” >

相關推薦

unity 動態atlas圖集

NGUI提供了很方便的UIAtlas,其主要作用是改進DrawCall,把眾多圖片整合在一張貼圖上,由於簡單易用的好處,所以只是用原生的GUI很容易忽視DrawCall的 問題 ,所以NGUI為了改進,才有了UIAtlas。當然NGUI還做了很多優化。   這裡主要還是介紹如何利用

unity開就黑屏,怎麽辦?

color node 自己 package 如果 user div use post   1)進入目錄C:\Users\name\AppData\Roaming\Unity\Packages   2)創建文件夾node_modules,並進入node_modules。

Unity 動態生成mesh圓圈

  using UnityEngine; using System.Collections; [RequireComponent(typeof(MeshRenderer), typeof(MeshFilter))] public class yuan : MonoBehaviour

unity動態載入FBX模型(Http下載到Rescources檔案,場景Load直接呼叫):

using UnityEngine; using System.Collections; using System.IO; using System.Net; using System; using UnityEditor;    public class WWWLo

unity動態載入場景Resources.Load方法

Resources.Load:使用這種方式載入資源,首先需要下Asset目錄下建立一個名為Resources的資料夾(可以不在一級目錄,二級目錄也可以),這個命名是U3D規定的方式,然後把資原始檔放進去,當然也可以在Resources中再建立子資料夾,程式碼載入時需要新增相應的資源路徑。 下面是一個簡de

拉窗簾函數(動態印字符串)

class sizeof size bubuko .com har s函數 圖片 *** 1 #include<Windows.h> 2 #include<stdio.h> 3 #include<stdlib.h> 4 #inc

Unity動態建立帶有Shader的Material

Unity5.x不在允許通過string的格式給材質新增shader,必須通過shaderAssets,否則警告: UnityEngine.Material.Material(string) is o

unity動態建立資料夾

在做unity專案中,首先要建立好分類的資料夾,現在通過寫程式碼的方式減少了手動建立資料夾這一步驟; private void Start() { CreateBasicFolder(); } #if UNITY_EDIT

Unity動態建立的Mesh,匯出為Obj模型檔案,並生成Prefab檔案

Unity執行時,動態建立的Mesh掛載到MeshFilter元件上,並不能儲存到本地Prefab檔案裡。在執行的場景裡,拖拽正確配置的MeshFilter物件到Unity資源管理器。生成的Prefab檔案,裡面的Mesh物件會missing。所以,我們需要在執行狀態,匯

Unity動態編輯Terrain(三) 自定義筆刷

**** 程式碼我已經上傳到了我的Github上,需要的話可以直接去下載https://github.com/xdedzl/xdedzl,裡面有一個TerrainModilfyDemo的場景,我做了一個簡單的UI用來測試,工程版本是2018.3。注意編譯環境需要是.net4.x,用3.5會報錯。

Unity 動態載入與記憶體(一)

Unity裡有兩種動態載入機制:一是Resources.Load,一是通過AssetBundle,其實兩者本質上我理解沒有什麼區別。Resources.Load就是從一個預設打程序序包裡的AssetBundle里加載資源,而一般AssetBundle檔案需要你自己建立,執行

unity動態載入資源

初學Unity的過程中,會發現打包釋出程式後,unity會自動將場景需要引用到的資源打包到安裝包裡,沒有到的不會跟進去。我們在編輯器裡看到的Asset中的檔案結構只是工作於編輯器環境下的,在遊戲中unity會重新組織資料庫。這是我們一定會遇到一個需求,即動態的載入我們自己的檔

Unity動態編輯Terrain地形(四)植被編輯

**** 完整程式碼我已經上傳到了我的Github上,需要的話可以直接去下載https://github.com/xdedzl/xdedzl,裡面有一個TerrainModilfyDemo的場景,我做了一個簡單的UI用來測試,工程版本是2018.3。注意編譯環境需要是.net4.x,用3.5會報

unity 動態更新模型透明度

RaycastHit[] hits; Vector3 normal = transform.position - target.position; hits = Physics.RaycastAll(target.position, normal, float.P

unity 動態匹配按鈕的點選事件

我們在UI的時候,肯定少不了建立Button,既然是按鈕肯定少不了點選事件,如果按鈕少了還好說,通過unity面板進行視覺化操作就好了,但如果一個UI裡面有大量的按鈕,一個遊戲裡有很多重複場景,那麼我

Unity——動態改變物體遮擋層級

在動態建立物體時,通常同父級下先建立的子物體會被後建立的遮擋,此時就需要我們用程式碼改變物件的層級。GameObject go;go.transform.SetAsLastSibling();//設定物件為最下層go.transform.SetAsFirstSibling()

Unity動態載入LightMap

  大家好,我是小唐!最近做一個要動態載入LightMap因為好多的現在的平臺都希望包小一點,然後像頁遊的話要想優化的話,大部分裡面的資源都是要進行動態載入的。開始的時候自己也是沒有什麼思路,看到網上的大神的一些分享有的是說把光照貼圖做成asset然後在對其進行打包,然江我

Unity動態換裝之Spine換裝

一、動態換裝原理 換裝,無非就是對模型的網格,或者貼圖進行鍼對性置換; 對於3D區域性換裝,我們可能需要單獨換模型和貼圖,也可能只需要單獨置換貼圖即可 對與Spine2D角色換裝,我們基本上只需要針對性置換貼圖,也就是Slot插槽上對應的附著物Attachment即可 二、換

Unity動態載入資源-Resource.Load

unity中使用Resource.Load載入資源前提--Asset下存在Resources資料夾且要載入的資源在Resources目錄下; Resources.Load返回一個Object型別,因此在例項化時應進行型別轉換 當然也可以在載入時便進行型別轉換,這樣就可以避

unity動態美術字體制作

使用工具bmfont 把需要的文字寫到一個文字檔案,選擇Edit->Select Chars from file. 可以看到文本里的字已經被選中了,然後Edit->Open Image Manager 移到要新增的字上面,記錄下字的編碼號,Image->