effekseer / pixi-effekseer

MIT License
2 stars 1 forks source link

EffekseerForRPGmakerMVにおける課題 #2

Closed Sigureya closed 4 years ago

Sigureya commented 7 years ago

要望とバグを報告します。 上から順に優先度高め。

■行列とベクトル関連のクラスを直接扱いたい。 JSでの行列・ベクトルライブラリは他にもあるが、いずれにせよ何で統一するかは決めたい。

■エフェクトをクォータニオンで回転したい。(優先度高め)

■isPlayng()が正常に機能しない。 1回目だけうまく行きますが、2回目以降は早い段階で切れてしまう。 2フレームでisPlaying()がfalseを返したため、existsが機能していないと思われる。 Sprite_Base.prototype.updateAnimationSpritesにブレークポイントを張り、 sprite.isPlayingがfalseだった時を見ているが、音が鳴る前に終了扱いにされている。 2つのLaser01を高速で生成したが、それぞれが死亡したタイミングは88フレームと40フレームだった。 仮説だが、全エフェクトで寿命が共有されているのではないか。 isPlayng()に90フレームまではtrueを返すworkaroundを実装したころ、isPlaying()が正常動作することを前提とした処理は動いた。

■初期化時にエフェクトにsetScale(20,20,20)しないと小さくて表示されない。 カメラ行列の設定時に拡大する必要あり? setCameraMatrixで渡している行列の内、単位行列で1になる部分に20を設定していい感じに大きくなったので、 この方法は有効だと思われる。 (実際は回転が狂うので、このままでは使えない)

■音量を調節する機能が欲しい。

■Blockの描画が色々とおかしい。 テクスチャが張られなかったり、関係ない画面にテクスチャが張られたり、 一瞬画面が黒くなったり。かなり不安定。 モデルの表示自体は正しい。

■エフェクトの先端がどこにあるかを取得したい。 何かを飛ばすエフェクトを使ったときに、敵にヒットした瞬間をとらえたい。 エフェクトが敵と衝突した瞬間が取れればいい。

■RPGアツマールへの投稿を考慮した際、.efkファイルでは投稿できない。 .efkをテキストファイルにすれば可能。 優先度低め。

Sigureya commented 7 years ago

進捗です。 現在結果の出ている作業の一覧 ■スキル側で指定したエフェクトを再生する。 (ただし、Factory関数に登録する必要あり) ■エフェクトをツクールデフォルトのエフェクトアニメーション同様に、再生している間他の動きを止める。 ■ツクールの座標系でエフェクトを出す。 ただし、スクリーン座標のみ。 マップ上で表示する場合、全てスクリーン座標で出してしまうため、画面が動くとエフェクトがそれについて行ってしまう。 ■サウンド WebAudioでそのまま再生されている。

敵の画像にオフセットを設定して、それっぽい位置を狙えるようにしました。 ただし、ツクール側からどうやってオフセットを送り込むかが未定です。 現在、JSにオフセットを直書きしています。 2017-07-18

durswd commented 4 years ago

大分バージョンが上がってしまったためクローズします。