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

Unity Timeline學(xué)習(xí)筆記(3) - SignalTrack信號(hào)軌道和自定義帶參數(shù)的Marker信號(hào)和軌道

這篇具有很好參考價(jià)值的文章主要介紹了Unity Timeline學(xué)習(xí)筆記(3) - SignalTrack信號(hào)軌道和自定義帶參數(shù)的Marker信號(hào)和軌道。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

信號(hào)軌道,顧名思義就是運(yùn)行到某處發(fā)送一個(gè)信號(hào)。

普通用法

普通用法就是沒有任何封裝的,個(gè)人感覺特別難用,但是有必要理解一下工作原理。

添加信號(hào)

我們添加一個(gè)信號(hào)資源
unity timeline signal,Unity,unity,timeline,marker,signal
生成后可以看到資源文件,這個(gè)是可以拖到SignalTrack上的。
unity timeline signal,Unity,unity,timeline,marker,signal

我們在Timeline上添加兩個(gè)信號(hào)軌道,并拖動(dòng)信號(hào)到軌道上。
unity timeline signal,Unity,unity,timeline,marker,signal
然后我們看到兩個(gè)信號(hào)接收器還是空的,我們可以添加信號(hào)接收。

自定義一個(gè)接收信號(hào)的腳本

我們創(chuàng)建一個(gè)普通的接收腳本。

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

public class SignalGetTest : MonoBehaviour
{
    public void GetSignal(int sig)
    {
        Debug.Log("接收到信號(hào)"+sig);
    }
}

然后我們建立兩個(gè)接收器來接收這兩個(gè)信號(hào)。
unity timeline signal,Unity,unity,timeline,marker,signal
unity timeline signal,Unity,unity,timeline,marker,signal
這里就是比較麻煩的地方,因?yàn)閕nt參數(shù)是在接收腳本上的,所以需要兩個(gè)接收。

把接收器拖入軌道引用里

把1拖入1,2拖入2。
unity timeline signal,Unity,unity,timeline,marker,signal
我們執(zhí)行看結(jié)果.
unity timeline signal,Unity,unity,timeline,marker,signal
這就是最基礎(chǔ)的用法了,這里因?yàn)樾盘?hào)不帶參數(shù)所以不方便使用,這里我添加了兩個(gè)接收器,或者可以創(chuàng)建不同的信號(hào)來實(shí)現(xiàn),那么如何使用一個(gè)信號(hào)發(fā)送帶參數(shù)不就很方便了,下面我們來看如何制作。

好用的辦法

我們需要3個(gè)腳本:
一個(gè)自定義接收器,一個(gè)帶參數(shù)的Mark信號(hào),一個(gè)自定義軌道。
先貼上腳本:

Mark信號(hào)

我的信號(hào)需要繼承Marker,類似于信號(hào)。

using UnityEngine.Playables;
using UnityEngine.Timeline;
using UnityEngine;
using System.ComponentModel;

[DisplayName("我的信號(hào)")]
public class MySignal : Marker, INotification, INotificationOptionProvider
{
    public string sigName;
    public int sigParm1;
    public PropertyName id { get; }

    NotificationFlags INotificationOptionProvider.flags => NotificationFlags.TriggerOnce | NotificationFlags.TriggerInEditMode;

   
}

我們可以看到下面就多了Add 我的信號(hào)
unity timeline signal,Unity,unity,timeline,marker,signal

接收器

這里負(fù)責(zé)處理不同的信號(hào)類型,我這里寫了如果是MySignal就顯示出來,如果你有多個(gè)信號(hào)類型可以自行擴(kuò)充。這個(gè)腳本掛在一個(gè)對象上就可以了。
unity timeline signal,Unity,unity,timeline,marker,signal
腳本如下:

using UnityEngine.Playables;
using UnityEngine;

class MySignalReceiver : MonoBehaviour,INotificationReceiver
{
    public void OnNotify(Playable origin, INotification notification, object context)
    {
        if (notification is MySignal)
        {
            MySignal signal = (MySignal)notification;
            Debug.Log(signal.sigName + "," + signal.sigParm1);
        }
        
    }
}

軌道

然后是我們的軌道,我們看到這個(gè)軌道Binding類型就是我們的接收器。


using System.ComponentModel;

using UnityEngine.Timeline;

[TrackBindingType(typeof(MySignalReceiver))]
[DisplayName("我的信號(hào)軌道")]
public class MySignalTrack : MarkerTrack
{
    
}

在Timeline上點(diǎn)擊鼠標(biāo)右鍵,我們就可以添加軌道了。
unity timeline signal,Unity,unity,timeline,marker,signal
unity timeline signal,Unity,unity,timeline,marker,signal
然后我們需要把腳本對象拖動(dòng)上去
unity timeline signal,Unity,unity,timeline,marker,signal
然后我們添加兩個(gè)信號(hào)
unity timeline signal,Unity,unity,timeline,marker,signal
并且可以輸入信號(hào)的參數(shù)。

我們運(yùn)行看效果
unity timeline signal,Unity,unity,timeline,marker,signal
這樣就實(shí)現(xiàn)了自定義信號(hào),也不麻煩還很好用。文章來源地址http://www.zghlxwxcb.cn/news/detail-849473.html

到了這里,關(guān)于Unity Timeline學(xué)習(xí)筆記(3) - SignalTrack信號(hào)軌道和自定義帶參數(shù)的Marker信號(hào)和軌道的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Unity Timeline及其相關(guān)插件

    Unity Timeline及其相關(guān)插件

    Timeline給不同類型的對象建立不同的軌道,在每個(gè)軌道的時(shí)間線上我們可以組織動(dòng)畫播放、音頻播放,游戲?qū)ο蟮娘@隱等操作,也可以自定義軌道完成一些個(gè)性化操作 使用Timeline需要Playable Director組件,它控制Timeline的播放,暫停,循環(huán)等功能,Timeline可以看作是劇本,Playabl

    2024年02月08日
    瀏覽(20)
  • Unity TimeLine跨場景動(dòng)態(tài)綁定對象

    在unity TimeLine使用時(shí),想要控制某個(gè)物體上的對象,直接將場景中該物體拖拽到對應(yīng)的PlayableDirector的Track上即可。但如果希望控制的物體是動(dòng)態(tài)生成的,或TimeLine作為Prefab的一部分出現(xiàn)在其他場景中,又希望控制場景中的物體等等,在不能使用拖拽指定或資源選擇指定資源的情

    2024年02月10日
    瀏覽(30)
  • Unity TimeLine循環(huán)播放某個(gè)時(shí)間段

    Unity TimeLine循環(huán)播放某個(gè)時(shí)間段

    1、設(shè)置Playable Director的Update Method為GameTime模式 2、API : using UnityEngine.Playables; 我們需要用到PlayableDirector的time屬性 3、設(shè)置開始和結(jié)束時(shí)間段(使用的幀率)我在0-158幀循環(huán)和158到290幀之間循環(huán) 4、代碼 代碼筆記

    2024年02月11日
    瀏覽(62)
  • 解決Unity打包后Timeline里部分特效沒顯示的bug

    比較詭異的問題,美術(shù)同學(xué)給過來的特效資源,在Edtior里是正常播放的,但打包后特效里應(yīng)該落下來的光柱卻消失了。 考慮到打包后的環(huán)境和Editor環(huán)境的區(qū)別 AssetBundle 通過在Editor里加載AssetBundle來播放,發(fā)現(xiàn)也是正常的,應(yīng)該不是資源問題。 ParticleSystem的Culling Mode 粒子系統(tǒng)

    2023年04月08日
    瀏覽(17)
  • Unity Timeline在編輯器下正常,真機(jī)(模擬器、手機(jī))不正常播放問題

    出現(xiàn)這個(gè)問題很大可能是因?yàn)樵O(shè)置了 Managed Stripping Level = Low 只需要改成 Managed Stripping Level = Medium就可以正常播 或者改Assets/link.xml沒有就新建 如果還是不能播放,可以考慮下是不是資源打包出問題了。 上面的代碼裁剪掉的明顯特征是,真機(jī)運(yùn)行l(wèi)og會(huì)出現(xiàn): The referenced script (U

    2024年03月13日
    瀏覽(115)
  • 「Verilog學(xué)習(xí)筆記」信號(hào)發(fā)生器

    「Verilog學(xué)習(xí)筆記」信號(hào)發(fā)生器

    專欄前言 本專欄的內(nèi)容主要是記錄本人學(xué)習(xí)Verilog過程中的一些知識(shí)點(diǎn),刷題網(wǎng)站用的是??途W(wǎng) ????????方波的實(shí)現(xiàn),較為簡單,只需要設(shè)置一個(gè)計(jì)數(shù)器,使輸出保持10個(gè)時(shí)鐘為0,跳變?yōu)?0,再保持10個(gè)時(shí)鐘。依次循環(huán)??梢园凑杖缦碌倪^程實(shí)現(xiàn):cnt每個(gè)時(shí)鐘加一,當(dāng)cnt=

    2024年02月05日
    瀏覽(20)
  • Unity對象池和自寫對象池

    Unity對象池和自寫對象池

    目錄 一. 什么是對象池 二、創(chuàng)建對象池 1、Stack ①Stack類 1構(gòu)造函數(shù) 2屬性 3方法 ②Stack對象池 2、Queue ①Q(mào)ueue類 1構(gòu)造函數(shù) 2屬性 3方法 ②Queue對象池 3.Unity官方對象池 ①Object Pool類 1構(gòu)造函數(shù) 2屬性 3方法 ②Object Pool對象池 一. 什么是對象池 顧名思義就是一定數(shù)量的已經(jīng)創(chuàng)建好的

    2024年01月21日
    瀏覽(18)
  • QT學(xué)習(xí)筆記4--自定義信號(hào)的槽

    QT學(xué)習(xí)筆記4--自定義信號(hào)的槽

    邏輯:下課后,老師餓了,學(xué)生請吃飯。 使用connect函數(shù)連接自定義的信號(hào)和槽函數(shù)。 聲明? ?void classover(); ?

    2024年02月11日
    瀏覽(19)
  • TinyWebServer學(xué)習(xí)筆記-互斥鎖、信號(hào)量、條件變量

    網(wǎng)站不可能是單線程的,否則網(wǎng)站的性能和響應(yīng)都會(huì)收到嚴(yán)重的影響。因此,這個(gè)項(xiàng)目一定是運(yùn)行在多線程條件下的。而在多線程條件下,對共享資源的互斥訪問就極其重要。 首先,我們要明確資源的使用一般有三個(gè)步驟: 1、獲取資源 2、使用資源 3、釋放資源 然而,大多

    2024年02月07日
    瀏覽(17)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包