Skip to content

Commit 87fe04d

Browse files
Merge pull request #5 from Live2D/develop
Update to Cubism 5 SDK for Unreal Engine R1 alpha4
2 parents 9d40484 + 17bdb94 commit 87fe04d

50 files changed

Lines changed: 1440 additions & 48 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
66

77

8+
## [5-r.1-alpha.4] - 2024-12-05
9+
10+
### Added
11+
12+
* Add motion curve validations to `motion3.json` importer. by [@pillowtrucker](https://github.com/Live2D/CubismNativeFramework/pull/57)
13+
* Add feature to reimport Cubism assets.
14+
* Due to incompatibility with this update, support for Unreal Engine 5.1 will be discontinued.
15+
16+
### Fixed
17+
18+
* Fix texture misidentification as normal maps.
19+
20+
821
## [5-r.1-alpha.3] - 2024-10-31
922

1023
### Changed
@@ -36,5 +49,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
3649
* New released!
3750

3851

52+
[5-r.1-alpha.4]: https://github.com/Live2D/CubismUnrealEngineComponents/compare/5-r.1-alpha.3...5-r.1-alpha.4
3953
[5-r.1-alpha.3]: https://github.com/Live2D/CubismUnrealEngineComponents/compare/5-r.1-alpha.2...5-r.1-alpha.3
4054
[5-r.1-alpha.2]: https://github.com/Live2D/CubismUnrealEngineComponents/compare/5-r.1-alpha.1...5-r.1-alpha.2

Live2DCubismSDK.uplugin

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"FileVersion": 3,
33
"Version": 1,
4-
"VersionName": "5-r.1-alpha.3",
4+
"VersionName": "5-r.1-alpha.4",
55
"FriendlyName": "Live2DCubismSDK",
66
"Description": "Live2D Cubism SDK for Unreal Engine Components",
77
"Category": "Other",

NOTICE.ja.md

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
# お知らせ
66

7-
## [制限事項] alpha版における機能制限について (2024-09-05)
7+
## [制限事項] alpha版における機能制限について (2024-12-05 更新)
88

99
### レベル
1010

@@ -13,11 +13,6 @@ alpha版ではOpenWorldレベルでの利用に対応しておりません。
1313

1414
### モデルの表示
1515

16-
#### モデルテクスチャ
17-
18-
現在モデルのテクスチャが1024x1024 1枚の場合に正常に描画されない問題を確認しています。
19-
これを回避するにはCubism Editorにてテクスチャアトラスを1024x1024 1枚以外(2048x2048 1枚、1024x1024 2枚 等)に設定し再度書き出し直したモデルをインポートしてください。
20-
2116
#### ピューポート表示
2217

2318
レベルにLive2Dモデルをスポーンした直後正しく表示されない場合があります。
@@ -27,11 +22,6 @@ alpha版ではOpenWorldレベルでの利用に対応しておりません。
2722

2823
alpha版ではモバイル端末上でのパフォーマンス向上のためのダブルバッファリングは実装されていません。
2924

30-
### 再インポート機能
31-
32-
alpha版では組み込み用ファイルの再インポート機能が実装されていません。
33-
再インポートを行う場合は、インポート済みのアセットを削除してから再度インポートを行ってください。
34-
3525
### コンポーネント
3626

3727
各コンポーネントのプロパティ値を変更しPlayした際、Playする前に変更した値が反映されない問題を確認しています。

NOTICE.md

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
# Notices
66

7-
## [Restrictions] Feature Restrictions in the Alpha Version (2024-09-05)
7+
## [Restrictions] Feature Restrictions in the Alpha Version (2024-12-05 update)
88

99

1010
### Level
@@ -13,12 +13,7 @@ The alpha version does not support the use of OpenWorld levels. Please use the B
1313

1414
### Display the model
1515

16-
#### Model Textures
17-
18-
We have identified an issue where models with a single 1024x1024 texture do not render correctly.
19-
To avoid this issue, please adjust the texture atlas in Cubism Editor to anything other than a single 1024x1024 (e.g., a single 2048x2048, or two 1024x1024 textures), then re-export and re-import the model.
20-
21-
### Viewport Display
16+
#### Viewport Display
2217

2318
Live2D models may not display correctly immediately after being spawned in a level.
2419
In such cases, please enable the real-time update feature in the viewport to refresh the screen.
@@ -27,11 +22,6 @@ In such cases, please enable the real-time update feature in the viewport to ref
2722

2823
Double buffering for performance improvement on mobile devices is not implemented in the alpha version.
2924

30-
### Assets Reimport
31-
32-
The assets reimport feature for embedded files is not implemented in the alpha version.
33-
If you need to reimport, please delete the imported assets and then reimport them.
34-
3525
### Components
3626

3727
We have identified an issue where property values changed in each component are not reflected when you play after making changes.

README.ja.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ Cubismファイルをuassetファイルに変換する機能は `./Source/Live2D
6666
| Unreal Editor 5.4 | 5.4.4 |
6767
| Unreal Editor 5.3 | 5.3.2 |
6868
| Unreal Editor 5.2 | 5.2.1 |
69-
| Unreal Editor 5.1 | 5.1.1 |
7069

7170
| ライブラリ / ツール | バージョン |
7271
| --- | --- |

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ Resources like shaders and other assets are located in `./Content/Materials`.
6666
| Unreal Editor 5.4 | 5.4.4 |
6767
| Unreal Editor 5.3 | 5.3.2 |
6868
| Unreal Editor 5.2 | 5.2.1 |
69-
| Unreal Editor 5.1 | 5.1.1 |
7069

7170
| Library / Tool | Version |
7271
| --- | --- |
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/**
2+
* Copyright(c) Live2D Inc. All rights reserved.
3+
*
4+
* Use of this source code is governed by the Live2D Open Software license
5+
* that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html.
6+
*/
7+
8+
9+
#include "DisplayInfo/CubismDisplayInfo3Json.h"
10+
11+
void UCubismDisplayInfo3Json::PostInitProperties()
12+
{
13+
#if WITH_EDITORONLY_DATA
14+
if (!HasAnyFlags(RF_ClassDefaultObject))
15+
{
16+
AssetImportData = NewObject<UAssetImportData>(this, TEXT("AssetImportData"));
17+
}
18+
#endif
19+
Super::PostInitProperties();
20+
}
21+
22+
#if WITH_EDITORONLY_DATA
23+
void UCubismDisplayInfo3Json::GetAssetRegistryTags(TArray<FAssetRegistryTag>& OutTags) const
24+
{
25+
if (AssetImportData)
26+
{
27+
OutTags.Add( FAssetRegistryTag(SourceFileTagName(), AssetImportData->GetSourceData().ToJson(), FAssetRegistryTag::TT_Hidden) );
28+
}
29+
30+
Super::GetAssetRegistryTags(OutTags);
31+
}
32+
void UCubismDisplayInfo3Json::Serialize(FArchive& Ar)
33+
{
34+
Super::Serialize(Ar);
35+
36+
if (Ar.IsLoading() && Ar.UEVer() < VER_UE4_ASSET_IMPORT_DATA_AS_JSON && !AssetImportData)
37+
{
38+
// AssetImportData should always be valid
39+
AssetImportData = NewObject<UAssetImportData>(this, TEXT("AssetImportData"));
40+
}
41+
}
42+
#endif
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/**
2+
* Copyright(c) Live2D Inc. All rights reserved.
3+
*
4+
* Use of this source code is governed by the Live2D Open Software license
5+
* that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html.
6+
*/
7+
8+
9+
#include "Expression/CubismExp3Json.h"
10+
11+
void UCubismExp3Json::PostInitProperties()
12+
{
13+
#if WITH_EDITORONLY_DATA
14+
if (!HasAnyFlags(RF_ClassDefaultObject))
15+
{
16+
AssetImportData = NewObject<UAssetImportData>(this, TEXT("AssetImportData"));
17+
}
18+
#endif
19+
Super::PostInitProperties();
20+
}
21+
22+
#if WITH_EDITORONLY_DATA
23+
void UCubismExp3Json::GetAssetRegistryTags(TArray<FAssetRegistryTag>& OutTags) const
24+
{
25+
if (AssetImportData)
26+
{
27+
OutTags.Add( FAssetRegistryTag(SourceFileTagName(), AssetImportData->GetSourceData().ToJson(), FAssetRegistryTag::TT_Hidden) );
28+
}
29+
30+
Super::GetAssetRegistryTags(OutTags);
31+
}
32+
void UCubismExp3Json::Serialize(FArchive& Ar)
33+
{
34+
Super::Serialize(Ar);
35+
36+
if (Ar.IsLoading() && Ar.UEVer() < VER_UE4_ASSET_IMPORT_DATA_AS_JSON && !AssetImportData)
37+
{
38+
// AssetImportData should always be valid
39+
AssetImportData = NewObject<UAssetImportData>(this, TEXT("AssetImportData"));
40+
}
41+
}
42+
#endif

Source/Live2DCubismFramework/Private/Model/CubismMoc.cpp

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,3 +109,36 @@ void UCubismMoc3::PostLoad()
109109

110110
Setup();
111111
}
112+
113+
void UCubismMoc3::PostInitProperties()
114+
{
115+
#if WITH_EDITORONLY_DATA
116+
if (!HasAnyFlags(RF_ClassDefaultObject))
117+
{
118+
AssetImportData = NewObject<UAssetImportData>(this, TEXT("AssetImportData"));
119+
}
120+
#endif
121+
Super::PostInitProperties();
122+
}
123+
124+
#if WITH_EDITORONLY_DATA
125+
void UCubismMoc3::GetAssetRegistryTags(TArray<FAssetRegistryTag>& OutTags) const
126+
{
127+
if (AssetImportData)
128+
{
129+
OutTags.Add( FAssetRegistryTag(SourceFileTagName(), AssetImportData->GetSourceData().ToJson(), FAssetRegistryTag::TT_Hidden) );
130+
}
131+
132+
Super::GetAssetRegistryTags(OutTags);
133+
}
134+
void UCubismMoc3::Serialize(FArchive& Ar)
135+
{
136+
Super::Serialize(Ar);
137+
138+
if (Ar.IsLoading() && Ar.UEVer() < VER_UE4_ASSET_IMPORT_DATA_AS_JSON && !AssetImportData)
139+
{
140+
// AssetImportData should always be valid
141+
AssetImportData = NewObject<UAssetImportData>(this, TEXT("AssetImportData"));
142+
}
143+
}
144+
#endif
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/**
2+
* Copyright(c) Live2D Inc. All rights reserved.
3+
*
4+
* Use of this source code is governed by the Live2D Open Software license
5+
* that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html.
6+
*/
7+
8+
9+
#include "Model/CubismModel3Json.h"
10+
11+
void UCubismModel3Json::PostInitProperties()
12+
{
13+
#if WITH_EDITORONLY_DATA
14+
if (!HasAnyFlags(RF_ClassDefaultObject))
15+
{
16+
AssetImportData = NewObject<UAssetImportData>(this, TEXT("AssetImportData"));
17+
}
18+
#endif
19+
Super::PostInitProperties();
20+
}
21+
22+
#if WITH_EDITORONLY_DATA
23+
void UCubismModel3Json::GetAssetRegistryTags(TArray<FAssetRegistryTag>& OutTags) const
24+
{
25+
if (AssetImportData)
26+
{
27+
OutTags.Add( FAssetRegistryTag(SourceFileTagName(), AssetImportData->GetSourceData().ToJson(), FAssetRegistryTag::TT_Hidden) );
28+
}
29+
30+
Super::GetAssetRegistryTags(OutTags);
31+
}
32+
void UCubismModel3Json::Serialize(FArchive& Ar)
33+
{
34+
Super::Serialize(Ar);
35+
36+
if (Ar.IsLoading() && Ar.UEVer() < VER_UE4_ASSET_IMPORT_DATA_AS_JSON && !AssetImportData)
37+
{
38+
// AssetImportData should always be valid
39+
AssetImportData = NewObject<UAssetImportData>(this, TEXT("AssetImportData"));
40+
}
41+
}
42+
#endif

0 commit comments

Comments
 (0)