Releases: MizunagiKB/gd_cubism
v0.9.1
What's Changed
- fix mask transforms by @erodozer in #146
- share masks between nodes when composition is similar by @erodozer in #147
- Drag Operation Support for GDCubismUserModel by @MizunagiKB in #145
- Fix for Incorrect Data Type by @MizunagiKB in #150
- Bug Fix: Selection Box. by @MizunagiKB in #149
Full Changelog: v0.9.0...v0.9.1
Version 0.9.1 includes bug fixes that were originally intended for version 0.9.0.
Additionally, it addresses an issue with drag operations on the Editor screen.
v0.9.1 は v0.9.0 に本来入る予定の不具合修正が含まれています。
また、Editor画面でのドラッグ操作の不具合についても修正されています。
v0.9.0
Notice: For Users of This Version
Version 0.9.0 is functional; however, it was released in an incomplete state as it does not include the bug fixes that were originally intended for this version. We kindly recommend using version 0.9.1 or later for download.
We sincerely apologize for the incomplete release on this occasion.
注意:このバージョンを利用する方へ
v0.9.0は動作しますが、本来含まれる予定の不具合修正が含まれておらず、不完全な状態でリリースされたものとなります。
ダウンロードされる方は v0.9.1 以上のバージョンをご利用ください。
この度は不完全なリリースをしていしまい大変申し訳ありませんでした。
What's Changed
- Load Motions as Animation Resources by @erodozer in #128
- Direct rendering by @erodozer in #129
- 0.8.1 by @MizunagiKB in #137
- improve performance under modern renderer by @erodozer in #140
- 0.9 by @MizunagiKB in #144
- update shaders to support godot's canvasitem modulation by @erodozer in #143
Full Changelog: v0.8.2...v0.9.0
v0.9.0 Update Overview
Version 0.9.0 introduces a new rendering method, leading to significant improvements. While the updates offer enhanced functionality compared to previous versions, some compatibility has been lost due to these changes.
Users of GDCubism up to version 0.8 are advised to carefully review the differences in version 0.9 before proceeding. All sample code has been rewritten for version 0.9—please ensure to check it out.
Rendering Quality and GPU Memory Usage
Previously, rendering was performed using SubViewport, which required high-quality texture memory to achieve high-quality rendering. Although updates were made in versions 0.7 and beyond to address this, adjusting the settings proved difficult.
To solve this issue, version 0.9 adopts a direct rendering approach. This ensures that Live2D models are rendered at their original quality, regardless of the rendering size.
This change also contributes to reduced GPU memory consumption. For example, rendering Live2D models at 4096x4096 resolution previously required approximately 2GB of memory in version 0.8, but this has been reduced to around 230MB in version 0.9.
v0.8
v0.9
Rendering Performance
While less visible to the user, rendering speed has been improved through multiple adjustments, including:
- Transferring vertex calculations to the GPU
- Reviewing processes that were regenerated every frame
- Accelerating mask generation processes
- And more...
These improvements lead to stabilized frame rates and are especially beneficial for environments with limited resources, offering noticeable enhancements to rendering speed.
Important Notes
Version 0.9.0 introduces the largest changes in GDCubism history. While these updates are designed to benefit users, some behaviors have changed compared to previous versions.
If you encounter any issues, first refer to the sample code included with the update for guidance.
v0.9.0 について
v0.9.0 は新たな描画方式を採用したことにより、大幅な改善が行われました。以前のものよりも良くはなりましたが、この改修は一部互換性を失っています。
そのためv0.8までのGDCubismを使用している方は、0.9での違いを確認してから移行する様お願い致します。サンプルコードについては0.9向けに作り替えていますので、是非ご確認ください。
描画品質の向上と使用GPUメモリの削減
いままではSubViewportに描画を行うため、高品質な描画を行うには、高い品質のテクスチャメモリを必要としました。この改善を図るために0.7以降で幾つかの改修を行いましたが、調整にも難がありました。
この問題を解決するために0.9では、描画方式を直接描画に変更しました。これからはどの様なサイズで描画してもLive2Dモデル本来の品質で描画が行われます!
この効果は消費するGPUメモリの削減にも貢献しています。例えば4096x4096サイズでLive2Dモデルを描画しようとすると、0.8までは2GBytes程度のメモリが必要としましたが0.9では230MBytes程度に収まります。
v0.8
v0.9
描画速度の向上
目に見えない部分の修正になりますが、描画速度にも改善が図られました。
- 頂点計算のGPUへの移動
- 毎フレーム再生成していた処理の見直し
- マスク生成処理の高速化
- etc...
この改善によりフレームレートの安定化が図られますが、特に非力な環境で動かした際に特に描画速度の向上が見込まれます。
v0.9.0 はいままで一番大きな変更がされています。どれも GDCubism を利用する方にとって恩恵が得られるものだと信じていますが、一方でいままでと挙動が異なる部分も出てしまっています。
何かおかしいと感じましたら、まずは同梱されているサンプルコードを確認してみてください。
v0.8.2-godot4.1
What's Changed
- fix(GDCubismEffectTargetPoint): initialize
_need_updatetotrueto fix_map_param_idxinitialization by @Listare in #134 - Bugfix none parameter mode by @MizunagiKB in #135
New Contributors
Full Changelog: v0.8.1-godot4.1...v0.8.2-godot4.1
v0.8.2
What's Changed
- fix(GDCubismEffectTargetPoint): initialize
_need_updatetotrueto fix_map_param_idxinitialization by @Listare in #134 - Bugfix none parameter mode by @MizunagiKB in #135
New Contributors
Full Changelog: v0.8.1...v0.8.2
v0.8.1-godot4.1
What's Changed
- update documents. by @MizunagiKB in #115
- 0.7 by @MizunagiKB in #116
- Update document (README.adoc, README.en.adoc) by @MizunagiKB in #117
- Avoid frequent allocations by @erodozer in #124
- Allow external resources by @erodozer in #125
- Bugfix cubism effect by @MizunagiKB in #130
- Fixed type conversion error by @MizunagiKB in #133
New Contributors
Full Changelog: v0.7.0-godot4.1...v0.8.1-godot4.1
v0.8.1
v0.8.0
What's Changed
- 0.7 by @MizunagiKB in #116
- Update document (README.adoc, README.en.adoc) by @MizunagiKB in #117
- Avoid frequent allocations by @erodozer in #124
- Allow external resources by @erodozer in #125
- Bugfix cubism effect by @MizunagiKB in #130
This release includes three major changes
Removal of the clear Function from the GDCubismUserModel Class
Previously, there were two methods to remove a Live2D model: setting assets to an empty string ("") and calling clear().
At first glance, it seemed reasonable to have both methods available.
However, we identified several issues:
- Calling
clearunintentionally erased the contents ofassets. - There is potential for confusion as properties and functions might be expected to behave differently.
- Using both the internal and external
clearcould lead to redundant processing.
Therefore, to reset the GDCubismUserModel to a state where it does not reference anything, we have standardized the process to setting assets to an empty string ("").
Allowing Live2D Models to be Loaded from Outside the res:// Resource Path
This update enables the loading of Live2D models from any location. In previous versions, there were unintended restrictions on loading textures, which have now been removed.
Pre-Generation of Required Nodes When Loading Live2D Models
In previous versions, Node2D was reconstructed each time a drawing opportunity arose. However, we found that the number of drawable elements of a Live2D model is determined at the time of loading. Therefore, necessary nodes are now generated only once at the initial load.
These changes do not affect the rendering of Live2D models but involve substantial modifications to the code. If you encounter any issues, please report them in the Issues section.
このリリースには大きな変更が三つ含まれています。
GDCubismUserModelクラスからclear関数を削除
Live2Dモデルを削除するには、 assets = “” と clear() の二種類の方法が提供されていました。この関数は一見、両方とも存在していても良い様に思われますが、
- clearを呼び出すとassetsの内容が勝手に消去されてしまう。
- プロパティと関数では期待されるものが異なる可能性があり、混乱する。
- 内部でも外部のclearを使用していると、処理内容が過剰になる可能性がある。
といった誤解や実装ミスを生み出す可能性があります。
そのため、GDCubismUserModelを何も参照しない状態にするには assets = “” という動作のみに統一させました。
Live2Dモデルがリソース(res://)外から読み込める様に修正
これによりLive2Dモデルを任意の場所から読み込める様になりました。
以前までのバージョンでは、テクスチャの読み込みに意図しない制限が掛けられていました。
Live2Dモデルの読み込み時に必要なNodeを事前に生成
以前までのバージョンでは描画機会が訪れる度にNodeを再構成していましたが、Live2Dモデルの描画要素数は読み込まれた時点で決定されるという事が判明しました。そのためNodeは最初に一回だけ生成するようになりました。
いずれもLive2Dモデルの描画に影響はありませんが、コード内容にはかなりの変更がかかっています。もし不具合が見つかりましたら Issues までご連絡ください。
New Contributors
Full Changelog: v0.7.0...v0.8.0
v0.7.0
What's Changed
- 0.6 by @MizunagiKB in #107
- Add Document for Godot 4.3 by @MizunagiKB in #109
- Bugfix model scaling by @MizunagiKB in #110
- Fixed a bug where the mask could not be referenced correctly. by @MizunagiKB in #112
- Fix bug for dark problem when parts are semi-transparent by @Jueast in #114
- update documents. by @MizunagiKB in #115
New Contributors
Full Changelog: v0.6.3...v0.7.0
Important Notice
This version is compatible only with Godot 4.3 and above.
For those using Godot 4.1 or 4.2, please use v0.7.0-godot4.1 The functionality remains exactly the same.
This version also addresses the issue in version 0.6.3 where the mask position may be misaligned depending on the rendering state of the Live2D model.
v0.7.0-godot4.1
What's Changed
- 0.6 by @MizunagiKB in #107
- Add Document for Godot 4.3 by @MizunagiKB in #109
- Bugfix model scaling by @MizunagiKB in #110
- Fixed a bug where the mask could not be referenced correctly. by @MizunagiKB in #112
- Fix bug for dark problem when parts are semi-transparent by @Jueast in #114
New Contributors
Full Changelog: v0.6.3...v0.7.0-godot4.1
Important Notice
This version is compatible with Godot 4.1 and 4.2.
For those using Godot 4.3 and above, please use v0.7.0 The functionality remains exactly the same.
This version also addresses the issue in version 0.6.3 where the mask position may be misaligned depending on the rendering state of the Live2D model.
v0.6.3
What's Changed
- add mask_viewport_texture_size by @MizunagiKB in #103
- 0.6 by @MizunagiKB in #105
Full Changelog: v0.6.2...v0.6.3


