[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart16 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
465: 03/18(火)19:07 ID:UdWYMzyu(2/2) AAS
>>463
1秒は1000msだから
1000 / 240 = 4.16666667
1フレームあたり4ms強
466(1): 03/18(火)20:26 ID:KSYQbbOt(1/2) AAS
>>464
そんな面倒なことしなくてもGetFileNameとかでいけるのでは?
パス操作でSplit使うのは最終手段
467: 03/18(火)20:43 ID:2C3TH5ss(1/3) AAS
>>466
GetFileNameだとhoga.txtが取れてしまう
fugaの部分だけを取りたいなら回りくどいけど>>464の方法くらいしか思いつかん・・・
468: 03/18(火)20:44 ID:2C3TH5ss(2/3) AAS
もっとキモい話になるけど、Path.GetDirectoryNameはディレクトリパスだけを返してくれる便利な魔法の関数などではなく
\または/で区切って最後の部分を除外した文字列を返す("C:\hoge\fuga\hoga.txt"→"C:\hoge\fuga")
だけで、Path.GetFileNameも同じく
\または/で区切って最後の部分のみ返す("C:\hoge\fuga\hoga.txt"→"hoga.txt")
だけなので、理論的には
Path.GetFileName(Path.GetDirectoryName("C:\hoge\fuga\hoga.txt"))
でfugaの部分を取れるっちゃ取れる
でも流石にコレはキモすぎるから>>464かなあ、正直微妙だけど
469(1): 03/18(火)20:45 ID:d603JaOd(1) AAS
DirectoryInfoとか
470: 03/18(火)20:54 ID:2C3TH5ss(3/3) AAS
>>469
string filePath = @"C:/hoge/fuga/hoga.txt";
DirectoryInfo di = new DirectoryInfo(filePath);
Console.WriteLine ($"di.Name={di.Name}");
Console.WriteLine ($"di.FullName={di.FullName}");
Console.WriteLine ($"di.Parent.Name={di.Parent.Name}"); // これでfuga取れたわ
Console.WriteLine ($"di.Parent.FullName={di.Parent.FullName}");
三月
471: 03/18(火)21:20 ID:KSYQbbOt(2/2) AAS
自分が想像してたのは正にそのGetDirectoryNameしてGetFileNameだった
確かにキモいっちゃキモいね
でもDirectoryInfoが一番しっくりくるし知れてよかった
472(1): 03/18(火)22:42 ID:PmhHb3Ev(5/5) AAS
>>461ですが
けっきょく当該ファイルを1個下(取得できているパス)に移動することで対処しました
ありがとうございます
473: 03/18(火)22:57 ID:m9QFBZXL(1) AAS
>>472
よかったね
474: 03/19(水)15:24 ID:POwZfcZS(1) AAS
>>448
なんだテメーは?
ラムダ式が匿名関数だからワイが関数名を命名してやったのに合わせてやれよってどういう意味だよ?
何に何を合わせるんだよ?喧嘩売ってんのかこら?ぶっ◯すぞ?m9⎛´・ω・`⎞;y=ー(゚д゚)・・∵. ドーン!
475(2): 03/20(木)11:35 ID:zYh3iRuS(1/2) AAS
コールチンの件ですけど
処理1; ←重い
処理2;
処理3;
と列記したときに、処理1がたまたま重いー処理だったときに
処理2と3が先に実行されてしまうことがあるって話なんですか?
つまり処理1の結果をうけて次の処理にいきたいときは、処理1はコールチンにするべきってことです?
476: 03/20(木)12:34 ID:nGIipXCH(1) AAS
同期処理で処理2,3が先に実行されることなんてありえないね!
コルーチンは非同期処理だから重い処理1を後回しにしたいならコルーチンにして先に処理2,3を実行することはできるね!
処理1の結果を受けて処理2,3をしたいならコルーチンにしちゃ駄目だね!m9⎛´・ω・`⎞ドーン!
477: 03/20(木)12:39 ID:Xoz1ZXil(1/2) AAS
private void Hoge()
{
StartCoroutine(Test1Coroutine());
StartCoroutine(Test2Coroutine());
StartCoroutine(Test3Coroutine());
}
private IEnumerator Test1Coroutine()
{
// 3秒かかる処理
Debug.Log("Test1");
}
private IEnumerator Test2Coroutine()
{
// 1秒かかる処理
Debug.Log("Test2");
}
private IEnumerator Test3Coroutine()
{
// 2秒かかる処理
Debug.Log("Test3");
}
これなら1秒ごとにTest2→Test3→Test1の順で出力される
478: 03/20(木)12:40 ID:Xoz1ZXil(2/2) AAS
private void Hoge()
{
StartCoroutine(HogeCoroutine());
}
private IEnumerator HogeCoroutine()
{
yield return Test1Coroutine();
yield return Test2Coroutine();
yield return Test3Coroutine();
}
private IEnumerator Test1Coroutine()
{
// 3秒かかる処理
Debug.Log("Test1");
}
private IEnumerator Test2Coroutine()
{
// 1秒かかる処理
Debug.Log("Test2");
}
private IEnumerator Test3Coroutine()
{
// 2秒かかる処理
Debug.Log("Test3");
}
これならHoge実行から3秒後にTest1→その1秒後にTest2→その2秒後にTest3の順で出力される
479: 03/20(木)22:13 ID:s5/NtbIK(1) AAS
コルーチンにはコルーチンを待つって条件無かった?
480: 03/20(木)23:13 ID:/JzYXGd0(1) AAS
コルーチンはyieldで区切られた処理単位をメインスレッドで直列に実行するだけだぞ
481: 03/20(木)23:38 ID:zYh3iRuS(2/2) AAS
つまりコルニチンを使わなければシーケンスアルに実行されるのに、
コルニチンにすることで処理が追い抜かれることが起きるわけですよね?
482: 03/21(金)00:15 ID:OEL1/eUp(1) AAS
これでええやん
yield return StartCoroutine() 指定したコルーチンを実行、完了するまで後続処理は行わない
483: 03/21(金)11:27 ID:ukk4lTuB(1/3) AAS
>>475に関してはだいたいわかりましたが
より具体的な話にうつりますけど、
LerpとかSlerpで、たとえば発射したミサイルが飛んでいく動きをつくったとき、
ゴール到達までwhileループしてたら他の処理が全てとまってしまうのでコルニチンを使うということでいいですか
そしてたくさんのミサイルを発射するからにはコルチニンがたくさん並列で起動されるでいいですか
484: 03/21(金)11:37 ID:eYqTNLdw(1) AAS
いいですお
485: 03/21(金)11:43 ID:ukk4lTuB(2/3) AAS
ただちょっと不思議に思うのは、爆発エフェクトとかいちいちコールチンにしてませんよね?
ふつうに並列処理されてるのはどんな仕掛けなんですかね
あとだし質問ばかりですみません
486: 03/21(金)11:45 ID:yn0zvw4V(1/3) AA×

487: 03/21(金)11:47 ID:gcT/UM3+(1) AAS
爆発エフェクトってParticleSystemコンポーネントとか?
それはParticleSystem.Play()を実行したらParticleSystemが内部で実装してるコルーチンなりMonoBehaviour.Updateが実行されてるという認識でいいんでない
488: 03/21(金)11:59 ID:ukk4lTuB(3/3) AAS
つてことは、関数が入れ子になっていて奥にコルニチンが隠れている可能性もあるんですか?
そういうのがあると元の>475の例でいうと 処理1の子関数にコルチニンがあるから順番がおかしくなったのかも?
489: 03/21(金)13:04 ID:HnT0R90J(1/2) AAS
timeline上であるオブジェクトをアニメーション1で原点から移動させた後アニメーション2に遷移させるとまた原点に戻ってしまいます
アニメーション2をクリックして手動で開始点をアニメーション1の終了地点に合わせれば原点に戻らずその場でアニメーション2に遷移させられますが不便です
アニメーション1をループさせるときのbake into poseをオフにするようなうまい設定はありませんか
490(1): 03/21(金)13:23 ID:yn0zvw4V(2/3) AAS
ルートモーションを適用にチェック入れればいいだけちゃうかな?m9⎛´・ω・`⎞ドーン!
491: 03/21(金)15:19 ID:HnT0R90J(2/2) AAS
>>490
もちろんチェック済です
492: 03/21(金)18:17 ID:rL/gXI3i(1) AAS
なんでこうも執拗にコルニチンと言ってるの?
なんかの病気なの?
493: 03/21(金)19:51 ID:0rAWX75D(1) AAS
一時期、韓国推し案件でTVやマンガでサムゲターンって叫んでいたように知名度を上げる作戦じゃね
どっちにしろスルーが吉
494(1): 03/21(金)22:03 ID:yn0zvw4V(3/3) AAS
今日も元気だ暴飲暴食!孤独のグルメで豪遊してきた!
コルニチン弁当!サラダ!レモンサワー350リットル!これでたったの580円!m9⎛´・ω・`⎞ドーン!
i.imgur.com/3ffxEqL.jpeg
上下前次1-新書関写板覧索設栞歴
あと 508 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.014s