ゲームエンジンUnityを楽しむ初心者による初心者の為のスレ
その為「アセットを購入しましょう」「チュートリアルやれ」「ググレカス」等禁止
初心者が親身になって初心者に教える。
又ググレの場合、何のキーワードでググるのか書いてね
●リンク
・Unity(日本公式サイト)
http://unity3d.com/jp
・マニュアル
http://docs.unity3d.com/ja/current/Manual/index.html
・チュートリアル
http://unity3d.com/jp/learn/tutorials
・スクリプトリファレンス
http://docs.unity3d.com/ja/current/ScriptReference/index.html
・FAQ
http://unity3d.com/jp/unity/faq
・MSDN
http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
探検
【ゲームエンジン】Unity初心者質問スレBuild2
レス数が1000を超えています。これ以上書き込みはできません。
2019/05/08(水) 14:35:37.58ID:VDHuk8YT
984名前は開発中のものです。
2020/01/11(土) 02:03:49.82ID:eNMw2FnY >>981-983
実行時の話な
var seq = list.Where(...)が返すのはIEnumだが、
実際にforeach(var n in seq)で遅延評価されるときには一つずつの値を返してるし、それが次のWhereに送られてる
ループの位置を見てみろ、配列は一回しか回ってないだろ?
実行時の話な
var seq = list.Where(...)が返すのはIEnumだが、
実際にforeach(var n in seq)で遅延評価されるときには一つずつの値を返してるし、それが次のWhereに送られてる
ループの位置を見てみろ、配列は一回しか回ってないだろ?
985名前は開発中のものです。
2020/01/11(土) 02:17:15.69ID:1/8GPuaw >>984
いやだからその展開式みたいに実行時コードがなるって話あったっけ?
こんぱいられべるでLINQ特化で最適化しないとそうはできないと思うけど、いや俺が知らないだけかもなのでこう最適化されるよーってソースあるなら教えてくれ
いやだからその展開式みたいに実行時コードがなるって話あったっけ?
こんぱいられべるでLINQ特化で最適化しないとそうはできないと思うけど、いや俺が知らないだけかもなのでこう最適化されるよーってソースあるなら教えてくれ
986名前は開発中のものです。
2020/01/11(土) 02:34:07.57ID:eNMw2FnY >>985
yieldのごく普通の振る舞いなんだからイテレーター使ったことあるなら分かるだろ?
ちなみに具体的なソースはこれな
https://github.com/dotnet/corefx/blob/master/src/System.Linq/src/System/Linq/Where.cs
yieldのごく普通の振る舞いなんだからイテレーター使ったことあるなら分かるだろ?
ちなみに具体的なソースはこれな
https://github.com/dotnet/corefx/blob/master/src/System.Linq/src/System/Linq/Where.cs
987名前は開発中のものです。
2020/01/11(土) 03:28:33.54ID:MfNXfEnO コルーチンについて質問させてください。
void Start() {
StartCoroutine(A());
}
void Update()
{
Debug.Log("update");
}
IEnumerator A()
{
Debug.Log("A start");
for (int i = 0; i < 10; i++)
{
Debug.Log("A:"+i);
yield return null;
}
}
とやって動かすと、ログが
A Start
A:0
start end
update
update
A:1
になるんですが、最初のUpdateのあとにコルーチンが実行されないのはどうしてですか?
void Start() {
StartCoroutine(A());
}
void Update()
{
Debug.Log("update");
}
IEnumerator A()
{
Debug.Log("A start");
for (int i = 0; i < 10; i++)
{
Debug.Log("A:"+i);
yield return null;
}
}
とやって動かすと、ログが
A Start
A:0
start end
update
update
A:1
になるんですが、最初のUpdateのあとにコルーチンが実行されないのはどうしてですか?
988名前は開発中のものです。
2020/01/11(土) 03:42:34.65ID:eNMw2FnY989名前は開発中のものです。
2020/01/11(土) 11:12:22.12ID:1/8GPuaw >>988
いやごめん、むしろお前がなんでそんな理解してるのか分からん。
それはイテレーターを書くためのシンタックスシュガーであって、結局はEnumeから列挙するためにMoveMextやら何やら呼ぶことになると思うが。
そもそもお前が言ってるようなループなんてコード上は展開されないだろ
あくまでもEnumeのMoveNextやらなんやらで列挙されてくだけで。つか自分があげたWhereのどこ見りゃ途中のものも全部前のが返すEnumeを第一引数として受け取りEnumeを返すってのが明らかだと思うが。
その上でWhereを続けた時などにC#上もしくはコンパイラ生成時に最適化がなされる事はあり得るかも?とは思うけどそう言うこと言いたいんじゃないよね
いやごめん、むしろお前がなんでそんな理解してるのか分からん。
それはイテレーターを書くためのシンタックスシュガーであって、結局はEnumeから列挙するためにMoveMextやら何やら呼ぶことになると思うが。
そもそもお前が言ってるようなループなんてコード上は展開されないだろ
あくまでもEnumeのMoveNextやらなんやらで列挙されてくだけで。つか自分があげたWhereのどこ見りゃ途中のものも全部前のが返すEnumeを第一引数として受け取りEnumeを返すってのが明らかだと思うが。
その上でWhereを続けた時などにC#上もしくはコンパイラ生成時に最適化がなされる事はあり得るかも?とは思うけどそう言うこと言いたいんじゃないよね
990名前は開発中のものです。
2020/01/11(土) 11:45:27.42ID:GoAReVTm >>987
>最初のUpdateのあとにコルーチンが実行されないのは
最初のUpdateはスタート直後に動くんだけど、Updateの間隔は不定なので、最初のスタートのオーバーヘッドがUpdateを遅延させてしまい2回ログが出力されたのかと思う
これを修正するには
Update を FixedUpdate にし
yield return null を yield return new WaitForFixedUpdate() にする事で解決は出来る
UpdateとFixedUpdate の動作の違いによる処理の仕様なのかな、一言で言うと
>最初のUpdateのあとにコルーチンが実行されないのは
最初のUpdateはスタート直後に動くんだけど、Updateの間隔は不定なので、最初のスタートのオーバーヘッドがUpdateを遅延させてしまい2回ログが出力されたのかと思う
これを修正するには
Update を FixedUpdate にし
yield return null を yield return new WaitForFixedUpdate() にする事で解決は出来る
UpdateとFixedUpdate の動作の違いによる処理の仕様なのかな、一言で言うと
991名前は開発中のものです。
2020/01/11(土) 12:19:43.31ID:eNMw2FnY992名前は開発中のものです。
2020/01/11(土) 12:28:16.42ID:SODcWRcR オーケー、乳首相撲で決めよう
二人とも乳首出して
二人とも乳首出して
993名前は開発中のものです。
2020/01/11(土) 12:34:46.58ID:1/8GPuaw >>991
最初はなんか最適化かなんか俺の知らないのあるの?って感じだったけど、今はなんか勘違いしてる人に諭してあげようかなと思ったけど無駄っぽいからもうどうでもいいかな
最後に言っとくけど、おまいのあげたイテレーターのソース、foreachが一つしか展開されないとか言ってるけど思いっっっっっきり勘違いしてると思うよ
Whereのイテレータ内で展開してるforeachはソースのイナミュレーターを回してるけどそれは前のWhereが返すイナミュラブルを回してて、それはまた別にforeach x展開してるイテレーターによるものだよ。
と言ってそれはシンタックスシュガーによるものだからforeachが何重になってると言うのともまた違う
最初はなんか最適化かなんか俺の知らないのあるの?って感じだったけど、今はなんか勘違いしてる人に諭してあげようかなと思ったけど無駄っぽいからもうどうでもいいかな
最後に言っとくけど、おまいのあげたイテレーターのソース、foreachが一つしか展開されないとか言ってるけど思いっっっっっきり勘違いしてると思うよ
Whereのイテレータ内で展開してるforeachはソースのイナミュレーターを回してるけどそれは前のWhereが返すイナミュラブルを回してて、それはまた別にforeach x展開してるイテレーターによるものだよ。
と言ってそれはシンタックスシュガーによるものだからforeachが何重になってると言うのともまた違う
994名前は開発中のものです。
2020/01/11(土) 12:40:12.52ID:Y9mLoGJE 初心者スレでイキんなやハゲ
995名前は開発中のものです。
2020/01/11(土) 12:46:12.11ID:wPvGtAaQ 敵に攻撃するとダメージが数字でポップアップされるという処理を
var pos = 対象の敵オブジェクト.GetComponent<Transform>()して、
ダメージのテキストをプレハブ化した物をInstantiate(プレハブ, pos)で生成したのですが
ダメージのプレハブが敵オブジェクトの子になっているので、敵オブジェクトのHPが0になってDestroyされた瞬間に一緒に消えてしまいます
生成するプレハブの位置を任意のゲームオブジェクトのtransformに重ねるが、子にはしないみたいな事はどうすれば出来るのでしょうか?
transformから位置(座標?)だけを取得する方法がわかれば応用が色々出来そうなのですが
var pos = 対象の敵オブジェクト.GetComponent<Transform>()して、
ダメージのテキストをプレハブ化した物をInstantiate(プレハブ, pos)で生成したのですが
ダメージのプレハブが敵オブジェクトの子になっているので、敵オブジェクトのHPが0になってDestroyされた瞬間に一緒に消えてしまいます
生成するプレハブの位置を任意のゲームオブジェクトのtransformに重ねるが、子にはしないみたいな事はどうすれば出来るのでしょうか?
transformから位置(座標?)だけを取得する方法がわかれば応用が色々出来そうなのですが
996名前は開発中のものです。
2020/01/11(土) 13:01:07.21ID:eNMw2FnY >>993
だろ、やっぱり入れ子になってると勘違いしてるよな?
サンプルソース書いてあげたから見てみな
IL_009aのループ一度しか無いし中身の取り出しも一回だけ
その後でLINQメソッドに渡されたデリゲートを適用してそのままループ内の処理に進んでる
https://imgur.com/a/E99qR2O
だろ、やっぱり入れ子になってると勘違いしてるよな?
サンプルソース書いてあげたから見てみな
IL_009aのループ一度しか無いし中身の取り出しも一回だけ
その後でLINQメソッドに渡されたデリゲートを適用してそのままループ内の処理に進んでる
https://imgur.com/a/E99qR2O
997名前は開発中のものです。
2020/01/11(土) 13:08:04.10ID:ftB0znZP998名前は開発中のものです。
2020/01/11(土) 13:13:14.92ID:GoAReVTm >>995
Instantiateする際に
GameObject obj =Instantiate(プレハブ, pos)
これでGameObject取得できるので、その後すぐに親を外す
obj.transform.paerent =null
これで敵の子として生成した後に独立する
Instantiateする際に
GameObject obj =Instantiate(プレハブ, pos)
これでGameObject取得できるので、その後すぐに親を外す
obj.transform.paerent =null
これで敵の子として生成した後に独立する
999名前は開発中のものです。
2020/01/11(土) 13:13:52.35ID:1/8GPuaw1000名前は開発中のものです。
2020/01/11(土) 13:17:05.48ID:eNMw2FnY 頭悪い子だな
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 247日 22時間 41分 28秒
新しいスレッドを立ててください。
life time: 247日 22時間 41分 28秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 「インバウンド政策上、中国は重要」、訪日自粛で金子国交相「早く通常の状況に戻っていただきたい」 [ぐれ★]
- 中国外相、台湾問題巡りフランスに支持要請−高市首相発言「挑発的」 [♪♪♪★]
- 今後50年間、毎年100万人ずつ人口が減る…「少子化対策」の失敗で日本が迎える「死ぬまで搾取」というヤバい未来 ★5 [ぐれ★]
- 橋下徹氏 高市首相“台湾有事”発言に「政治家の失言で一部の人でも仕事がキャンセルに…我々は認めていいのかな」疑問呈す [muffin★]
- 《「最近いつした?」が口癖》国分太一 女性への“わいせつ事案”報道…目撃されていた「下ネタ好き」と「悪辣なイジり癖」 [Ailuropoda melanoleuca★]
- スリランカ人男性の強制送還「中止を」 野党議員らが入管庁に要請 [♪♪♪★]
- 【悲報】高市早苗さん、就任たった1ヶ月で国が滅茶苦茶になる [115996789]
- 【動画】上海バンダイナムコフェス、ワンピース歌ってる途中に中国政府「日本人の公演全面禁止」発令された瞬間強制終了 怖すぎ★2 [579392623]
- 【速報】中国政府、ゲームを禁輸。原神やブルアカ、荒野行動が日本で影響 [347751896]
- 【んな🏡】金曜✨夜も~オールナイトんなっしょい❗🏰【姫森ルーナ】
- 現役JKのお茶会スレ( ¨̮ )︎︎𖠚ᐝ171
- 【動画】上海バンダイナムコフェス、ワンピース歌ってる途中に中国政府「日本人の公演全面禁止」発令された瞬間強制終了 怖すぎ★3 [579392623]
