スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

DOTweenとPhotonはじめ



今回インストールしなおしたVisual Studioの評価版期限切れが、昨日通知された。
開発を始めて丁度一ヵ月。
残りタスクはまだまだあるものの、ローカルでそれなりに動くものはできた。

以下、開発でハマったところ、DOTweenについて。


DOTween

ゲームなので、文字がふわっと消えたり、画像がプニッと動いたり
そういったアニメーション的な装飾が欲しくなる。
それを手軽に効率よく実現してくれるのがDOTween

手軽…手軽とは…いったい…

アニメーション初実装だったため、その手軽さが全く実感できず
むしろ苦労した。
苦労した理由は恥ずかしながら
「Vector使ったことなかった」「ラムダ式慣れていない」
に集約されるのだが。

まず最初に躓いたのは
DOTween無料版においては
① using DG.Tweening;して中でTweenの実装をしているScriptを自前で書いて
② それをオブジェクトにコンポーネントとしてアタッチする
ということ。
今までのAssetのように、既に用意されているTween用のコンポーネントを選んでアタッチ
というわけではなく
またInspector画面上からパラメータを調整するものでもない。
(そういったものはPro版の機能となる)

DOTween



上記は、COMBOの表記をフェードアウトさせるためにDOFadeしたコード。
※DOFadeを使う場合はちょっと特殊で、事前にCanvasgroupをアタッチしておいて
 これに対してTweenしなければならない
 通常だとRect Transformに対してTweenする

動かしたいオブジェクトに、NewScriptをアタッチして
Script内でusing DG.Tweeningをし
DOXXXXで行いたいアニメーションを実装する。

色々できるDOホゲホゲについては他の方の記載を拝借。
一番お世話になったサイトはこちら。
https://gist.github.com/anzfactory/da73149ba91626ba796d598578b163cc

結果だけ見れば簡単でしょ?なんだけど
うんともすんとも言わず小一時間ほど見事にハマった。
DOTween使う前提が、ある程度ゲーム制作に慣れてる人向けな気がする。
(あとラムダ式。いい加減覚えよう。)


その他面倒な部分は多々あったが、目新しいこともしていないのでこのくらい。
いよいよここから同時プレイのためのネットワーク実装に入る。

以前お試しで用意したものはいったん破棄して新しいプロジェクトを作り直した。
ローカル版として先行作成していたものも、いったんそのまま取っておきたいので
Assetのエクスポート⇒インポートで移植。

こちらに従ってPhotonログイン⇒入室までテストした。



問題はここから。
どうやって同期をとるか。

物理演算させて動かすタイプのゲームで用いられている位置予測なんて使えない。
完全に入力ベースで送受信する必要がある。難しいのはその速度だ。

ラグなく同期をとることがPhotonでできるのかがかなり不安。
同期をとる必要のあるオブジェクト自体はそんなにないので
メッセージ数には問題ないと思うけれど…

やってみてどうしても解消されないようなら、自前で実装するしかない。
ログイン・マッチング・チャットだけ利用して
タイピングの入力同期制御の部分のみ自分でやればできるのかな?
など、まだまだ未知。
未知すぎてやる気がイマイチ起きない!
ネットワーク弱すぎるのだ…一度勉強をして投げ出してしまった。

開発のペースアップを図る必要はないが、モチベーションを持続させるためにも
手を動かしてまずはPhotonに慣れていこうと思う。
スポンサーサイト

コメント

非公開コメント

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。