MOREUnity使っているのにオソい2015.01.19こんにちはエンジニアの島鼻です。今回も速度を求められて来た中でやってみた事を書いてみます。大掛かりなシステムのブログに憧れますが、現場レベルの小さな積み重ねも力に変えて行きたいですね。近年アクション要素や、エフェクトが増えたゲームが沢山登場しています。エフェクトがあると演出が終わるまで待たなければならないので、デバッグに時間がかかります。通信であれば、リクエストデータを送るだけなのですが、データの整形が難しかったりしてやっぱり時間がかかってしまったり。開発体制的にデバッグ機能の入れ込みを行えなかったりで、結局普通にゲームをプレイしてデバッグをせざるを得ないなど...。́・ω・`)<お、終わらん。楽しそーな演出がニクいぜーUnityのパワーを使いましょう。Scale]これは何でしょうか?Unityの物理挙動やアニメーションのタイムスケールを制御するもので1.0でリアルタイムです。0.5にするとアニメや物理の速度が遅くなり、0で完全に止まります。使用用途としては、スローモンションやポーズ機能と言ったところでしょうか?演出としてスローモーションを使ったり出来る大変便利なものです。前置きが長くなりましたが、Time.timeScaleに100位入れてデバッグしましょうと言う話です。ゲームが100倍速く動きます。(端末の力の限り動きます。)そうする事で、演出が多くなってしまったゲームの演出のアニメスピードを上げてサクサク実行。アクション要素があり、ゲームをプレイしなければ次に進んで行かないゲームでもスマホアプリの場合、自動で動く事が多いので基本放置でデバッグ出来たりします。簡易的なスキップ機能と言う訳です。実装として、演出スキップ機能をTime.timeScaleを使用して、行う事もありました。これで、また1つ時短が出来ました!補足このTime.timeScaleに依るゲーム内速度調整が適用されるのは、Time.deltaTimeの掛かっている値、若しくはFixedUpdate()の中で実行されている処理に限られます。iTweenも問題なく適用されます。Time.timeScaleを使った実装がどこかに盛り込まれている場合は、簡単に適用出来ない場合があるかもしれません。その場合はGameObjectを1つ配置してTime.timeScaleを100にし続けると言った事をやっていました。