[過去ログ] 【3Dゲームエンジン】Unity質問スレッド29 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
441(4): 名前は開発中のものです。 [sage] 2017/06/18(日) 14:46:23.45 ID:XAVbtWpl(3/3) AAS
 >>432432(1): 名前は開発中のものです。 [sage] 2017/06/18(日) 13:09:59.77 ID:q1X0lAjX(2/5) AAS
 >>424 
 おお、何となく書いたレスに真面目な長文回答つけてくれてわざわざスマンね 
  
 俺は内容に関してはほぼ同意 
 Findに限らず、SendMessageやStopCoroutineみたいな文字列指定はクソだからね 
 ただ正し過ぎるというか、1,2を両方課すのは求道的すぎて利便性が損なわれてる気もする 
  
 1に比べたら、インスペクタ参照についてはもっと緩くてもいいんじゃね  
全面的に同意、求道的すぎるのは認める 
 ここ初心者多いから>>426426(3): 名前は開発中のものです。 [sage] 2017/06/18(日) 11:22:37.04 ID:YW1VLQdX(1/2) AAS
 これ間違ってるね 
  
 >1. Findは基本的に使用禁止 
  
 名前で判断するのが一番メンテナンスしやすいので普通によく使われる 
 バグってもそれを上回る使い安さ。だから使用禁止にしてる企業なんかない 
 むしろ命名規則の徹底の方が大切。名前書き間違えるとか池沼に弄らせない限り起きません。 
 池沼はゲーム作っちゃダメ。以上、終わり  
みたいなクソ開発者になるなという意味を込めて厳しめに書いた 
 リスクを理解した上で使うならともかく、安易に便利だからで多用すると一気にコードが糞になるからなぁ 
 >>439あるある、ついでにエディタ上で触らせる必要がなく親子関係が確定してるオブジェクトなんかはhideFlagsも立てたりする 
442: 名前は開発中のものです。 [sage] 2017/06/18(日) 15:19:36.48 ID:nmnJlvzm(1/9) AAS
 コルーチンを使えば大抵は解決する 
443: 名前は開発中のものです。 [sage] 2017/06/18(日) 15:39:48.82 ID:X5Sl8Nuy(3/5) AAS
 アセットを買えば大抵は解決しますよ 
444: 名前は開発中のものです。 [sage] 2017/06/18(日) 15:47:07.09 ID:nmnJlvzm(2/9) AAS
 コルーチンとラムダ式でUnityの制御は全て網羅できる 
 λを崇めよ 
445(1): 名前は開発中のものです。 [sage] 2017/06/18(日) 17:08:30.89 ID:hyK8VDmp(1) AAS
 アセットストアで売っているアセットについて質問しても宜しいでしょうか? 
 アセットのスレらしきものがなくて。 
  
 terraincomposer2というアセットを買ったのですが、公式を見ながら使ってるのに躓いてしまって… 
  
 外部リンク:www.terraincomposer.com
  
 このアセット購入した方いらっしゃいますでしょうか? 
 お伺いしたいです。 
446: 名前は開発中のものです。 [sage] 2017/06/18(日) 17:17:36.89 ID:X5Sl8Nuy(4/5) AAS
 >>445 
 ケースバイケースで別のアセットを買うのが良いでしょう 
447: 名前は開発中のものです。 [sage] 2017/06/18(日) 17:30:36.61 ID:Ga9T3hxB(1/9) AAS
 >>439 
 なにそれ欲しい 
 GitHubで公開おなしゃす 
448(1): 名前は開発中のものです。 [sage] 2017/06/18(日) 18:20:48.74 ID:M/2QAqjI(2/5) AAS
 やってる事はOneStepEffectsと大して変わらないから参考にしたらいんでね? 
 外部リンク:github.com 
 全部既出の情報だから大して難しくないし、最初にインスペクタにボタン付けて 
 それをカスタムするだけだよ 
449(1): 名前は開発中のものです。 [sage] 2017/06/18(日) 18:30:17.24 ID:Ga9T3hxB(2/9) AAS
 >>448 
 いや難しくないならなおさら該当機能のみを切り出したシンプルなコード提供おなしゃす 
 URLは主とする目的以外のスクリプトが多すぎて初心者にはどこ切り出したらいいのかわかりません 
  
 >>441の方でもいいですよ 
 Find使うのは良くないってわかってるけど 
 インスペクタでポチポチ設定するのもな…ってのを解決できるんでしょ? 
 ウンチクをダラダラ書くよりもコードと行動で示すのが他の開発者にとっても有益では 
 何も本垢でとは言わないから捨て垢ででも公開おなしゃす 
450: 名前は開発中のものです。 [sage] 2017/06/18(日) 18:41:27.00 ID:9R6VPmIg(1) AAS
 スゲー他力本願w 
451: 名前は開発中のものです。 [sage] 2017/06/18(日) 18:47:53.80 ID:d8uwf8Mk(2/2) AAS
 エディタ用のスクリプトを実際に使うとなると、自分で読み書き出来ないと実用性ないのでは 
452(1): 名前は開発中のものです。 [sage] 2017/06/18(日) 18:48:21.19 ID:M/2QAqjI(3/5) AAS
 OneStepEffectsってcsが1つ入ってるだけなんだが? 
 255行目のApplySSAO()とか見ればいいじゃん 
 幾らなんでも酷いんじゃねーの? 
453: 名前は開発中のものです。 [sage] 2017/06/18(日) 19:08:48.38 ID:X5Sl8Nuy(5/5) AAS
 >>449 
 アセットを買ってもダメみたいですね 
454: 名前は開発中のものです。 [sage] 2017/06/18(日) 19:25:19.93 ID:Ga9T3hxB(3/9) AAS
 >>452 
 確かに丸投げはいかんなと思い直して読んだけど、このコード提示するのは見当違いじゃね 
 ここまでさんざん議論されてきたのって 
 Unityエディタ上でインスペクタで参照設定するのと 
 AwakeでFind&GetComponentするのとではランタイム時にどっちが効率いいかだよね 
  
 URL先のコードはUnityエディタ上のボタン一つでカメラやライトを 
 FindObjectOfTypeで全走査してAddComponentやプロパティの設定してるだけ 
  
 つまりAwakeでFindせずかつインスペクタでポチポチしなくてもいいことへの 
 解決法でもなんでもないものっていう 
  
 >>439で自動化してる俺には関係無いって言ってるけどそもそも求めている結果が違うから 
 そりゃ関係無いという 
455: 名前は開発中のものです。 [sage] 2017/06/18(日) 19:28:49.12 ID:Ga9T3hxB(4/9) AAS
 ちなみにFind系は基本的にエディタ拡張でヒエラルキー走査して 
 ごにょごにょやるためにあるようなものだと思ってる 
 Unityエディタ上ではパフォーマンスは多少犠牲になっても問題ないし 
  
 こうなると>>441の”あるある”に期待やなぁ 
456(1): 名前は開発中のものです。 [sage] 2017/06/18(日) 19:39:14.41 ID:M/2QAqjI(4/5) AAS
 エディタでメソッド実行すると変数はインスペクタに記録されるから 
 手動で設定したのと同じなんだけどな 
457(1): 名前は開発中のものです。 [sage] 2017/06/18(日) 19:49:51.66 ID:nmnJlvzm(3/9) AAS
 すまん、お前らまだUnityでコーディングしてるね 
  
 画像リンク
 
 
  
 今はビジュアルスクリプディングの時代ですよ 
458(1): 名前は開発中のものです。 [sage] 2017/06/18(日) 19:50:35.61 ID:nmnJlvzm(4/9) AAS
 お前らまだUnityでコーディングしてるの? 
459(2): 名前は開発中のものです。 [sage] 2017/06/18(日) 19:51:28.51 ID:Ga9T3hxB(5/9) AAS
 >>456 
 いやランタイム時の参照をどう持つかのお話なので 
 Unityエディタ上でコンポーネントのプロパティの設定(と無い場合はAddComponent)を 
 自動化してるか手動でやるかのあなた話は、議論している箇所が違うんですよね… 
 煽ってるわけではないので気を悪くしないでね 
460(1): 名前は開発中のものです。 [sage] 2017/06/18(日) 20:01:31.70 ID:M/2QAqjI(5/5) AAS
 >>459 
 話もブレてるし何を理想として思い描いたのかよく分からないな 
461: 名前は開発中のものです。 [sage] 2017/06/18(日) 20:03:54.39 ID:0/Ag2Y7d(1) AAS
 >>458 
 コルーチンをビジュアルに書いたの見せてくれ 
462(1): 名前は開発中のものです。 [sage] 2017/06/18(日) 20:13:48.96 ID:q1X0lAjX(5/5) AAS
 >>459 
 最初の問い(>>389389(3): 名前は開発中のものです。 [sage] 2017/06/16(金) 22:00:19.70 ID:OyCZvXKK(1) AAS
 あらかじめインスペクタでアタッチするのと、AwakeとかでFind&GetCommentのとではどっちが効率いいんだろう  
)はランタイム時の効率についての話しだが、それについてはFindのほうがオーバーヘッドが大きいよねと概ねコンセンサスは出来てるだろう 
 (直接、Find系とインスペクタ参照で速度比較したデータが示されていないけど) 
  
 で、>>424424(3): 名前は開発中のものです。 [sage] 2017/06/18(日) 10:23:18.25 ID:XAVbtWpl(1/3) AAS
 >>418 
 ケースバイケース君と俺は別人だが俺が書いた>>379から派生してグダッてるみたいなので基本方針を示しておく 
  
 1. Findは基本的に使用禁止 
 文字列引数による検索は実行時エラーの温床となるので避けるべき、インスペクタ上でオブジェクトの名前を変えられただけでコケるとか怖すぎる 
 またヒエラルキーツリーを全部舐める様な処理を多用するのはパフォーマンス的にも好ましくない 
  
 2.インスペクタ上で参照がセットされていることを前提にした構造は可能な限り避ける 
 シーンファイルを誤って変更された時に、インスペクタ上で探して修正するのは面倒。特にシーン内のオブジェクトが複雑に絡み合った参照関係を持つなどは論外 
 もしどうしてもこれが避けられない場合はオブジェクトをプレハブ化してプレハブ内での参照に限定することで問題のスコープを小さく保つ 
  
 上記ルールに沿って作れないならそれは設計が悪いので設計を見直す、疎結合を徹底するべし 
 必要ならCamera.mainなどの様なstatic経由での参照の受け渡しや、シングルトンなマネージャークラスの導入を検討する 
 ※多用は厳禁、後者はScript Execution Orderを正しく設定すること 
  
 ヒエラルキーツリーやインスペクタでの変更に弱いコードはメンテナンス性が低く、こうした変更による問題が発生した場合の問題箇所の検出が非常に困難になるので避ける様にするといい  
でランタイム時の効率だけでなくメンテナンス性にも話題が広がったので、複雑な参照関係はエディタ拡張スクリプトで自動化しておくと効率面でもメンテナンス面でも有益なことが多いよね、となった 
  
 なんかおかしいかな? 
463: 名前は開発中のものです。 [sage] 2017/06/18(日) 20:19:07.23 ID:Ga9T3hxB(6/9) AAS
 >>460 
 俺の話は徹頭徹尾、ランタイム時の参照をAwakeでFindしないかつインスペクタでポチポチしない方法です 
 >>439の書き込みにこの話の求道者である>>441が賛同してたので勝手に期待しちゃっただけです 
 あなたのやっている自動化は私の求めるものとは違っていただけなのでどうぞ気になさらずに 
464(2): 名前は開発中のものです。 [] 2017/06/18(日) 20:19:26.05 ID:+mnWtDzw(2/3) AAS
 >>457 
 これなんてやつ? 
465: 名前は開発中のものです。 [sage] 2017/06/18(日) 20:28:32.00 ID:3wXsUBad(4/4) AAS
 >>464 
 モグリかよ 
上下前次1-新書関写板覧索設栞歴
あと 537 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.023s