[過去ログ] 【3Dゲームエンジン】Unity質問スレッド29 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
381: 2017/06/16(金)10:39 ID:E6JM4SWs(2/3) AAS
>>380
知らない単語をググって習得の機会とするのか
わからないままコードをコピペして満足するか
質問者がどっちを選ぶかはわりとどうでもいい
後者を選んでも問題解決するようにコードは書いてあるしな
382: 2017/06/16(金)10:48 ID:O6aBsQlK(1) AAS
ScriptReferenceだとStartCoroutineもStopCoroutineも
IEnumeratorインスタンス作って使えになってんのな
公式tutorialは相変わらず動的コード生成のまんまじゃの
これではなくならん
383(1): 2017/06/16(金)16:32 ID:puc0wwL/(1/2) AAS
find関数はupdate関数の中で使うなということですが、find関数使わずにどうやってオブジェクトの情報を取得するのでしょうか?
384(1): 2017/06/16(金)16:46 ID:E6JM4SWs(3/3) AAS
>>383
Awake内でFindしてプロパティに参照を保持
Awake後に動的に生成されるものに関しては、生成されたインスタンス側のAwake内で渡し先をFindして参照を渡すなど
Updateは毎フレーム呼ばれるので毎フレームオブジェクトを探すのは無駄
Find系に比べれば軽いがGetComponent系も同様
385: 2017/06/16(金)17:36 ID:puc0wwL/(2/2) AAS
>>384
わかりやすくありあり。
386(1): 名無し@キムチ 2017/06/16(金)20:18 ID:GcEw8KU8(1) AAS
>>363
デバッガというかデバッグ関数はいつも使っています。
ですが役に立った試しがありません。
というのは説明ではコンソールに表示されると書いてあるのですが、
コンソールはプロジェストの右にあるボタンを押すと出てくるウインドウのことですよね?
ですが、例えばDebug.Log("金玉");と書いてそこをいくら探しても何も表示されてないのですが…
当方の探し方が悪いのでしょうか?
387: 2017/06/16(金)20:43 ID:QsCI2dtA(1) AAS
スルー推奨
388: 2017/06/16(金)21:59 ID:hsu73I1c(1) AAS
>>386
そういうときは「unity Debug.Log 表示されない」ででも検索なさいな
初心者のうち、というか経験積んでも開発環境よりも先にまず自分を疑うのは基本だ
他の質問は割りと素直にアドバイス聞き入れて建設的な解決に向かうのに今回はやけに突っ掛かるね
389(3): 2017/06/16(金)22:00 ID:OyCZvXKK(1) AAS
あらかじめインスペクタでアタッチするのと、AwakeとかでFind&GetCommentのとではどっちが効率いいんだろう
390(1): 2017/06/16(金)22:51 ID:mGgG4nl1(3/3) AAS
ケース・バイ・ケース
391: 2017/06/16(金)23:03 ID:qF4UEGK8(1) AAS
パフォーマンス的には大して変わらん?
392: 2017/06/16(金)23:54 ID:VwSQ55H3(2/3) AAS
>>380
コルーチンは宣言時点で(List系みたいに?)自動でIEnumratorのインスタンス生成していたということですか
色々聞いて見るとやっぱり()最高ですね。ありがとうございました。
393: 2017/06/16(金)23:57 ID:VwSQ55H3(3/3) AAS
>>379さん貼り忘れてましたありがとうございました。
394(1): 2017/06/17(土)02:51 ID:ZFFYbfbw(1/5) AAS
Findはオーバーヘッドばかにならないはずだが
なぜケースバイケースなんだ?
395(1): 2017/06/17(土)02:58 ID:4N3eKWxH(1) AAS
そりゃケースバイケースの時があるからですよ
解らない人は知らなくていいと思う
396: 2017/06/17(土)03:09 ID:RWFiqgwy(1) AAS
人外のコントって面白えな
397: 2017/06/17(土)03:14 ID:ZFFYbfbw(2/5) AAS
答えられません、とw
ほんとテケトーだな
398(1): 2017/06/17(土)03:33 ID:tORkmJ/o(1) AAS
外部リンク:gist.github.com
ベンチマークある
100オブジェクトで3.6msのようだが、1/4近くそれだけに取られるのはちょっと
399: 2017/06/17(土)03:57 ID:ZFFYbfbw(3/5) AAS
1000回まわしてそんなもんならって思っちゃう罠
tagだと圧倒的に早いって参考になるね
typeはあかんやつや
400(2): 390 2017/06/17(土)07:24 ID:89HwilAC(1/3) AAS
>>394
俺の言ってるのは>>389についてケースバイケースって事な
Update()内でのFindの話はしてない
401(1): 2017/06/17(土)10:18 ID:uOCjaS/6(1) AAS
>>400
アセットおじさんっぽいな
402(2): 2017/06/17(土)10:36 ID:pfeoMtxp(1/2) AAS
>>400
横からですまんけど、どうケースバイケース?
単にD&Dが好きかコード書くのが好きかみたいな手段の話?
それとも負荷の話ではある?>>389は負荷のつもりだと思うけど(知らんけど)
403: 2017/06/17(土)10:41 ID:UGLU7o9s(1) AAS
同種のアタッチ先が違うオブジェクトを複数用意する必要があるならインスペクタで柔軟に変えられるようにしておく
複数のシーンで同じオブジェクトを使用したり、途中で生成したりするならFind
実装方法による
404: 2017/06/17(土)11:14 ID:KBN1S3O5(1) AAS
ガイジかな? アスペかな?
405: 2017/06/17(土)11:47 ID:PcOOd2P9(1) AAS
>>398
サンクス、参考になった
oftypeがここまでとはw
406: 2017/06/17(土)17:44 ID:/Jex4D7T(1) AAS
初めて作ったのはどんな作品ですか?
Unityユーザーはコレの前にも色々経験あるのかな
407: 2017/06/17(土)18:20 ID:mnU4IsFY(1) AAS
Unity軽く触ってみたけど簡単に作れます!みたいな触れ込みだけど
結構ガッツリプログラム書かないと駄目じゃない?これ
チュートリアルの玉ころがしは簡単だけど
ローグライク2Dのチュートリアルとかは結構難しいよね
408: 2017/06/17(土)18:33 ID:YFMwAjJR(1) AAS
相対的な簡単さを絶対的な簡単さと偽ってるだけだからまだ良心的
409: 2017/06/17(土)18:58 ID:nFYpcEEx(1) AAS
ある程度以上の規模のゲーム作るのがそもそも難しい作業だから
410: 2017/06/17(土)20:07 ID:ZFFYbfbw(4/5) AAS
実際自分で作り始めると毎日やることなすことつまづくと思う
411: 2017/06/17(土)20:45 ID:pRk3a5a+(1) AAS
作るの好きだけどストアに掲載するのが面倒
かといって外注する程気合い入れてないし
412: 2017/06/17(土)22:47 ID:ILKQLYKC(1) AAS
アセットをかえば簡単だと思います
413: 2017/06/17(土)23:09 ID:89HwilAC(2/3) AAS
>>401
アセット使わない派
>>402
・ご指摘の通り実装の手軽さの問題もある
・最適化を犠牲にし視認性を重視することもある(メンテナンスの利便性)
・スマホ向けにメモリー節約重視で選択を変える時もある
(変数に格納しっぱなしの方が嫌な場面もある)
省1
414: 2017/06/17(土)23:27 ID:ZFFYbfbw(5/5) AAS
聞くだけむだだったなw
415(1): 2017/06/17(土)23:35 ID:89HwilAC(3/3) AAS
そうかい?
・Awakeになんでもかんでもぶち込むとアプリ起動しなくケースがある
・根本的にアプリの起動が重くなる
・スマホのライフサイクルを知っているならば都度確保の方が安全な事が多い
・GCとの兼ね合い
他、きりがないほどある
作る物にもよるし何を重視するかにもよる
省2
416: 2017/06/17(土)23:48 ID:8FuMlYpm(1) AAS
きりがないほど何にも対応出来ない素人は書き込まないで下さい
417: 402 2017/06/17(土)23:53 ID:pfeoMtxp(2/2) AAS
俺はわかりやすかったですthx
418(1): 2017/06/18(日)00:00 ID:q1X0lAjX(1/5) AAS
ケースバイケースは地雷ワードだな
100%適用できるルールではなくても"基本的に"と譲歩つけた上で何か解を与えたほうがいいんだろね
みんな問いよりも解法ばかりを求める時代だから
419: 2017/06/18(日)02:10 ID:sTZlcSJA(1) AAS
実行効率、つまりパフォーマンスはどのくらい低下するのかの話じゃなくて?
420: 2017/06/18(日)07:56 ID:X5Sl8Nuy(1/5) AAS
>>415
答えになって無くて笑ってしまったw
421: 2017/06/18(日)08:45 ID:WNEWBLm8(1/4) AAS
>>395の時点でお察し
422: 2017/06/18(日)08:51 ID:3wXsUBad(1/4) AAS
バーカ
423: 2017/06/18(日)09:43 ID:5tDWnbC/(1) AAS
持ち上げてから梯子外されるガイジ
424(3): 2017/06/18(日)10:23 ID:XAVbtWpl(1/3) AAS
>>418
ケースバイケース君と俺は別人だが俺が書いた>>379から派生してグダッてるみたいなので基本方針を示しておく
1. Findは基本的に使用禁止
文字列引数による検索は実行時エラーの温床となるので避けるべき、インスペクタ上でオブジェクトの名前を変えられただけでコケるとか怖すぎる
またヒエラルキーツリーを全部舐める様な処理を多用するのはパフォーマンス的にも好ましくない
2.インスペクタ上で参照がセットされていることを前提にした構造は可能な限り避ける
シーンファイルを誤って変更された時に、インスペクタ上で探して修正するのは面倒。特にシーン内のオブジェクトが複雑に絡み合った参照関係を持つなどは論外
省5
425: 2017/06/18(日)10:39 ID:3wXsUBad(2/4) AAS
じゃあゲーム上のオブジェクト参照どうすんのよ
426(3): 2017/06/18(日)11:22 ID:YW1VLQdX(1/2) AAS
これ間違ってるね
>1. Findは基本的に使用禁止
名前で判断するのが一番メンテナンスしやすいので普通によく使われる
バグってもそれを上回る使い安さ。だから使用禁止にしてる企業なんかない
むしろ命名規則の徹底の方が大切。名前書き間違えるとか池沼に弄らせない限り起きません。
池沼はゲーム作っちゃダメ。以上、終わり
427: 2017/06/18(日)11:24 ID:/3Y06ViO(1) AAS
>>424
低能自慢して何が楽しいの?
アセットおじさんとは違う嫌がらせかね
428: 2017/06/18(日)11:51 ID:XAVbtWpl(2/3) AAS
>>426
たとえば…
GameObject.Find("MainCamera");
Camera.main
他所から変更されるリスクはどちらも大差ないが、優先されるべきは圧倒的に後者だ
コード補完が効くのはどっちだ?
コンパイル時点で間違いが検出出来るのは?
省4
429: 2017/06/18(日)12:19 ID:YW1VLQdX(2/2) AAS
さぁ?w
現実は君の考えてる妄想とは違うってこったろうね
430: 2017/06/18(日)12:23 ID:3wXsUBad(3/4) AAS
得意げに長文書いててワロタ
ゲーム会社で働いてから書き込もうな知ったかエンジニア君
431: 2017/06/18(日)12:57 ID:d8uwf8Mk(1/2) AAS
運用カバー無しとかキリがないと思うんだけど
432(1): 2017/06/18(日)13:09 ID:q1X0lAjX(2/5) AAS
>>424
おお、何となく書いたレスに真面目な長文回答つけてくれてわざわざスマンね
俺は内容に関してはほぼ同意
Findに限らず、SendMessageやStopCoroutineみたいな文字列指定はクソだからね
ただ正し過ぎるというか、1,2を両方課すのは求道的すぎて利便性が損なわれてる気もする
1に比べたら、インスペクタ参照についてはもっと緩くてもいいんじゃね
433: 2017/06/18(日)13:10 ID:X5Sl8Nuy(2/5) AAS
ケース・バイ・ケースでアセットをかうのが一番最適だと思います
434: 2017/06/18(日)13:45 ID:DLtXAMjk(1) AAS
Findは使わないけど、正規表現検索と置換使ってないのかな?
435: 2017/06/18(日)13:55 ID:q1X0lAjX(3/5) AAS
そりゃ文字列処理は文字列引数でいいっすよ
参照や呼出しを実行時に文字列比較で解決するのはパフォーマンスも悪いしメンテナンス性も落ちるしデメリットしかないよねってお話
436: 2017/06/18(日)13:56 ID:+mnWtDzw(1/3) AAS
そうだ、俺もアセットを買おう
細かい部分大変だ
アセットを買おう
437: 2017/06/18(日)14:00 ID:Fr4XIrmP(1/2) AAS
>>426
js好きがコンパイルとかたるいっすわw
とか抜かしててライブラリ使う時に違う型渡しててデバッグに手間取って死んでたの思い出した。
438: 2017/06/18(日)14:03 ID:B/qMU4Iu(1) AAS
もうすべての質問に
ケースバイケースて返しとけよw
439(4): 2017/06/18(日)14:08 ID:M/2QAqjI(1/5) AAS
スクリプトアタッチやインスペクタの設定をエディタ拡張で
自動化してる俺には関係が無かった
440: 2017/06/18(日)14:29 ID:q1X0lAjX(4/5) AAS
それな
441(4): 2017/06/18(日)14:46 ID:XAVbtWpl(3/3) AAS
>>432
全面的に同意、求道的すぎるのは認める
ここ初心者多いから>>426みたいなクソ開発者になるなという意味を込めて厳しめに書いた
リスクを理解した上で使うならともかく、安易に便利だからで多用すると一気にコードが糞になるからなぁ
>>439
あるある、ついでにエディタ上で触らせる必要がなく親子関係が確定してるオブジェクトなんかはhideFlagsも立てたりする
442: 2017/06/18(日)15:19 ID:nmnJlvzm(1/9) AAS
コルーチンを使えば大抵は解決する
443: 2017/06/18(日)15:39 ID:X5Sl8Nuy(3/5) AAS
アセットを買えば大抵は解決しますよ
444: 2017/06/18(日)15:47 ID:nmnJlvzm(2/9) AAS
コルーチンとラムダ式でUnityの制御は全て網羅できる
λを崇めよ
445(1): 2017/06/18(日)17:08 ID:hyK8VDmp(1) AAS
アセットストアで売っているアセットについて質問しても宜しいでしょうか?
アセットのスレらしきものがなくて。
terraincomposer2というアセットを買ったのですが、公式を見ながら使ってるのに躓いてしまって…
外部リンク:www.terraincomposer.com
このアセット購入した方いらっしゃいますでしょうか?
お伺いしたいです。
446: 2017/06/18(日)17:17 ID:X5Sl8Nuy(4/5) AAS
>>445
ケースバイケースで別のアセットを買うのが良いでしょう
447: 2017/06/18(日)17:30 ID:Ga9T3hxB(1/9) AAS
>>439
なにそれ欲しい
GitHubで公開おなしゃす
448(1): 2017/06/18(日)18:20 ID:M/2QAqjI(2/5) AAS
やってる事はOneStepEffectsと大して変わらないから参考にしたらいんでね?
外部リンク:github.com
全部既出の情報だから大して難しくないし、最初にインスペクタにボタン付けて
それをカスタムするだけだよ
449(1): 2017/06/18(日)18:30 ID:Ga9T3hxB(2/9) AAS
>>448
いや難しくないならなおさら該当機能のみを切り出したシンプルなコード提供おなしゃす
URLは主とする目的以外のスクリプトが多すぎて初心者にはどこ切り出したらいいのかわかりません
>>441の方でもいいですよ
Find使うのは良くないってわかってるけど
インスペクタでポチポチ設定するのもな…ってのを解決できるんでしょ?
ウンチクをダラダラ書くよりもコードと行動で示すのが他の開発者にとっても有益では
省1
450: 2017/06/18(日)18:41 ID:9R6VPmIg(1) AAS
スゲー他力本願w
451: 2017/06/18(日)18:47 ID:d8uwf8Mk(2/2) AAS
エディタ用のスクリプトを実際に使うとなると、自分で読み書き出来ないと実用性ないのでは
452(1): 2017/06/18(日)18:48 ID:M/2QAqjI(3/5) AAS
OneStepEffectsってcsが1つ入ってるだけなんだが?
255行目のApplySSAO()とか見ればいいじゃん
幾らなんでも酷いんじゃねーの?
453: 2017/06/18(日)19:08 ID:X5Sl8Nuy(5/5) AAS
>>449
アセットを買ってもダメみたいですね
454: 2017/06/18(日)19:25 ID:Ga9T3hxB(3/9) AAS
>>452
確かに丸投げはいかんなと思い直して読んだけど、このコード提示するのは見当違いじゃね
ここまでさんざん議論されてきたのって
Unityエディタ上でインスペクタで参照設定するのと
AwakeでFind&GetComponentするのとではランタイム時にどっちが効率いいかだよね
URL先のコードはUnityエディタ上のボタン一つでカメラやライトを
FindObjectOfTypeで全走査してAddComponentやプロパティの設定してるだけ
省4
455: 2017/06/18(日)19:28 ID:Ga9T3hxB(4/9) AAS
ちなみにFind系は基本的にエディタ拡張でヒエラルキー走査して
ごにょごにょやるためにあるようなものだと思ってる
Unityエディタ上ではパフォーマンスは多少犠牲になっても問題ないし
こうなると>>441の”あるある”に期待やなぁ
456(1): 2017/06/18(日)19:39 ID:M/2QAqjI(4/5) AAS
エディタでメソッド実行すると変数はインスペクタに記録されるから
手動で設定したのと同じなんだけどな
457(1): 2017/06/18(日)19:49 ID:nmnJlvzm(3/9) AAS
すまん、お前らまだUnityでコーディングしてるね
画像リンク[png]:teamcherry.com.au
今はビジュアルスクリプディングの時代ですよ
458(1): 2017/06/18(日)19:50 ID:nmnJlvzm(4/9) AAS
お前らまだUnityでコーディングしてるの?
459(2): 2017/06/18(日)19:51 ID:Ga9T3hxB(5/9) AAS
>>456
いやランタイム時の参照をどう持つかのお話なので
Unityエディタ上でコンポーネントのプロパティの設定(と無い場合はAddComponent)を
自動化してるか手動でやるかのあなた話は、議論している箇所が違うんですよね…
煽ってるわけではないので気を悪くしないでね
460(1): 2017/06/18(日)20:01 ID:M/2QAqjI(5/5) AAS
>>459
話もブレてるし何を理想として思い描いたのかよく分からないな
461: 2017/06/18(日)20:03 ID:0/Ag2Y7d(1) AAS
>>458
コルーチンをビジュアルに書いたの見せてくれ
上下前次1-新書関写板覧索設栞歴
あと 541 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.021s