Giter Club home page Giter Club logo

ssbplib's People

Contributors

dkalpha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ssbplib's Issues

全般 インスタンスにしたアニメ内に当たり判定やユーザーデータを含むことはできますか?

SS5ではインスタンスパーツにするソースアニメーションに当たり判定やユーザーデータを含むような使用方法は推奨しておりません。

インスタンスパーツを配置したアニメーションの再生時間と、インスタンスパーツによって再生されるソースアニメーションの再生時間は別で管理されるため意図したデータを取得する事ができません。

インスタンスパーツに当たり判定やユーザーデータを付加する場合は、インスタンスパーツの子パーツとしてNULLパーツやセル参照なしの通常パーツを配置し、そちらへゲーム用データを設定してください。

v1.1系 DXライブラリの2D座標系とY軸が逆になってしまいます。

v1.1系ではDXライブラリの3D機能を使用してスプライトを表示するように変更しました。
こちらの座標系は画面下が0、上方向がプラスとなっておりY座標が逆になっております。
DXライブラリで使用する場合は、void Player::setPosition(float x, float y)関数ないで
_state.y = 画面サイズ - y; と変更する事で2D座標系に合わせる事ができます。

バイナリデータへの描画優先度の値の格納について

いつもお世話になっております。

一点、ご相談が御座いまして。

ssbpLibで扱うバイナリデータですが、
現状ツール側で設定できる「描画優先度」が格納されていない認識なのですが、
(コンバートする時にパーツが優先度で並び替えられる認識です)

こちらをアプリケーション側で載せるテキスト等との優先度付けの値に使用させて頂きたく、
数値としてバイナリに含めて頂くことは可能でしょうか?

用途としては、
1つのsspjの中のパーツの間に外部の別の描画物を差し込む、とった内容となります。
(※ssのパーツ① -> テキストや2Dエフェクト -> ssのパーツ②の順番で描画したく、
そのために、パーツ側の優先度を使いたい)

何卒ご検討いただけると幸いです。

以上となります。
宜しくお願い致します。

Ver1.1.0の変更点

ssbpLib Ver1.1.0の変更点
・SS5.5に搭載されたエフェクト機能に対応しました。
エフェクトのパラメータを動的に加算して動作する性質上、順再生中のみ正しく再生されます。

・参照セルの動的差し替え機能が付きました
setPartCell関数によってゲーム側から特定パーツのセルをssceに登録されている別のセルに差し替える事ができます。

・頂点バッファの情報を見直し、3D描画との相性を高めました。
state.quadに格納されている頂点情報を3D描画時の頂点情報に利用する事ができます。

v1.1.x以降 エフェクト機能の制限について

v1.1.0から対応されたエフェクト機能を使用する場合の制限についてです。
・逆再生には対応しておりません。
 エフェクトの性質上前回の値にパラメータを加算して位置を決定しますので、再生フレームが戻った場合は、
 先頭からそのフレームまでの起動を再計算する事になります。
 そのさいに乱数が再設定されますので、乱数を固定していない場合は違う結果になります。
 差分フレームが大きくなる程、計算の負荷が大きくなります。
 例えば前回が0フレームを再生し、今回が100フレームを再生する場合、一度に100フレーム分の軌道を
 再計算する事になりますので、処理負荷がかかります。
 再生時間を戻した場合は0フレーム目から計算しなおす事になり負荷かがかかります。

 先頭からエフェクトの軌道を計算し直す際に非表示アトリビュートを考慮しません。
 エフェクトパーツは非表示になると動作がリセットされる仕様となっており、本来であれば表示になった
 フレームからの現在までの差分を計算する事でエフェクトが再現されるのですが、先頭からアニメーションを
 再生しなおして非表示状態を検出する事は非常に高負荷となり、実運用を考えると現実的ではないため、
 過去の非表示状態を考慮しない実装となっております。

・アニメーションの再生速度を変更しても、再生フレーム単位の更新になります。
 上にもあった様にエフェクトはキーフレームではない事と、内部時間がフレームで管理されている事により
 アニメーションの再生速度を0.5に設定した場合、2フレーム毎にエフェクトが更新される形で再生されます。

・エフェクトエディタのFPSはプレビューの値になり、アニメーション配置時の再生速度ではありません。
 エフェクトエディターで設定するFPSはプレビュー時のFPSであり、エフェクトの再生速度ではありません。
 エフェクトの動作速度は配置するアニメーションのFPSに依存します。
 例えばエフェクトの生存時間が30であれば、アニメーションの30フレーム目で消える事になり、
 エフェクトエディター上のFPSによってこのタイミングが変化する事がありません。

・エフェクトが再現されない場合
 プレイヤーでは実用性を考慮してスプライトバッファのサイズを本体より小さくしています。
 それによってエフェクトが再現されない場合ssplayer_effect.hに定義されている定数を変更してください。
 #define SSEFFECTRENDER_EMMITER_MAX (128) //エミッターバッファ数
 #define SSEFFECTRENDER_PARTICLE_MAX (512) //パーティクルバッファ数
 を本体と同じ設定
 #define SSEFFECTRENDER_EMMITER_MAX (1024)
 #define SSEFFECTRENDER_PARTICLE_MAX (4096)
 に変更する事で再現されると思います。
 ただしアニメーションの再生時にバッファの確保が行われますので、サイズに応じて負荷がかかります。
 実際の環境でパフォーマンスを確認した上で運用していただきますようお願いいたします。
 
 

v1.3.5 ssbpLibによるインスタンスアニメーション再生の仕組みについて

お世話になっております。

SS5Player(ssbpLib)の組み込み検証を行っておりまして、
一点質問がございます。

テストデータにて、アニメーションの再生テストをしていたのですが、
インスタンスを使ったアニメーションを再生した時に、
正しくパーツが表示されない症状となっており、原因が分からない状況です。

「Ss5Converter」にて作成したバイナリをssbpLibにて読み込んでおりますが、
インスタンスアニメーションの参照Cellのindexがキーに入っていないように見受けられます。

ドキュメントを参照したところ、
以下のような記載がありましたが、本症状はこちらに該当するものでしょうか?

>>>>
 インスタンス機能で作成したアニメーションをアプリケーションに組み込む際は、
 アプリケーション側の対応が必要になります。
 こちらは仕様や再生するプラットフォームによっては制限を受けることがありますので、
 作成前にアプリケーションの仕様の確認を取ることをお勧めいたします。
 (弊社提供プレイヤーでは、SS5P for Unity・SS5P for Cocos2d-x・SS5P for UE4・SS5 SDKが対応しております)
<<<<

また、その場合、
SS5Playerで対応するにあたり、どのような対応を施す必要があるか、
ご教授頂くことは可能でしょうか?

以上となります。
宜しくお願い致します。

v1.2.2 変更点

・モーションブレンド再生が追加されました。
motionBlendPlay関数でアニメーションを再生するとプレイヤーで前回アニメーションを再生している場合に
前のアニメーションとこれから再生するアニメーションのパーツ情報を合成してアニメーションをつなげながら再生します。
この機能を使用するための制限は以下になります。
・遷移前、遷移後のアニメーションが両方とも同じssbp内に含まれている事
・同じパーツ構成(パーツ順、パーツ数)である事

これらの条件を満たすアニメーションをモーションブレンド再生すると、両方のアニメーションに含まれるパーツの中間地点を補間してアニメーションを切り替える事ができます。
これによって厳密にモーションがつながっていないアニメーションでも違和感なくアニメーションをつなぐ事ができます。

全般 親のスケールを変更し、子供に回転をつけると描画結果がSpriteStudioと異なります。

アニメーションのプロジェクトの設定>互換性の項目は次にチェックをつけて使用してください。
・エフェクト機能を使用するをオン
・親子の座標変換にマトリクスを使用しない(Ver4互換)をオン
・それ以外の互換性設定をオフにする

SpriteStudioの表示方法が変更され、プレイヤーの挙動と同じ結果になります。

v1.3.0 更新内容

ssbpLib Ver.1.3.0の更新内容です。
・SpriteStudio5.7.0のエフェクト機能に対応しました。
7月上旬にアップデートを予定しております、SpriteStudio5.7.0ではエフェクト機能への要望や再現性を高めるために大幅な変更を行いました。
SpriteStudio5.7.0の変更点はこちらを参照してください。

SpriteStudio5.6.1とはエフェクトの挙動が異なるため、ssbpLib Ver.1.3.0を使用する場合は、エフェクトアニメーションをSpriteStudio5.7.0で確認、調整し使用してください。

・ssbpファイルのフォーマットが変更になりました。
要望に対応するためssbpフォーマットを変更いたしました。ver1.2系のプレイヤーからアップデートする場合は、ssbpファイルの再コンバートが必要となります。

・座標値を16bit整数からfloatに変更しました。
座標アトリビュートに-3200~3200を超える座標を入力すると正常に表示されない現象に対応しました。

・アニメーションのループ範囲してい機能を実装しました。
アニメーションの開始位置、終了位置をフレームもしくはラベル名で設定できるようになりました。

v1.3.5 一つのパーツに対しての複数アニメーションの再生について

お世話になっております。
一点ssplayerでの機能的な質問がございます。

特定のパーツに対して、アニメーション(.ssae)を作成後、
さらにその中に以下のようなアニメーションを追加した場合に、
 ①スライドインしてくるワンショットアニメーション
 ②【①】とは非同期で動く明滅ループアニメーション
これらを共存させたいのですが、実現する方法はありますでしょうか?
(①、②には重複したアニメションキーは入れない想定です)

ssplayerのブレンド機能は
基本はA→Bへの遷移が前提のようでして、
二つ以上のアニメーションを共存させる方法がありましたら、ご教授頂きたく存じます。

宜しくお願い致します。

Ver1.2.0の変更点

v1.2.0の変更点概要です。
・対応ssbpファイルのフォーマットバージョンを3に変更しました。SpriteStudioSDKver1.6.xに対応。
・SS5.6で追加される機能、カラーラベルに対応しました。
 これはSS上でフレームコントロールのパーツ名に目印となる色を付けてオーサリングしやすくする機能ですが、設定した色がゲーム側で取得できるようになります。
 例えば赤色のパーツは○○の制御を行う、○○の座標になるといった具合に改造する事でデザイナさんに制御を依頼するような使い方ができます。
default
・アニメーションに設定する基準枠を取得できるようになりました。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.