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

Unity學(xué)習(xí)筆記--如何用代碼Copy Component并且Paste到其他游戲?qū)ο笊希?/h1>

這篇具有很好參考價值的文章主要介紹了Unity學(xué)習(xí)筆記--如何用代碼Copy Component并且Paste到其他游戲?qū)ο笊??。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

最近需要在編輯器模式下,用代碼實現(xiàn)復(fù)制一個組件并且移動到另一個游戲?qū)ο笊?br> 簡單來說就是剪切

解決辦法

通過查詢Unity API可以了解到 UnityEditorInternal.ComponentUtility.CopyComponent。

比如我們想把A游戲?qū)ο笊系?strong>Rigidbody組件移動到B游戲?qū)ο笊?/p>

private void CopyRBCompToRoot(GameObject target_go, GameObject copied_go)
{
	var rb_comp = target_go.GetComponent<Rigidbody>();
	UnityEditorInternal.ComponentUtility.CopyComponent(rb_comp);//復(fù)制當(dāng)前組件
	UnityEditorInternal.ComponentUtility.PasteComponentAsNew(target_go);//粘貼組件
}

進階玩法

有時候,我們可能需要把一個游戲?qū)ο笊系牟糠纸M件拷貝下來,那這個時候該怎么做呢?

我們可以首先拿到所有的組件,然后寫一個過濾器,只需要拷貝我們需要的組件類型就好了文章來源地址http://www.zghlxwxcb.cn/news/detail-605438.html

private static void CopyCompsToRoot(GameObject target_go, GameObject copy_go)
{
	//不需要copy的過濾器
    HashSet<System.Type> filter_types = new HashSet<System.Type>() { typeof(Transform), typeof(Animator) };
    
    Component[] copied_comps = copy_go.GetComponents<Component>();
    
    foreach (Component comp in copied_comps)
    {
        if (CheckCanCopyComp(comp, filter_types))
        {
            UnityEditorInternal.ComponentUtility.CopyComponent(comp);
            UnityEditorInternal.ComponentUtility.PasteComponentAsNew(target_go);
            Object.DestroyImmediate(comp);//這里由于需求,我們需要在粘貼之后刪除原組件
        }
    }
}

private static bool CheckCanCopyComp(Component comp ,HashSet<System.Type> types)
{
    HashSet<System.Type> types = new HashSet<System.Type>()
    {
        typeof(PrincePrefabAssetTracker), typeof(Transform), typeof(Animator)
    };
    if (types.Contains(comp.GetType()))
    {
        return false;
    }
    return true;
}

到了這里,關(guān)于Unity學(xué)習(xí)筆記--如何用代碼Copy Component并且Paste到其他游戲?qū)ο笊希康奈恼戮徒榻B完了。如果您還想了解更多內(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īng)查實,立即刪除!

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

相關(guān)文章

  • 如何用git創(chuàng)建本地倉庫并且push到遠(yuǎn)程倉庫

    在本地創(chuàng)建一個 Git 倉庫并將其推送到遠(yuǎn)程倉庫,需要按照以下步驟操作: 在本地創(chuàng)建一個 Git 倉庫,可以使用以下命令: git init 這個命令會在當(dāng)前目錄下創(chuàng)建一個空的 Git 倉庫。 在本地創(chuàng)建一些文件,可以使用文本編輯器或者其他工具,創(chuàng)建一些文件并保存到 Git 倉庫中。

    2024年02月06日
    瀏覽(33)
  • 如何用深度強化學(xué)習(xí)做單元測試代碼生成

    設(shè)計一個用強化學(xué)習(xí)來生成單元測試代碼的系統(tǒng)需要考慮以下幾個方面: Agent:強化學(xué)習(xí)算法中的智能體,它需要接收當(dāng)前環(huán)境狀態(tài),根據(jù)策略選擇相應(yīng)的動作并執(zhí)行。 State:描述當(dāng)前環(huán)境狀態(tài)的特征。在這個問題中,狀態(tài)可以包括待測試函數(shù)的輸入和輸出,以及已經(jīng)生成的

    2024年01月17日
    瀏覽(20)
  • Unity學(xué)習(xí)筆記--如何在Unity中把自己的代碼打包成dll給別人使用?(純保姆式教學(xué),看完還不會,今晚八點,來沙城砍我)

    Unity學(xué)習(xí)筆記--如何在Unity中把自己的代碼打包成dll給別人使用?(純保姆式教學(xué),看完還不會,今晚八點,來沙城砍我)

    最近公司放年假了,沒什么事做,所以來公司學(xué)習(xí)(蹭吃蹭喝ing) 突然記起來,秋招的時候,有面試官問我:如何在Unity中把自己寫的代碼給別人或者其他項目使用? 當(dāng)時知道是利用C#的程序集來做,但是問我具體該怎么處理,我就不知道了,因為當(dāng)時只有理論知識,沒有實

    2024年01月18日
    瀏覽(32)
  • 小白教程:PyQt5點擊按鈕,調(diào)用筆記本電腦攝像頭將實時畫面顯示在label控件上,并且使用UI代碼和邏輯代碼分開的方式

    小白教程:PyQt5點擊按鈕,調(diào)用筆記本電腦攝像頭將實時畫面顯示在label控件上,并且使用UI代碼和邏輯代碼分開的方式

    能力一般,水平有限,真心歡迎批評指正!以后會不斷完善修改,如果對你有幫助歡迎點贊收藏! 小白教程,當(dāng)我們掌握了一點點的Qt Designer的技能,得意于能夠在界面上作畫的時候,怎么編寫其中的邏輯關(guān)系是我們進一步想要了解的,下面介紹了 點擊按鈕--調(diào)用筆記本電腦

    2024年01月17日
    瀏覽(42)
  • 九耶丨閣瑞鈦倫特-請描述一下如何用Axure繪制banner圖效果,并且將這個功能進行詳細(xì)描述。

    第一步:準(zhǔn)備圖片 首先準(zhǔn)備三張大小相同的圖片。 第二步:創(chuàng)建動態(tài)面板 右鍵點擊第一張圖片,喚起菜單,選擇“創(chuàng)建動態(tài)面板”。 雙擊動態(tài)面板,進入動態(tài)面板編輯界面。點擊“復(fù)制狀態(tài)”圖標(biāo),復(fù)制出三個狀態(tài),分別放置三張圖片。 接下來需要替換狀態(tài)2與狀態(tài)3的圖片

    2024年02月11日
    瀏覽(15)
  • Unity筆記:修改代碼執(zhí)行的默認(rèn)打開方式

    Unity筆記:修改代碼執(zhí)行的默認(rèn)打開方式

    使用? External Tools ?偏好設(shè)置可設(shè)置用于編寫腳本、處理圖像和進行源代碼控制的外部應(yīng)用程序。 External Script Editor: 選擇 Unity 應(yīng)使用哪個應(yīng)用程序來打開腳本文件。Unity 會自動將正確的參數(shù)傳遞給內(nèi)置支持的腳本編輯器。Unity 內(nèi)置支持 Visual Studio Community、Visual Studio Code (V

    2024年02月05日
    瀏覽(23)
  • [Unity]關(guān)于Unity接入Appsflyer并且打點支付

    [Unity]關(guān)于Unity接入Appsflyer并且打點支付

    首先需要去官方下載Appsflyer的UnityPackage 鏈接在這afPackage 然后導(dǎo)入 導(dǎo)入完成 引入此段代碼 然后把他掛在到一個有DontDestroyOnLoad(this)的物體上 沒有的話就自己在awake里面加一個 接下來需要引入 這個物體 Key Id和上面一樣 然后下面就是埋點支付的教程了 在In app 的這個方法里 添

    2024年01月18日
    瀏覽(16)
  • R語言中的函數(shù)25:paste,paste0

    paste0()和paste()函數(shù)都可以實現(xiàn)對字符串的連接,paste0是paste的簡化版。 … one or more R objects, to be converted to character vectors. sep a character string to separate the terms. Not NA_character_. collapse an optional character string to separate the results. Not NA_character_. recycle0 logical indicating if zero-length character ar

    2024年02月13日
    瀏覽(32)
  • 【Unity學(xué)習(xí)筆記】Unity TestRunner使用

    【Unity學(xué)習(xí)筆記】Unity TestRunner使用

    轉(zhuǎn)載請注明出處:??https://blog.csdn.net/weixin_44013533/article/details/135733479 作者:CSDN@|Ringleader| 參考: Input testing Getting started with Unity Test Framework HowToRunUnityUnitTest 如果對Unity的newInputSystem感興趣可以參看我這篇文章:【Unity學(xué)習(xí)筆記】第十二 · New Input System 及其系統(tǒng)結(jié)構(gòu) 和 源碼淺

    2024年01月22日
    瀏覽(16)
  • unity如何鎖定鼠標(biāo)光標(biāo)位置并且隱藏

    unity如何鎖定鼠標(biāo)光標(biāo)位置并且隱藏?常見fps游戲需要這樣的設(shè)定 Unity中隱藏鼠標(biāo)光標(biāo)的方法是使用 Cursor.visible 屬性和 Cursor.lockState 屬性。 要隱藏鼠標(biāo)光標(biāo),可以將 Cursor.visible 屬性設(shè)置為 false,同時將 Cursor.lockState 設(shè)置為 CursorLockMode.Locked,這將鎖定鼠標(biāo)在屏幕中央并隱藏光

    2024年02月08日
    瀏覽(25)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包