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

Unity快速入門教程-詳解預(yù)制體(Prefab)及其實例化Instantiate

這篇具有很好參考價值的文章主要介紹了Unity快速入門教程-詳解預(yù)制體(Prefab)及其實例化Instantiate。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔


前言

博主剛學(xué)習(xí)unity的時候,在網(wǎng)上找預(yù)制體相關(guān)的博客,可是很難找到一篇凝練且通俗易懂介紹預(yù)制體的文章,浪費了不少時間且難以理解一些文章的內(nèi)容。自己摸索學(xué)習(xí)了一段時間過后,總算對預(yù)制體有了一定的了解,現(xiàn)在本篇文章將凝練的講一講unity中的預(yù)制體及其實例化。


提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

一、預(yù)制體(Prefab)是什么?

1.1預(yù)制體簡介

大家平時點的外賣,其菜品很多就是通過預(yù)制菜制作的,預(yù)制菜的主要特點是規(guī)格統(tǒng)一且經(jīng)過簡單加工即可制成成品。我們可以把現(xiàn)實中的預(yù)制菜比作unity中的預(yù)制體,廚師加工預(yù)制菜的過程就是預(yù)制體實例化的過程,這里的廚師其實就是instantiate函數(shù),通過函數(shù)將預(yù)制體實例化。廚師用預(yù)制菜制作出了一道成品菜,就是instantiate函數(shù)實例化了一個預(yù)制體,將該預(yù)制體呈現(xiàn)在場景中。

1.2預(yù)制體是什么樣子的?

預(yù)制體可以有多種元素組合而成,所謂的元素一般是游戲素材,比如圖片,模型等,將所有的元素打包成一個物體,這個物體就是所謂的預(yù)制體。
如圖樣例就是一個命名為【GameObject】的預(yù)制體,它包括了場景中出現(xiàn)的所有元素(房子,馬路,樹木,柵欄,草叢),函數(shù)實例化該預(yù)制體后,游戲場景中就會一齊出現(xiàn)房子馬路等元素的一個集合。

unity instantiate,unity入門學(xué)習(xí),unity,游戲引擎,c#

1.3預(yù)制體作用與用途

在一個游戲項目中,場景可能就是由許多個預(yù)制體拼湊而成,每個預(yù)制體組成了場景中的一點部分元素,比如要制作一個無限大的地圖,通常游戲就會設(shè)置當(dāng)主視角接近場景邊界的時候,就往外隨機生成一個預(yù)制體場景,這樣就能實現(xiàn)無限大地圖的效果。預(yù)制體的使用就會大大方便對地圖元素的管理。
如果你要制作一把游戲槍械,當(dāng)槍械激發(fā)時你想做出一顆顆子彈出槍膛的效果,那么子彈也可以做成一種預(yù)制體,不斷在槍口實例化,且實例化之后沿著槍口方向移動。

二、制作一個預(yù)制體

2.1制作預(yù)制體示例

unity instantiate,unity入門學(xué)習(xí),unity,游戲引擎,c#

我們首先將素材拖入場景界面,可以根據(jù)你對游戲場景的設(shè)計,擺出你希望的預(yù)制體的樣子,你所設(shè)計的樣子,就是以后預(yù)制體實例化的樣子。

unity instantiate,unity入門學(xué)習(xí),unity,游戲引擎,c#unity instantiate,unity入門學(xué)習(xí),unity,游戲引擎,c#

然后我們創(chuàng)建一個空的物體,將我們所添加的元素全部并入到該空物體,成為其子項。

unity instantiate,unity入門學(xué)習(xí),unity,游戲引擎,c#unity instantiate,unity入門學(xué)習(xí),unity,游戲引擎,c#

最后,我們將【GameObject】拖入到Project的一個文件夾,至此,一個預(yù)制體就制作完成了。以后要使用該預(yù)制體的時候,我們就可以從Project中實例化該預(yù)制體。保存好之后就可以把場景【Hierarchy】里面的【GameObject】刪去了,保存【Project】里面的源預(yù)制體即可,因為我們實例化調(diào)用的是項目里面的源預(yù)制體。

2.2預(yù)制體實例化

要實例化一個預(yù)制體,我們首先要代碼獲取到源預(yù)制體,然后在通過Instantiate函數(shù)將獲得的源預(yù)制體實例化。

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

public class Test : MonoBehaviour
{
    //預(yù)制體是用GameObject類型
    public GameObject prefab; 
}

unity instantiate,unity入門學(xué)習(xí),unity,游戲引擎,c#
unity instantiate,unity入門學(xué)習(xí),unity,游戲引擎,c#

unity instantiate,unity入門學(xué)習(xí),unity,游戲引擎,c#

我們可以通過pubic來獲取外部的源預(yù)制體,pubic可以在編輯器界面生成一個面板窗口,隨后將源預(yù)制體拖放到【Test】腳本下的【Prefab】窗口。

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

public class Test : MonoBehaviour
{
    public GameObject prefab;
    private void Start()
    {
        Instantiate(prefab);
    }
}

unity instantiate,unity入門學(xué)習(xí),unity,游戲引擎,c#

在腳本中加上Instantiate(prefab),保存代碼返回編輯器中點擊play運行,即可簡單的將預(yù)制體實例化,生成剛剛所設(shè)計的場景在游戲中。


總結(jié)

本文只是簡單的介紹了Instantiate函數(shù)的最簡單用法,Instantiate函數(shù)還可以設(shè)置更多參數(shù),比如初始化預(yù)制體的位置,旋轉(zhuǎn)角度等,比如文章來源地址http://www.zghlxwxcb.cn/news/detail-780963.html

      Instantiate(prefab, new Vector3(0,0,0), Quaternion.identity);

到了這里,關(guān)于Unity快速入門教程-詳解預(yù)制體(Prefab)及其實例化Instantiate的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Unity快速入門教程-創(chuàng)建并啟用c#腳本

    Unity快速入門教程-創(chuàng)建并啟用c#腳本

    提示:本篇文章主要提供新手入門學(xué)習(xí),初次發(fā)文,多多指教 unity通過c#腳本構(gòu)建項目邏輯關(guān)系,本篇介紹c#腳本創(chuàng)建,啟用及其簡單示例 提示:以下是本篇文章正文內(nèi)容,下面案例可供參考 在Project窗口依次單擊右鍵–Create–C#Script,創(chuàng)建腳本,假設(shè)命名為【Test】。

    2024年02月11日
    瀏覽(37)
  • Unity 之預(yù)制體(Prefab)的解釋以及用法

    Unity 之預(yù)制體(Prefab)的解釋以及用法

    Unity中的預(yù)制體(Prefab)是一種重要的資源類型,用于創(chuàng)建和管理游戲?qū)ο螅℅ameObject)。預(yù)制體是一種可重用的模板,可以在游戲場景中多次實例化,使開發(fā)人員能夠更輕松地創(chuàng)建和管理大量相似的對象。以下是有關(guān)Unity預(yù)制體的詳細(xì)介紹,包括其作用和用法: 作用: 重用性

    2024年02月09日
    瀏覽(33)
  • 第十七章 Unity 預(yù)制件prefab(下)

    第十七章 Unity 預(yù)制件prefab(下)

    本章節(jié)我們來講解如何編輯預(yù)制體文件。這里介紹三種打開編輯預(yù)制件的方式。第一就是通過預(yù)制件的實例游戲?qū)ο蟮腎nspector檢視面板上面的預(yù)制件“打開”按鈕。 第二就是在Project工程面板中選中預(yù)制件文件(Cube.prefab),然后在Inspector檢視面板中點擊“打開預(yù)制件”。 第

    2024年02月04日
    瀏覽(22)
  • 第十六章 Unity 預(yù)制件prefab(上)

    第十六章 Unity 預(yù)制件prefab(上)

    本章節(jié)我們介紹一下“預(yù)制件”,也有人叫“預(yù)制體”,也就是Prefab。在游戲世界中,那些自然環(huán)境的游戲?qū)ο?,我們可以提前?chuàng)建在場景中,這個大家能夠理解。但是,有些游戲?qū)ο螅枰鶕?jù)游戲邏輯來通過代碼生成,例如刷新怪物,觸發(fā)機關(guān)等等。Unity 的預(yù)制件系統(tǒng)允許

    2024年02月08日
    瀏覽(34)
  • [unity3D]什么是預(yù)制體(Prefab)?如何制作預(yù)制體?如何導(dǎo)出預(yù)制體?預(yù)制體變體是什么?

    [unity3D]什么是預(yù)制體(Prefab)?如何制作預(yù)制體?如何導(dǎo)出預(yù)制體?預(yù)制體變體是什么?

    將物體轉(zhuǎn)成預(yù)制體之后,就可以以此為模板創(chuàng)建非常多個和預(yù)制體一模一樣的物體了,其實就是復(fù)制。在游戲中我們都見過很多一模一樣的物體,只是放置的位置或者其他一些參數(shù)不太一樣,我們不可能一個一個從方塊,球開始慢慢建造,所以就出現(xiàn)了預(yù)制體,幫助我們減少

    2024年02月02日
    瀏覽(89)
  • [Unity]將物體(gameObject)與預(yù)制體(Prefab)取消關(guān)聯(lián),解綁

    [Unity]將物體(gameObject)與預(yù)制體(Prefab)取消關(guān)聯(lián),解綁

    在如下Hierarchy窗口中右鍵點擊要解綁的物體 ?在右鍵菜單中選擇prefab-》Unpack即可將對象與預(yù)制體解除關(guān)聯(lián) ? ? ?

    2024年02月11日
    瀏覽(22)
  • Unity快速入門教程-制作一個簡易版的計時器Time.deltaTime

    制作游戲的時候,可能會需要到一個計時器,本篇文章附完整計時器代碼 本文將簡單介紹 一次計時器 和 循環(huán)計時器 的代碼 Time.deltaTime是幀與幀相減出來的,即 Time.deltaTime=后一幀時間-前一幀時間 ,計算結(jié)果由你的電腦配置而定,不是固定值。由于Time.deltaTime的結(jié)果是由后一

    2024年02月12日
    瀏覽(32)
  • Gradio入門到進(jìn)階全網(wǎng)最詳細(xì)教程[二]:快速搭建AI算法可視化部署演示(側(cè)重參數(shù)詳解和案例實踐)

    相關(guān)文章:Gradio入門到進(jìn)階全網(wǎng)最詳細(xì)教程[一]:快速搭建AI算法可視化部署演示(側(cè)重項目搭建和案例分享) 在教程一中主要側(cè)重講解gradio的基礎(chǔ)模塊搭建以及demo展示,本篇文章則會側(cè)重實際任務(wù)的搭建。 保持一貫作風(fēng)簡單展示一下如何使用 gradio的核心是它的gr.Interface函數(shù),

    2023年04月26日
    瀏覽(39)
  • MaterialDesignInXAML WPF入門教程 快速入門

    MaterialDesignInXAML WPF入門教程 快速入門

    先去MaterialDesignInXAML下載下來源碼,以及Releases,在DemoApp 中就可以看到實際的效果很驚艷了。 除了要有一定的C#、winform 基礎(chǔ)外,建議先學(xué)習(xí)一下 XAML,對整個開發(fā)環(huán)境有個基礎(chǔ)的了解,再來學(xué)習(xí)此教程。 可以去bilibili上免費學(xué)習(xí)一下。教程一共12個小時,如果不看后面的實戰(zhàn)

    2024年02月05日
    瀏覽(28)
  • C語言快速入門教程1快速入門 2指令 3條件選擇

    C語言快速入門教程1快速入門 2指令 3條件選擇

    C是一種編程語言,1972年由Dennis Ritchie在美國AT T的貝爾實驗室開發(fā)。C語言變得很流行,因為它很簡單,很容易使用。今天經(jīng)常聽到的一個觀點是--\\\"C語言已經(jīng)被C++、Python和Java等語言所取代,所以今天何必再去學(xué)習(xí)C語言\\\"。我很不贊同這種觀點。這有幾個原因。這些原因如下:

    2024年02月03日
    瀏覽(35)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包