Open4

PlayCanvas v2.0.0について

はがはが

PlayCanvas engine v2.0.0リリースノート

2024/08/22にPlayCanvasのメジャーバージョンアップが行われました。現在この変更はEngine Onlyの変更のため、PlayCanvasエディターに関してはまだ変更が組み込ま割れていません。

リリースノートをもとにアップデートのリストをまとめています。
https://github.com/playcanvas/engine/releases/tag/v2.0.0

破壊的変更

  • 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
  • BoundingBoxOrientedBoxはコンストラクタでパラメータをコピー #6691
  • glbローダーからflipvコードを削除 #6747
  • 長らく非推奨だったPHONG specularモデルの削除 #6755
  • スタンダードマテリアルのエネルギー保存フラグの削除 #6756
  • StandardMaterial.diffuseTintの削除と常に適用 #6759
  • CURVE_CATMULLCURVE_CARDINALの削除 #6779
  • StandardMaterial.emissiveTintの削除と常に適用 #6762
  • 不要なシェーダー定義SUPPORTS_TEXLODSUPPORTS_MRTの削除 #6795
  • StandardMaterial.ambientTintの削除 #6805
  • StandardMaterial.sheenTintの削除 #6809
  • pc.appspc.commonpc.configpc.dataの削除 #6814
  • pc.typeの削除 #6816
  • Gizmo定数の変更 #6826
  • カスタムシェーダーで使用するShaderMaterialの実装 #6831
  • StandardMaterial.sheenGlossTintの削除 #6841
  • マテリアルのクローン時にカスタムパラメータもコピー #6844
  • BasicMaterialの削除 #6857
  • インスタンシングの一般化 #6867
  • インスタンシングがモデル行列を無視しないように変更 #6883
  • 不要になったdrawTextureの削除 #6886
  • Layer.renderTargetと一部のコールバックのサポートを削除 #6888
  • マテリアルで使用するノーマルブレンドのアルファ部分を調整 #6889
  • グラブパステクスチャの非推奨のユニフォームuDepthMaptexture_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
  • StandardMaterialsheenTintプロパティの定義を修正 #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
  • AssetListLoaderAssetRegistryのマイナーな修正 #6794
  • [修正] エリアライトが無効な場合、ライトのシェイプを無視 #6808
  • JSDocのマイナーな修正 #6818
  • 配列の等価性の修正 #6823
  • [修正] アルベドのデバッグ出力を修正 #6836
  • gsplatの小さな修正 #6837
  • gsplatソートバグの修正 #6845
  • gsplatソーターの小さな修正 #6846
  • webgpuの小さな修正 #6852
  • アニメーションコンポーネントのアセットがnullの修正 #6863
  • getAnimationAssetはAssetを返す #6864
  • [修正] シャドウベイクの修正 #6884