最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

[UE5/Spine] 如何在一張藍(lán)圖中導(dǎo)入多個(gè)Spine角色

2023-08-08 18:28 作者:BFBD  | 我要投稿

前言:

突然有一天,你想在 UE5 里面做一個(gè)可以在正面和背面來(lái)回切換的小人。

紙片人轉(zhuǎn)身.gif

你興沖沖地往角色藍(lán)圖里塞了?SpineSkeletonRenderer 和?SpineSkeletonAnimation 各兩個(gè),對(duì)應(yīng)著放進(jìn)了小人的正反面 SpineData。然而 UE5 并沒(méi)有領(lǐng)會(huì)到你想做什么,只是呆呆地把第一個(gè)?SpineSkeletonAnimation 中的小人顯示在了?SpineSkeletonRenderer 上。于是你就上網(wǎng)搜索 “Spine unreal 導(dǎo)入多個(gè)角色” ,然后就找到了這里。

那么,希望這篇文章能夠解決你的疑惑。

版本:

Spine 4.0 latest

Spine-Runtime 4.0

Unreal Engine 5.1

原因分析:

在 Plugins/SpinePlugin/Source/SpinePlugin/Private/SpineSkeletonRendererComponent.cpp 中的 TickComponent() 方法中是這樣寫(xiě)的:

也就是每一 Tick 獲取該組件的 owner 并在上面尋找 USpineSkeletonComponent 類(USpineSkeletonAnimationComponent 的父類)的第一個(gè)組件,導(dǎo)致當(dāng)存在多個(gè)?SpineSkeletonAnimationComponent 時(shí)只會(huì)獲取第一個(gè)組件。

解決方案:

1. 在?SpineSkeletonRendererComponent.h 中新建一個(gè) public 變量

(當(dāng)然你也可以新建 private 變量并通過(guò) Getter() 和 Setter() 獲取和修改)

2. 修改?SpineSkeletonRendererComponent.cpp 中的 Tick() 方法

3. 以 Character 為例,新建 Character 類聲明并初始化 SpineSkeletonAnimationComponent 和?SpineSkeletonRendererComponent

4. 重寫(xiě) PostInitializeComponents() 方法

5. 新建藍(lán)圖,將正反面角色的數(shù)據(jù)放上去看看吧。

注意:?之后要使用 SpineComponent 的類都必須在 PostInitializeComponents() 中指定 SpineSkeletonComponent。

補(bǔ)充:做完第2步之后也許可以在角色藍(lán)圖的 Constructor 里指定?SpineSkeletonRendererComponent 的?SpineSkeletonComponent 為?SpineSkeletonAnimationComponent,不保真(當(dāng)然你得先給 SpineSkeletonComponent 變量加一個(gè) UPROPERTY(BlueprintReadAndWright)?)

尾聲:

根據(jù)你的需求來(lái)設(shè)置正面 Renderer 的 Visibility,比如說(shuō) 明日方舟 里人物朝上則顯示背面隱藏正面,朝下則顯示正面隱藏背面(沒(méi)有說(shuō)明日方舟小人就是我這樣的方法實(shí)現(xiàn)的,Unity 有專屬的對(duì)應(yīng)方法)。

???你還想看紙片人轉(zhuǎn)身怎么實(shí)現(xiàn)啊。也許有空的話下一篇文章會(huì)寫(xiě)吧,算是一個(gè)挺有趣的實(shí)現(xiàn)方法。

以上??See you next mission.

文|NPC

2023/08/08

[UE5/Spine] 如何在一張藍(lán)圖中導(dǎo)入多個(gè)Spine角色的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
鹤壁市| 弋阳县| 连云港市| 伊通| 北宁市| 双鸭山市| 大埔县| 嵊泗县| 洱源县| 阜新市| 万年县| 建昌县| 宜城市| 丁青县| 阿拉善右旗| 四川省| 芷江| 凤凰县| 凤翔县| 旬邑县| 阜阳市| 永康市| 西城区| 霍州市| 河西区| 股票| 怀宁县| 郑州市| 南宫市| 桃源县| 和顺县| 翁牛特旗| 花莲县| 桂东县| 高碑店市| 屯门区| 南汇区| 汽车| 吉水县| 惠州市| 桓仁|