[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart16 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
550: 03/27(木)15:29 ID:9nOjesem(1) AAS
>>549
いい質問ですね!Unityのコルーチンは、同時に起動できる数に明確な制限はありません
理論的には、メモリが許す限りたくさんのコルーチンを同時に起動できます
実際に非常に多くのコルーチン(1千マンコ)を同時に動かすテストをした例もありますが、その際にはフレームレートが大幅に低下しています
重要なのは、数よりもむしろコルーチンの中身です!m9⎛´・ω・`⎞ドーン!
551: 03/27(木)17:17 ID:9dMLxTy8(1) AAS
口調がAIで草
552: 03/27(木)18:03 ID:HMjbdOr1(1) AAS
できるできないで言えばできる
が、monobehavourのupdate等イベントメソッドはなぜか重たいので
計測はしてないけどコルーチンも準じた負荷がありそうなのでそんなに沢山作らん方がよいような気がする
553
(1): 03/27(木)18:32 ID:Und4nXsQ(2/3) AAS
localRotationの数値が下記のxyzで保持してあるのですが、

Quaternion.Euler(x, y, z)

これを Vector3.Lerp(a,b,t ) で計算できるのでしょうか

なにか変換して
Quaternion.Lerp(a b, t); を使うへきでしょうか
554: 03/27(木)19:50 ID:Und4nXsQ(3/3) AAS
>>553 は解決しました

Quaternion.Lerp() に Quaternion.Euler(x, y, z) はそのままQuaternion値として動作しました
555
(1): 03/28(金)01:49 ID:WL97dB9i(1) AAS
コルチーンでLerpでオブジェクト移動しとるんですけど
たくさんを同時に移動したいとき、
t=0.1で全部を10%移動、t=0.2で20%の位置へ、
みたいな並列で動かしていきました
ところが現在位置取得に問題がありそれぞれの最後の位置がスタート地点となり、そのから80%、90%、と進んだところでいつまでも到達できないというか
たとえば3秒のつもりがほぼ1秒でゴール間際にきていてあとはジリジリ。
以上よろしくおねがいします
556: 03/28(金)01:55 ID:WTbKjZ7X(1) AAS
いえいえ
こちらこそよろしくお願いします
557: 03/28(金)07:46 ID:K3DATGSG(1/3) AAS
全部の移動オブジェクトのスタート位置を配列にキャシュするのが一番なんですかね
558: 03/28(金)07:58 ID:UN4bH1ZK(1) AAS
現在位置取得に問題があるなら
その問題を解決すればいいよ
559: 03/28(金)09:46 ID:K3DATGSG(2/3) AAS
>>555
配列にキャッシュして無事にやれました
大儀であった
560
(2): 03/28(金)09:56 ID:K3DATGSG(3/3) AAS
アレイの個数って先に決めないといけないんですか?
わからないときに多めに宣言してもいいですか

Vector3[] currentPositionList = new Vector3[30];
561: 03/28(金)10:12 ID:Q6Gzavqw(1) AAS
>>560
外部リンク:copilot.microsoft.com
画像リンク

562: 03/28(金)10:15 ID:LK2TRwqg(1) AAS
やっちゃダメというわけではないけど
多めに宣言しとくってのはバットプラクティスだな
UnityC# の Vec3 はスタックに置かれる(だったっけ?)から、いくつ必要かは仕様として落とし込んで必要最低限にしとき
563: 03/28(金)13:18 ID:KdLl+nds(1) AAS
必要最低限ではなく、起こり得る最大値でしょう
計算し正しい最大値を見積っておかなければクラッシュすることも起こり得る
564: 03/28(金)14:27 ID:2GvZXKtf(1) AAS
material uvscrollのpersecondって仮にY=1としたら、一番上のラインを基準にして画面1枚上から下まで移動するのが1秒って事ですか?
565
(1): 03/29(土)12:45 ID:ltBpNvoh(1/3) AAS
多めに確保するのは、むしろ効果的な手法
あのListだって中では2のべき乗倍で配列を余分に作ってる
勿論、やりすぎるとメモリパンクするのでご利用は計画的に
566
(1): 03/29(土)12:49 ID:ltBpNvoh(2/3) AAS
可変長なら素直にListつかったほうがいい
capacityも自分で決められるし、サイズオーバーしたら勝手にリサイズしてくれる
あと、ArrayはVec3に限らず常にヒープだよ
スタックでやりたければstackalloc
567
(2): 03/29(土)13:49 ID:Veo5PTdP(1) AAS
>>566
ヒープとは
568: 03/29(土)14:03 ID:tj9mZt57(1) AAS
>>567
ケツ
569: 03/29(土)14:29 ID:ltBpNvoh(3/3) AAS
>>567
外部リンク:www.google.comヒープとは
570: 03/29(土)14:37 ID:SmHf7Hj8(1/2) AAS
スタックとヒープを見抜ける人でないと、C#を使うのは難しい
571
(1): 03/29(土)14:51 ID:HVVT7sm3(1) AAS
>>565
1024か4096バイト単位でないの?
572: 03/29(土)15:16 ID:9hE4cdlN(1) AAS
ほー、今はそうやってる教えるところもあるんだな
仕様変更都度拡張でいいと思うけど、まあ設計の問題だから好きにしたらいいさ
オレが困るわけじゃないし
573: 03/29(土)16:10 ID:pfO2uJon(1) AAS
おまいらの作る規模でメモリなんか気にするな
574: 03/29(土)16:14 ID:nBKVYy8/(1) AAS
そういや自作ゲームにコア数とかクロック数を気にしてる奴が居てワロタ
575: 03/29(土)16:22 ID:e1QwXAdv(1) AAS
先にゲーム完成させろよw
576: 03/29(土)17:05 ID:SmHf7Hj8(2/2) AAS
パフォーマンスをガチるならDOTS一択
577: 03/29(土)23:58 ID:lGyNxmB0(1) AAS
個人製作レベルならほんと全部Listでいいと思うからそんな悩みは捨ててさっさと完成させろ
ヘタに使い分けるとむしろ管理が面倒になる
強いて言うなら2次配列で[,]を使うくらいにしとけ
578: 03/30(日)00:04 ID:SPuk9Zmt(1/3) AAS
>>571
モヤモヤしたので自分で確かめてみたよ

List<int> list = new List<int>();
int prevCap = list.Capacity;
StringBuilder log = new StringBuilder();

for (int i = 0; i < 1000000; i++)
{
list.Add(i);
if (list.Capacity != prevCap)
{
log.AppendLine("cap " + list.Capacity + ", count " + list.Count + ", total " + (list.Capacity * sizeof(int)) + " bytes");
prevCap = list.Capacity;
}
}

if (log.Length > 0) Debug.Log(log.ToString());
579
(1): 03/30(日)00:05 ID:SPuk9Zmt(2/3) AAS
cap 4, count 1, total 16 bytes
cap 8, count 5, total 32 bytes
cap 16, count 9, total 64 bytes
cap 32, count 17, total 128 bytes
cap 64, count 33, total 256 bytes
cap 128, count 65, total 512 bytes
cap 256, count 129, total 1024 bytes
cap 512, count 257, total 2048 bytes
cap 1024, count 513, total 4096 bytes
cap 2048, count 1025, total 8192 bytes
cap 4096, count 2049, total 16384 bytes
cap 8192, count 4097, total 32768 bytes
cap 16384, count 8193, total 65536 bytes
cap 32768, count 16385, total 131072 bytes
cap 65536, count 32769, total 262144 bytes
cap 131072, count 65537, total 524288 bytes
cap 262144, count 131073, total 1048576 bytes
cap 524288, count 262145, total 2097152 bytes
cap 1048576, count 524289, total 4194304 bytes

ほれ、やっぱり2のべき乗倍でcapacity確保されてる
1-
あと 423 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.013s