Open4
PlayCanvas v2.0.0について

PlayCanvas engine v2.0.0リリースノート
2024/08/22にPlayCanvasのメジャーバージョンアップが行われました。現在この変更はEngine Onlyの変更のため、PlayCanvasエディターに関してはまだ変更が組み込ま割れていません。
リリースノートをもとにアップデートのリストをまとめています。
破壊的変更
- WebGL1サポートの削除 #6295 #6299 #6300 #6297 #6297 #6305 #6306 #6311 #6314 #6313 #6312 #6318 #6320 #6322 #6321 #6319 #6325 #6327 #6329 #6330 #6336 #6356 #6398 #6406 #6688 #6793 #6810 #6872 #6873
- いくつかの関数の後方互換性の削除 #6408
- 非推奨の
AudioSourceComponent
コンポーネントの削除 #6407 - レガシースクリプトのサポート削除 #6584
- 非推奨の機能の初期クリーンアップ #6690
- HDRレンダリングの変更 #6702
- ライト、フォグ、マテリアルの色は常にsRGB空間で提供 #6714
-
BoundingBox
とOrientedBox
はコンストラクタでパラメータをコピー #6691 - glbローダーから
flipv
コードを削除 #6747 - 長らく非推奨だったPHONG specularモデルの削除 #6755
- スタンダードマテリアルのエネルギー保存フラグの削除 #6756
-
StandardMaterial.diffuseTint
の削除と常に適用 #6759 -
CURVE_CATMULL
とCURVE_CARDINAL
の削除 #6779 -
StandardMaterial.emissiveTint
の削除と常に適用 #6762 - 不要なシェーダー定義
SUPPORTS_TEXLOD
とSUPPORTS_MRT
の削除 #6795 -
StandardMaterial.ambientTint
の削除 #6805 -
StandardMaterial.sheenTint
の削除 #6809 -
pc.apps
、pc.common
、pc.config
、pc.data
の削除 #6814 -
pc.type
の削除 #6816 - Gizmo定数の変更 #6826
- カスタムシェーダーで使用する
ShaderMaterial
の実装 #6831 -
StandardMaterial.sheenGlossTint
の削除 #6841 - マテリアルのクローン時にカスタムパラメータもコピー #6844
-
BasicMaterial
の削除 #6857 - インスタンシングの一般化 #6867
- インスタンシングがモデル行列を無視しないように変更 #6883
- 不要になった
drawTexture
の削除 #6886 -
Layer.renderTarget
と一部のコールバックのサポートを削除 #6888 - マテリアルで使用するノーマルブレンドのアルファ部分を調整 #6889
- グラブパステクスチャの非推奨のユニフォーム
uDepthMap
とtexture_grabPass
を削除 #6796

ライブラリ関係(Build changes)
- npmパッケージにバンドルされていないエンジンソースを含める #6310
- ポリフィルのツリーシェイクを無効化 #6332
- バンドルビルドオプション #6296
- ビルドの修正 #6340
-
buildUrl
の相対パスサポートの修正 #6354 - webpackの無視を追加 #6359
- バージョンタグと一致する場合のみnpmに公開 #6399
- Publint CI #6363
- Public vercelプレビュー #6600
- ツリーシェイクプラグインの修正 #6601
- package.jsonを2.0.0-devにバンプ #6719
- NPM 'alpha'識別子を追加 #6722
- npm公開タグ変数の修正 #6740
- アルファ公開の更新 #6760
- リポジトリルート外からビルドを呼び出す場合でも、ビルド出力の正しいパスを維持 #6589
- ESLint設定の更新 #6877

その他の変更
- 新しいテクスチャフォーマット: R8とRG8 #6602 #6649
- pcx名前空間への参照を削除 #6304
- 階層でより良く表示されるようにグラフィックマーカーを更新 #6290
- ユニフォームバッファベースのスキニングとバッチングを削除 #6324
- Gizmoのクリーンアップとバグ修正 #6323
- コンポジションの更新をフレームグラフの構築から分離するための小さなリファクタリング #6333
- 非永続的なUBでバインドグループを使用する方法への初期リファクタリング #6341
- WebGPUダイナミックUBがレンダリングに使用される方法を更新 #6349
- "Add Script alias (#6237)" をリバート #6355
- サポートされているHDRフォーマットのドキュメントを追加 #6351
- エクスポートタイプの並べ替え #6362
- 小さなJSDocの正規化/修正 #6369
- GSレンダリングv2.0の更新 #6357
- WebGPUでGPUからテクスチャを非同期に読み取る機能 #6370
- 圧縮されたGSデータのレンダリング #6371
- RenderPassCameraFrameのリファクタリング #6400
- WebGPUでのPickerのサポート #6393
- USDZ / GLTFエクスポーターがWebGPUで圧縮テクスチャの公開をサポート #6394
- Gizmoの直交方向の平行移動 #6607
- シェーダーチャンクの型 #6621
- ドキュメントの更新 #6631
- 一人称スクリプトの更新 #6640
- GraphNodeのsetPositionAndRotation #6625
- RenderPassベースのSSAO #6657
- ブルームレンダーパスの管理方法の小さなリファクタリング #6683
- より小さなWebGPUダイナミックバッファの割り当て #6682
- WebGPUでglslangトランスパイルが失敗した場合、エラーメッセージにスタックトレースを追加 #6681
- ゲッターのJSDocを追加 #6685
- RenderPassCameraFrameで使用されるHDRレンダリングの更新 #6687
- メッシュインスタンスのシェーダーキャッシュ実装のリファクタリング #6696
- テクスチャプロパティの変更フラグ #6697
- パーティクルエミッターシミュレーションシェーダーのより説明的なシェーダー名 #6701
- ModelOutlineExampleの小さな更新 #6703
- スクリプト1のapp#contextの後方互換性を削除 #6704
- GraphNodeラベルAPIの残りを削除 #6705
- XrAnchorソースのツイーク #6706
- XrPlaneの型定義とドキュメントを改善 #6708
- コンポーネントの順序付けを許可 #6648
- 一時配列の参照を不要になったときにクリア #6712
- 公開APIでWebXRの型を活用 #6713
- ESMスクリプトのベースクラス #6367
- GSplatのスピードアップ #6715
- setFromMat4の更新とテストの追加 #6720
- 不透明度が1でディフューズティントが白の場合、異なるシェーダーをコンパイルしない #6721
- ソートされたコンポーネント用の配列プールを追加 #6718
- 一部のJSDocクラスの説明を改善 #6725
- スタンダードマテリアルがsRGBフォーマットのテクスチャを処理 #6736
- 画像ファイルをsRGBテクスチャにロード可能 #6739
- varの出現をいくつか排除 #6737
- events.attachを削除 #6741
- gsplatシェーダーを統一 #6753
- 冗長なStandardMaterial.shadingModelを削除 #6757
- Entity、Mesh、MeshInstance、Renderクラスのリファクタリング #6767
- ギズモによって処理されるポインターイベントでstopPropagationを呼び出す #6770
- 圧縮されたsRGBフォーマットのサポート #6743
- フロートテクスチャレンダリングがサポートされていない場合、属性の代わりにintテクスチャベースのモーフィングにフォールバック #6771
- レンダーターゲットがsRGBカラーバッファを使用可能 #6752
- エレメントは線形空間でカラーユニフォームを設定する必要がある #6761
- WebXR - 非推奨のXrDepthSensing、XrViewを削除 - 代わりに使用すべき #6773
- Tagsクラスを更新してスプレッド演算子を使用するように #6775
- ベクトルでオブジェクトの分割代入を使用 #6777
- Curveクラスのマイナーリファクタリング #6780
- 冗長な@ignoreタグを削除 #6782
- コアエンジンの一部になったextrasから、スプラット関連のエクスポートを削除 #6783
- FrustumをPlaneを使用するようにリファクタリング #6784
- AppBase#preloadのリファクタリング #6788
- JSDocを簡素化するために@importタグを活用 #6786
- Listenerの速度を削除 #6797
- WebXR APIドキュメントの編集パス #6799
- 非推奨のMeshInstance.constructorの形式の処理を削除 #6800
- AppBaseコンストラクタのプロパティをクラスフィールドに移動 #6801
- プライベートなStandardMaterial.tbnFastオプションのサポートを削除 #6806
- 小さなギズモイベントハンドラの修正 #6811
- パーティクルシステムのシェーダーが作成される方法のリファクタリング #6804
- 使用されていないStandardMaterial.normalizeNormalMapを削除 #6807
- AppBase#initの一部をクラスフィールドに移動 #6802
- opacityTint内部フラグを削除 #6812
- いくつかの冗長なエクスポートを削除 #6815
- チャンクのヘルパー関数を削除 #6821
- WebワーカーでのOffscreenCanvasのサポート #5168
- gsplatマッピングを追加 #6824
- Gizmo APIの変更のフォローアップ #6827
- 使用されていないプライベートなshFromCubemap関数を削除 #6832
- 一貫性のために内部の'descr'シンボルを'desc'に名前変更 #6833
- カスタムラインシェーダーとガンマの処理 #6834
- WebGPUでのsRGBフレームバッファのサポート #6838
- バックバッファへのブリットを許可 #6849
- 参照されることのないnormalSkinnedシェーダーチャンクを削除 #6853
- 使用されていないtransform instancedチャンクを削除 #6854
- ShaderMaterialのスキニング/モーフィングのサポート #6855
- ShaderMaterialがPICKシェーダーパスをサポート #6856
- getShaderVariant関数のパラメータをオブジェクトに移動 #6858
- Materialから使用されなくなったシェーダーへの参照を削除 #6862
- StandardMaterialでアンビエントオクルージョンの強度を公開 #6866
- EXT_mesh_gpu_instancingエクステンションのサポート #6869
- Materialがシェーダーのdefineを指定可能に #6865
- SSAOがパフォーマンス向上のために深度を考慮した分離可能なブラーを使用 #6870
- removeComponentのデバッグエラーで正しいメソッド名を使用 #6848
- テクスチャプロパティの内部のダーティフラグを少しクリーンアップ #6885
- 非推奨のdeprecated.jsの非常に古い部分をいくつか削除 #6887
- シェイププリミティブの保存にDeviceCacheを使用 #6891

サンプル変更
- SSAOエンジンの例 #6586 #6593
- サンプルからWebGL1オプションを削除 #6307
- メッシュパーティクルの例を追加 #6291 #6331
- サンプルのモバイル向け修正 #6335
- サンプルのファイルローダーの再作成 #6339
- サンプルからLinux Chromeのフォールバックを削除 #6343
- サンプルアプリのバンドル最適化 #6588
- サンプルのiframeパラメータの修正 #6604
- Gizmoサンプルの更新 #6622
- サンプルの設定の修正 #6626
- デバイスセレクターのフォールバックオプションの修正 #6628
- サンプルのインポートの修正 #6634
- サンプルのgizmo選択の修正 #6637
- サンプルのJSDocトークナイザーの修正 #6644
- マルチアプリの修正 #6645
- サムネイルを再生成して最新の状態にする #6890
- ESMサンプル #6735
- gsplatサンプルの修正 #6754
- NullDeviceサンプルの修正 #6758
- Gizmoの小さなサンプル #6825
- Gizmoのリサイズエディターサンプルの修正 #6847
- 欠落していたサンプルのサムネイルを追加 #6861
- Gizmoサンプルの再構成 #6850
バグ修正
- [修正]
skydomeIntensity
の扱いの修正 - 一部のケースでスタンダードマテリアルが使用しない #6308 - material-anisotropicの例の失敗の原因となるシェーダーの問題を修正 #6326
- WebGPU互換性のために見落とされていた1つのVSMシェーダーチャンクを更新 #6348
- 修正: レイヤーが無効になっている場合でもラインのレンダリングをクリーンアップ #6353
- glbロードエラーの修正 #6391
- ランダムなJSDocの問題を修正 #6392
- リロードされたキューブマップアセットの修正 #6397
- gsplatシェーダーの修正 #6402
- GS reorderの修正 #6410
- Gizmoの軸シェイプの無効化の修正 #6587
- [修正] ニュートラルトーンマッピングから欠落していたエクスポージャー処理を追加 #6592
-
calcAabb
関数の型を修正 #6596 - エクスポートと型の修正 #6623
-
ScriptHandler
のURLハンドリングを修正 #6639 - メッシュコライダーの作成を修正 #6630
- 破棄されたときにトリガーボディがnullに設定されない問題を修正 #6641
- Ammo Hullの作成時にトランスフォームが破棄されない問題を修正 #6643
-
StandardMaterial
のsheenTint
プロパティの定義を修正 #6665 - スカイボックスシェーダーを無限大に近づくようにマッピングするように更新 #6664
- [修正] パーティクルシステムが入力メッシュの異なるIBフォーマットを処理 #6662
- webgpu用のキューブマップの修正 #6669
- トーンマップされた圧縮GSのシェーダーチャンクエラーを修正 #6670
- [修正]
BasicMaterial
のピッカーサポートを修正 #6672 - WebXR深度センシング - GPUパス(Quest 3)の修正 #6650
- Gsplatの修正 #6711
- ScriptAttributeの修正 #6750
- Gizmoの修正 #6763
- WebXR - Quest 3の深度センシングを修正 #6774
- [修正]
Entity.findComponent(s)
関数を修正 #6789 - Gizmoイベントの修正 #6790
-
AssetListLoader
とAssetRegistry
のマイナーな修正 #6794 - [修正] エリアライトが無効な場合、ライトのシェイプを無視 #6808
- JSDocのマイナーな修正 #6818
- 配列の等価性の修正 #6823
- [修正] アルベドのデバッグ出力を修正 #6836
- gsplatの小さな修正 #6837
- gsplatソートバグの修正 #6845
- gsplatソーターの小さな修正 #6846
- webgpuの小さな修正 #6852
- アニメーションコンポーネントのアセットがnullの修正 #6863
-
getAnimationAsset
はAssetを返す #6864 - [修正] シャドウベイクの修正 #6884