[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart9 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
514(1): 名前は開発中のものです。 [] 2023/02/07(火) 17:52:49.84 ID:K9Nn/Z4s(1/2) AAS
 >>513513(1): 名前は開発中のものです。 [sage] 2023/02/07(火) 01:17:20.46 ID:GDCX54Vt(1/2) AAS
 合ってるかどうか自信ないので質問させてください。 
 1/60フレームごとに処理したいのですが、スクリプトは以下のやり方でいいんでしょうか? 
 よろしくお願いしますm(__)m 
  
 public float fps; 
  
 void Update() 
 { 
  
 fps+=Time.deltaTime; 
 if (fps > 1/60){fps = 0;} 
 if(fps==0){//何か処理} 
  
 }  
端数切り捨てだから正確な判定にはならんな 
 あと1/60は1f/60fにした方がいい 
515(1): 名前は開発中のものです。 [sage] 2023/02/07(火) 18:35:59.43 ID:St9Ro8KS(1/4) AAS
 変数fpsにゼロ入れたときにそのまま処理書いちゃあかんのん? 
516(1): 名前は開発中のものです。 [sage] 2023/02/07(火) 18:36:46.22 ID:St9Ro8KS(2/4) AAS
 >>512512(1): 名前は開発中のものです。 [] 2023/02/07(火) 01:03:47.86 ID:o2v+R+ZA(1/3) AAS
 親オブジェクトのみtransform.Rotateで回転させることはできますか? 
  
 テキストはそのままでキャラクターを左右反転させたいです。  
その2つの上に空の親作っちゃあかんのん? 
517(1): 名前は開発中のものです。 [sage] 2023/02/07(火) 18:40:20.91 ID:St9Ro8KS(3/4) AAS
 >>511511(1): 名前は開発中のものです。 [sage] 2023/02/06(月) 21:30:15.15 ID:HbOQiUUp(1) AAS
 壁に当たった時onCollisionEnter内で自身にrigidbody.addforceをして反射っぽい動きをする球を数千個複製して動かしてますが 
 数個に1個ほど衝突してもaddforceされてないぽい動きをする球が居ます 
 数千個もやってるせいかなと思ってるのですが負荷状況によってcollisionenterが呼ばれないもしくはaddforceが無視されるケースてあり得ます?  
こんなんあったけど 
 OnCollisionEnter、OnTriggerEnterが呼ばれない場合を検証 
 外部リンク:www.google.com 
518(1): 513です [sage] 2023/02/07(火) 19:47:32.99 ID:GDCX54Vt(2/2) AAS
 >>514 
 なるほど 端数を切り捨てないように次の計算で足したりしたらいいってことでしょうか 
 なんとなくわかった気がします 回答ありがとうございます 
  
 >>515 
 あ、そのまま書いても行けましたね 
 ご指摘ありがとうございます 
519: 名前は開発中のものです。 [] 2023/02/07(火) 20:20:47.82 ID:o2v+R+ZA(2/3) AAS
 >>516ありがとうございました! 
520(1): 名前は開発中のものです。 [] 2023/02/07(火) 22:04:06.66 ID:o2v+R+ZA(3/3) AAS
 photonでprefabの変数を区別するにはどうすればいいでしょうか? 
 prefabに変数expを持たせているのですがプレイヤー1とプレイヤー2で区別できません。 
 ボタンをクリックしたプレイヤーのexpだけ1増えるようにしたいのですが、プレイヤー1、2両方とも増えてしまいます。 
521(1): 名前は開発中のものです。 [] 2023/02/07(火) 22:28:14.56 ID:geFO2MFz(1) AAS
 >>520 
 すみません、言ってる意味が不明です。読解力ないのかな。 
 staticにしてあるとかじゃなくて? 
522(1): 名前は開発中のものです。 [] 2023/02/07(火) 22:37:01.93 ID:St9Ro8KS(4/4) AAS
 photon Boltだと 
 「UserToken」があり接続してきた相手の名前、切断理由、コネクト状態を保持しています。 
  
 こんな情報あるんだけど、よく見て見て識別は可能だと思うよ 
523(1): 名前は開発中のものです。 [] 2023/02/07(火) 22:59:51.50 ID:K9Nn/Z4s(2/2) AAS
 >>518 
 0にするんじゃなくて1f/60fを引く仕組みに変えればいいだけ 
524(1): 513です [sage] 2023/02/08(水) 00:28:39.06 ID:4ssVwWu1(1/7) AAS
 >>523  
 レスありがとうございます。 
 なるほど!引くっていうの思いつかなかったです。 
 こんなカンジであってますか? 
  
 void Update() 
 { 
 fps+=Time.deltaTime; 
 if (fps > 1f/60f){何か処理; fps =fps-1f/60f;} 
 } 
525(1): 名前は開発中のものです。 [sage] 2023/02/08(水) 00:36:06.93 ID:9Oj7gslL(1/3) AAS
 +=があるなら-=もできるんじゃね? 
526: 名前は開発中のものです。 [sage] 2023/02/08(水) 00:38:40.77 ID:4ssVwWu1(2/7) AAS
 >>525 
 たしかにそうでした。 
 ありがとうございます。 
527: 名前は開発中のものです。 [] 2023/02/08(水) 01:18:53.03 ID:qdmrhq/e(1) AAS
 >>521 >>522 staticが原因でした。解決できました。ありがとうございます。 
528(1): 名前は開発中のものです。 [] 2023/02/08(水) 07:33:22.17 ID:rXLBSowm(1/6) AAS
 >>524 
 俺はこれでいいと思う 
529: 名前は開発中のものです。 [sage] 2023/02/08(水) 08:20:49.61 ID:0iqJoPqR(1) AAS
 >>517 
 ありがとうございます! 
 記事読む限り懸念してたことは起こってなさそうです 
 原因わからんですが別のアプローチでどうにかしようと思います 
530(2): 名前は開発中のものです。 [sage] 2023/02/08(水) 13:39:50.90 ID:4ssVwWu1(3/7) AAS
 >>528 
 ありがとうございます。 
 これでいこうとおもいます。 
531: 名前は開発中のものです。 [] 2023/02/08(水) 14:43:47.38 ID:rXLBSowm(2/6) AAS
 >>530 
 とはいえもともとupdateは不確実なものだからそれをベースに 
 同期的なシステムを作ることはオススメしない 
532(1): 名前は開発中のものです。 [] 2023/02/08(水) 15:05:29.90 ID:rXLBSowm(3/6) AAS
 >>530 
 例えばプロファイルを眺めてれば分かるが 
 ゲーム実行中一気に負荷がかかって一瞬全ての処理が滞ることがある 
 updateも滞る 
 そうした時その君のシステムはまともに動作するのか? 
 甚だ疑問である 
533(1): 名前は開発中のものです。 [sage] 2023/02/08(水) 15:34:48.29 ID:3OnP7aBQ(1/2) AAS
 厳格に60分の1秒単位の処理する必要なんてあるんかな? 
 なんか不必要な処理な気がする 
534(3): 名前は開発中のものです。 [sage] 2023/02/08(水) 16:12:29.76 ID:4ssVwWu1(4/7) AAS
 >>532 >>533 
 後出しになっちゃってすみません。 
 具体的にやろうとしてるのは方向2回入れのダッシュの検出なんです。 
 1秒以内に方向が2回押されてる、かつその間にニュートラルが入ってる 
 ならダッシュ成功みたいなふうにやろうと考えてます。 
 入力方向がニュートラルなら0、右なら3でリストに入力された方向を追加していって 
 リストの中身を全部調べるやり方で作ろうとしています。 
 ただこのやりかただとPCの処理速度によってリストに追加するタイミングも違ってくるのではと思い、fpsで管理しようと思った次第です。 
 他におすすめやり方とかあれば教えてほしいですm(__)m 
  
 //方向の履歴リスト(ダッシュ検出用) 
 public List<int> histry; 
 Start{ 
 //リスト初期化 
 histry = new List<int>();  
 //方向0を60個リストに追加(60で1秒とする) 
 for(int i = 0; i < 60; i++) 
 {histry.Add(0);} 
 } 
 Update{ 
 //履歴リスト更新(追加と1番最初を削除) 
 histry.Add(押された入力方向番号); 
 histry.RemoveAt(0); 
 //履歴チェックメソッド実行(これから作る予定) 
 Check(); 
 } 
535(1): 名前は開発中のものです。 [] 2023/02/08(水) 16:34:58.52 ID:rXLBSowm(4/6) AAS
 >>534 
 フレームで管理する必要ない 
 マシンのスペック差はTimi.deltatimeでクッションされてるから 
 普通にfloat型の変数で管理できる 
536(1): 名前は開発中のものです。 [sage] 2023/02/08(水) 16:54:21.15 ID:4ssVwWu1(5/7) AAS
 >>535 
 すみません。 
 自分にはちょっと難しくて話についていけてないです。 
 よろしければ詳しく教えていただけますか? 
537: 名前は開発中のものです。 [] 2023/02/08(水) 16:55:19.15 ID:rXLBSowm(5/6) AAS
 >>534 
 それと入力検知で60個ものリストを使い、毎フレーム付け外しするとか無駄の極み 
538(1): 名前は開発中のものです。 [] 2023/02/08(水) 16:59:32.20 ID:rXLBSowm(6/6) AAS
 >>536 
 要するに1秒ってのを測ればいいだけだろ 
 float型変数でjikanってのを作った場合 
 jikan+=Time.deltatime; 
 でjikanをカウントして1秒後にチェックすればいいだけ 
 マシンスペックによってTime.deltatimeの中身が変わるから 
 それで差は吸収される 
上下前次1-新書関写板覧索設栞歴
あと 464 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.018s