Skip to content

v1.0.x SS6PU更新履歴詳細 #13

Open
@MasamiYitsuse

Description

@MasamiYitsuse

SS6Player for UnityのVer.1.0.x系の詳細な更新内容と概要等を記載します。
※原則、developブランチ/sampledevelopブランチのバージョンです。
※Ver.1.1.0以降(Ver.1.1.x)の更新履歴は #53 に移行しました。
※Ver.0.8.0~Ver.1.0.0(Ver.0.9.5からVer.1.0.0への変更詳細も含む)の更新履歴は #6 です。


最終バージョン

Ver.1.0.43


更新概要(大きな変更点)

[Ver.1.0.36]

  • SS6Playerモードでの、XYZ回転を併用した際に、SpriteStudio6と回転結果が異なる症状を解消(ただし、Unity-NativeモードではXYZ回転を併用した場合に、回転結果が異なる場合があるのは現状仕様となっています)

[Ver.1.0.30]

  • Unity2017.2~2018.1に対応(非推奨機能を現状機能に移行)
  • Unity-Nativeモードで、パーツスプライトが動的バッチング対象になった際に、シェーダに直接値を設定しているパラメータが不具合を起こすことがある症状を修正

[Ver.1.0.27]

  • (SS6PUモード)マスクパーツの「マスク対象」の設定を正常反映するようにしました。
    ※Unity-Nativeモードについては常に「マスク対象」が非チェックの状態のみとなります(これは仕様です)。

[Ver.1.0.26]

  • (SS6PUモード・Unity-Nativeモード共に)シェーダを統合型に変更(シェーダ数を38→5個に)。
    ※旧シェーダは、Ver.1.0.23以前でインポートしたデータが表示不可にならないよう残存していますが、Ver.1.1.0で削除予定となっています。
  • (SS6PUモード)インポート時に(Unity-Nativeモードと同様に)ユーザーのカスタムシェーダをつけたマテリアルを設定可能にした。

[Ver.1.0.21]

  • (SS6PUモード・Unity-Nativeモード共に)Android環境でのテクスチャのETC1圧縮+Split Alphaの設定に対応
    ※SS6PUモードは新規対応・Unity-Nativeモードについては手動追加設定が必要であったことの自動設定化になります。

[Ver.1.0.18]

  • 「Convert To Unity-Native」モード(UnityのSpriteへの変換)のrootパーツに情報集積+ソートオーダー変更用のスクリプト「Script_SpriteStudio6_RootUnityNative」を追加。
    ※本機能はVer.1.0.17から実装されましたが、Ver.1.0.17の実装に仕様的不都合が発見されたため、Ver.1.0.18で仕様を若干変更しています。Ver.1.0.17をご使用の方はVer.1.0.18以降に更新されることを推奨します。

[Ver.1.0.14]

  • 「Convert To Unity-Native」モード(UnityのSpriteへの変換)で、メッシュパーツをスキンメッシュに変換する機能を追加。

[Ver.1.0.8]

  • 「Convert To Unity-Native」モード(UnityのSpriteへの変換)で、頂点変形・パーツカラー頂点指定に対応。

[Ver.1.0.2]

  • シェーダモデル3.0以前(OpenGL ES 2.0/WebGL等)のプラットフォームへのシェーダ対応(対応漏れの解消)。

[Ver.1.0.0]

  • SpriteStudio6の新機能(メッシュ&ボーン・マスクなどの機能)に対応。
  • Unity基本機能(Sprite + AnimationClip)へのコンバート機能に対応。
  • 2種類のアニメーションブレンド(トラックトランジション・アニメーション合成)に対応。
  • アトリビュート毎で選択可能な、複数(現在全4種類)のデータ格納形式に対応。
  • Unity2017.1.0以降対応。「Nintendo Switch」の環境のみUnity5.6以降で使用可能ですが、テクスチャのラップモードの「Mirror」は使用不可(使用しているとインポート時に警告が出て・Clampに置き換えられます)。

更新履歴詳細

[Ver.1.0.43]

  • Unity-Nativeモードで、Ver.1.0.42で更新したシェーダの内容に問題があったため修正

[Ver.1.0.42]

  • Unity-Nativeモードで、GPUインスタンス描画を行った場合に起こる描画不良を解消。
    (weiping-playnext様からの2018年10月3日のpull-requestを反映)

[Ver.1.0.41]

  • Unity-Nativeモードで、Setupアニメーション上のメッシュパーツの設定状態が(親パーツ含めで)実際のアニメーションでの使用状態と乖離していた設定の時に、再生時に作成されるSkinnedMeshのバインドポーズが不完全な情報で作られてしまう障害を修正。
    (例えばSetupアニメーションでメッシュパーツだけ作成され、親パーツなどの設定が行われていない場合など)
    ※ただ、一応対処はしましたが、そのような設定状態はあまり好ましくない状態だとは思われます。

[Ver.1.0.40]

  • 通常パーツの合成方法がスクリーン(SCR)の時のマテリアル設定(Not Discard Pixel)を間違えていたのを修正
  • [Unity-Nativeモード] 通常パーツの合成方法がアルファ乗算(MUL)の時のマテリアル設定(Not Discard Pixel)を間違えていたのを修正
    ※本件については、Ver.1.0.39の更新漏れなので、マイナーバージョンの加算対象外になっています。
  • ソースのミススペル修正
    ※本件は明確な不具合ではないのでマイナーバージョンの加算対象外になっています。
  • 動的にマテリアルを作り出す際の、アルファ乗算(MUL)・スクリーン(SCR)時のマテリアル設定を修正

[Ver.1.0.39]

  • 通常パーツでセル未定義の際に、サイズX/Yで指定された値を次のフレーム処理でセルサイズで書きつぶしてしまう障害を修正
  • 通常パーツで、セルを変更したりした時にサイズX/YやX/Yオフセットが無視されてしまう場合がある障害を修正
  • パーツのブレンドでアルファ乗算の場合のシェーダ設定が異なっていた(Non Discard)のを修正

[Ver.1.0.36]

  • SS6Playerモードでの、XYZ回転を併用した際に、SpriteStudio6と回転結果が異なる症状を解消

[Ver.1.0.35]

  • ユーザーデータのコールバックが正常にかからない障害の修正
  • インスタンスパーツのキー配置によっては、逆再生インスタンスが正常に再生できない障害の修正
  • インスタンスの再生倍率の反映が正常に行われない場合がある障害の修正
  • 「エフェクトを含んだインスタンスを逆再生したアニメーション」を逆再生するとエフェクトの開始点が異なってしまう障害の修正
  • エフェクトの点重力の反映がSS6と異なっていた障害の修正

[Ver.1.0.30]

  • Unity2017.2~2018.1に対応(非推奨機能を現状機能に移行)
  • Unity-Nativeモードで、パーツスプライトが動的バッチング対象になった際に、シェーダに直接値を設定しているパラメータが不具合を起こすことがある症状を修正
    ※頂点変形・パーツカラー・不透明度・ローカルスケールが対象
    ※Unity側でメッシュ合成された後にシェーダの計算が入るために、バッチングされたメッシュ全てに効果してしまう上、どのパーツのパラメータが効果するか不定になってしまう症状。
    ※同時に(Unity-Nativeモードの)シェーダ内の使用変数を最適化した

[Ver.1.0.28]

  • SS6PUモードの若干の高速化
    余分な行列計算と、一部処理の余分な関数連段呼出を削減。
    (当然、パーツ数や表示個数等で効果は変化しますが、1フレームあたりの表示アニメーション数に変化が出る程度高速になる場合もあります)
    ※純粋にプレーヤー側の処理の変更だけですので、データの再インポートなどは必要ありません。

[Ver.1.0.27]
※データの再インポートを強く推奨(SS6Pモード)

  • SS6PUモードでのマスクパーツの「マスク対象」設定が正常に反映されるように修正
    ※シェーダのステンシル設定を変更
    ※マスク描画(Draw/PreDraw)のマテリアルを「マスク対象(Mask)」「非マスク対象(Through)」に分けた(同時にTableMaterialのMASK_PREとMASKがマスク対象時と非対象時で同じマテリアルだったのが、異なるマテリアルに変更)
  • Unity2017.3までの一部バージョンでconst系変数の未使用警告が出ていたので、修正(これはマイナーバージョンには計上されていません)
  • インポートファイルの内部管理に上書き前のデータバージョンを格納するようにした(とともに一部バージョンパッチの処理構造を変更。これはマイナーバージョンには計上されていません)

[Ver.1.0.26]
※データの再インポート推奨(SS6Pモード)

  • (SS6PUモード・Unity-Nativeモード共に)シェーダを統合型に変更(シェーダ数を38→5個に)。
    ※旧シェーダは、Ver.1.0.23以前でインポートしたデータが表示不可にならないよう残存していますが、Ver.1.1.0で削除予定となっています。
  • (SS6PUモード)インポート時に(Unity-Nativeモードと同様に)ユーザーのカスタムシェーダをつけたマテリアルを設定可能にした。
  • 上記2点に付随する修正(主にマテリアル制御まわり)。

[Ver.1.0.23]
※データの再インポート推奨(SS6Pモード)

  • 描画順序構成が異なる複数のアニメーションの合成時に描画が崩れる場合がある障害を修正
    ※「優先度」のアトリビュートを格納するようにした(int型)
    ※複数トラックを再生に使用している場合、自動的に優先度でのリアルタイムソートにするようにした(単独トラックでの再生の場合は、従来どおり事前計算描画チェインを使用)
  • セットアップアニメーションを格納・取得可能にした
    ※標準状態では、ユーザーデータしか格納していない。DataAnimation.cs・Importer/SSAE.csのSTORE_ANIMATIONSETUP_FULLラベルを定義状態にすると全アトリビュートを格納するように(ユーザーデータ以外はアニメーションのフレーム0に反映されるため有用性が薄いため)
  • インポート設定に次のバージョンアップ(SS6PUモードのインポート時の基準マテリアルを指定可能なようにする)のための下準備を追加(下準備のためリリースコードには加算していません)

[Ver.1.0.21]
※Android環境でテクスチャを「ETC1 + Split Alpha」設定で使用する場合、シェーダの再コンパイルとデータの再インポートが必要

  • Unity5.6(Switch環境)時に、SpriteMask関係でコンパイルエラーが出るのを修正
    ※ただし、Unity5.6(Switch環境時)では、マスク機能が使えません。
  • AndroidでETC1使用時のsplit alphaに再対応(SS6PUモードは新規対応・Unity-Nativeモードは追加の手動設定が必要だった内容の自動設定への修正)
    ※このバージョン以降では、インポートしたテクスチャは「SpriteModeがMultiple」「PackingTagがSpriteStudio」に設定されます。

[Ver.1.0.19]
※シェーダの再コンパイルが必要
・アニメーションのインスペクタからアニメーションを切り替えても無視される場合がある障害を修正
・Ver.1.0.17で行列計算をC#側とシェーダ側で二重計算しないようにした処置をVer.1.0.15の(二重計算する)処理に戻した(二重計算しない場合、動的メッシュバッチング後に一部マテリアルの合成メッシュが位置がずれて表示される障害が発見されたため)

[Ver.1.0.18]
・Ver.1.0.17で実装した、パーツのsortingOrder操作関係で仕様的な問題が見つかったため、仕様を変更。

[Ver.1.0.17]
※シェーダの再コンパイルが必要
Unity-Nativeモードのデータは再インポート推奨

  • Unity-Nativeモードのrootパーツに情報集積+ソートオーダーを変更するための、Script_SpriteStudio6_RootUnityNativeを追加
  • SS6PlayerモードのシェーダとC#で、不要な行列計算を削除(シェーダのローカル→ワールド行列変換が生きていたために、C#側で逆行列を掛けて補正していたのを、正しい処理系に戻した)

[Ver.1.0.15]

  • アニメーション切替・トランジション終了直後のLateUpdateでアトリビュートの更新に失敗する場合がある障害を修正

[Ver.1.0.14]

  • Unity-Nativeモードでメッシュパーツをスキンメッシュに変換する機能を追加
  • Unity-NativeモードでTransformのScaleが0になる場合がある障害を解消
  • Unity-Nativeモード・SS6PUモードでメッシュパーツのパーツカラーが無視されてしまう障害を解消
  • Unity-NativeモードのパーツスクリプトでのGetComponentを削除(インポータで設定するようにした)

[Ver.1.0.10]

  • Unity-Nativeモードでインポートしたデータの再生時に無駄にMaterialPropertyBlockを取得していた障害を修正(宣言にstaticを付与しわすれていた)
  • SS6PUモードの(Script_SpriteStudio6_Root/RootEffectの)TextureSet関数で、変更するマテリアルの元マテリアルを間違えていた障害を修正

[Ver.1.0.8]
再インポートが必要(「Convert to Unity-Native」モードのみ)

  • (Unity-Native)頂点変形・パーツカラー頂点指定に対応
  • (Unity-Native)アニメーションのキーの初期値(0フレーム目値)を保証する形に変更
  • (Unity-Native)カラーブレンド・参照セル関係でデータのコンバートミスが生じる場合があった障害を修正
  • (Unity-Native)アニメーション長を保証するようにした(X座標だけ必ず終点にもキーを打つようにした)

[Ver.1.0.4]

  • アニメーションオブジェクトをinstantiateした直後にAnimationPlayを実行しても、再生指定が(アニメーションオブジェクトの)初期化処理で書き潰されてしまう場合がある障害を修正。

[Ver.1.0.3]

  • setupアニメーションで、ボーンパーツのX/Y座標・Z軸回転が省略されている場合に、ボーンのデータが不正値でインポートされてしまう障害を修正。

[Ver.1.0.2]

  • シェーダモデル3.0(OpenGL ES 2.0/WebGL等)への対応 (シェーダ内の「RESTRICT_SHADER_MODEL_3」ラベルで対応変更可能)。

[Ver.1.0.1]

  • スクリプトやインスペクタから(主にランタイムで)アニメーションを変更した際に、正常にリフレッシュが行われないワークがあったのを修正。

[Ver.1.0.0]

  • リリース開始
    ※Ver.0.9.xから移行した場合データの再インポート「推奨」です。
    ※Ver.0.8.xから移行した場合データの再インポート「必須」です。

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions