AIプログラムとかUnityゲーム開発について

探索や学習などを活用したAI系ゲームを作りたいと思います。

ちゃんとTime.deltaTimeを使わないとダメ!絶対

SchoolGirlsSimulatorに関して、High School Simulatorさんからカメラの移動が遅いというコメントをいただきました。

High School Simulator 201750 分前
I downloaded the game, the camera moves very slowly 😕, but the game is great ☺
返信 1      
 
 1rafeel 
1rafeel33 分前
thank you for the advice.
Improve the rotation mechanism of the camera.
返信      
 
 High School Simulator 2017 
High School Simulator 201733 分前
+1rafeel Ok 😊
返信      
 
 1rafeel 
1rafeel2 分前
There was a mistake in camera rotation processing.
Advice was greatly appreciated.THX


ソースを確認したところ、

horizontalAngel += ax2 * 2;
horizontalAngel = Mathf.Repeat(horizontalAngel, 360);
verticalAngel -= ay2 * 2;
verticalAngel = Mathf.Clamp(verticalAngel, -60, 60);

みたいにTime.deltaTimeを使わずに回転していました。
これだと、機種のFPSによる違いが吸収されないので、遅くなったり、早すぎたりしてしまう。
キャラの移動や回転はTime.deltaTimeを使ってたのですが、カメラで抜けてました。


早速以下のように修正。cameraRotateSpeedは100に設定。
そもそもアナログジョイスティックなので、かなり早くしていても、指の加減で遅く回転することもできるので、
最大だと早いぐらいでもいいでしょう。

horizontalAngel += ax2 * Time.deltaTime * cameraRotateSpeed;
horizontalAngel = Mathf.Repeat(horizontalAngel, 360);
verticalAngel -= ay2 * Time.deltaTime * cameraRotateSpeed;
verticalAngel = Mathf.Clamp(verticalAngel, -60, 60);


非常に助かりました。
基本的な操作性がダメだと、そのアプリは完全に死亡ですからね。
ありがとうございました


あ。AngleとAngelのつづり間違ってるw 直した。