teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

詳細内容の追記。

2021/04/03 10:14

投稿

BB_
BB_

スコア1

title CHANGED
File without changes
body CHANGED
@@ -1,9 +1,11 @@
1
1
  ### 前提・実現したいこと
2
- Update関数にてある時間からある時間までの間に
2
+ Update関数にて
3
- 入力があればプレイヤーオブジェクトがそれに応じた動作をする
3
+ ある一定時間入力があればプレイヤーオブジェクトがそれに応じた動作をする(ため攻撃など)
4
4
  というものを実装したいのですが現在の実装方法が正しいのかが判断つきません。
5
5
  下記の疑問点について教えていただきたいです。
6
6
 
7
+ ※詳細は追記をご参照ください。
8
+
7
9
  ○現在の仕様
8
10
  ・フレームレートを30に固定
9
11
  ・Update関数内でカウントを取る変数を宣言し1フレームごとに1ずつ加算
@@ -16,4 +18,18 @@
16
18
   Time.deltaTimeを使用して時間単位で判定するのが適切でしょうか?
17
19
 
18
20
  ・Update関数内で判定を行うと処理落ちしたとき端末により動作に差がでるのではないか
19
-  (時間系の処理はFixedUpdateに記載するべきでしょうか? ※FixedUpdateは常に一定のため)
21
+  (時間系の処理はFixedUpdateに記載するべきでしょうか? ※FixedUpdateは常に一定のため)
22
+
23
+ ・そもそもUnityで時間を扱う処理を実装するときはFixedUpdateで行うのが一般的でしょうか?
24
+
25
+ ○追記
26
+ 「フレームレートの固定」
27
+ Project SettingsのQualityにてVSync CountをDon't Syncに設定し、
28
+ スクリプト内で Application.targetFrameRate = 30; を指定することで固定しています。
29
+ 処理落ちすることがあるため常に30フレームにはならないという認識です。
30
+ また、処理落ちしていない環境では想定通り動作しています。
31
+
32
+ 「プレイヤーオブジェクトと時間系の処理の関係」
33
+ 例えば溜め攻撃をする際にボタンを押した時点から離した時点の秒数を計測して
34
+ 規定時間以上なら溜め攻撃、そうでない場合は通常攻撃を出すなどの処理です。
35
+ 他にもアニメーションの再生時間、ボタン押下から攻撃オブジェクトの生成タイミングなどです。