[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 10/09 16:13 / Filesize : 271 KB / Number-of Response : 1022
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【3Dゲームエンジン】Unity質問スレッド29



1 名前:名前は開発中のものです。 [2017/05/20(土) 22:21:02.39 ID:aiIGxq6k.net]
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他

次スレは>>970を踏んだ方が建てること。ダメなら>>980>>990が建てて下さい。

■本スレ
【3Dゲームエンジン】Unity総合スレッド30
echo.2ch.net/test/read.cgi/gamedev/1492037553/

■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
www24.atwiki.jp/unity2ch/

●リンク
・Unity(日本公式サイト)
unity3d.com/jp
・マニュアル
 docs.unity3d.com/ja/current/Manual/index.html
・チュートリアル
 unity3d.com/jp/learn/tutorials
・スクリプトリファレンス
 docs.unity3d.com/ja/current/ScriptReference/index.html
・FAQ
 unity3d.com/jp/unity/faq
・MSDN
 msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。

前スレ
【3Dゲームエンジン】Unity質問スレッド28
echo.2ch.net/test/read.cgi/gamedev/1481636092/

356 名前:名前は開発中のものです。 [2017/06/15(木) 02:18:11.24 ID:ev6fHGrU.net]
嫌です

357 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 02:24:24.64 ID:ubmL8zA0.net]
ほかの方が言ってる通り、コンパイルエラーが出てない限りそこの部分に
関しては正常だと思われます。

競合する処理などが別にある可能性があるので、いったん新規のプロジェクトなり、
シーンをつくり、該当の処理と必要なものだけ並べた状態で実行してみるといいかと

358 名前:名前は開発中のものです。 [2017/06/15(木) 02:31:22.85 ID:ev6fHGrU.net]
嫌ですって

359 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 02:38:29.49 ID:OJpX7+2n.net]
Assetsフォルダごと消せば足りないオツムで悩まなくて済む
どうせ出来ないんだから大して変わらないよ

360 名前:名前は開発中のものです。 [2017/06/15(木) 02:46:34.34 ID:ev6fHGrU.net]
いやって

361 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 07:55:14.51 ID:giY9RcgE.net]
>>351
ああ、そうだな。
そもそもの質問への回答でよかったんだよ。
行数制限はない。以上。

362 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 10:36:16.43 ID:5kTAyMiT.net]
アセット買えば?

363 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 12:15:04.10 ID:KqkrJRcr.net]
>>325
infoboxがもとから非アクティブ状態になってて
Findメソッドでサーチ出来ず実行時エラーでも起きてんじゃね

364 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 19:23:10.48 ID:+5V2K+/A.net]
初心者用の質問スレが見当たりませんでしたのでこちらでお聞きします。
簡単な通路(背景)とキャラを作成しておりまして、背景のライトマップの為に用意した
ライトをそのままキャラを照らすのにも流用できたらと思い、ライトのモードを
「Baked」から「Realtime」に変更したんですが、キャラを照らすことができなくて
困っておりまして・・・。
これってやっぱキャラ用に別途ライトを作成する必要があるってことなんでしょうか?



365 名前:名無し@キムチ [2017/06/15(木) 19:31:09.30 ID:HLTN1pmO.net]
あ、それでしたら開発はVisualStudioです。
えーと、みなさま、いろいろと回答ありがとうございます。
ですが、みなさまの回答ではどうも解決できないようです。
えーと、考えてみますに、やはりスタート関数の下のほうに書くとまずいのではないか?と思い直しました。
というのはスタートの下のほうに処理が写る前にシーンが起動してしまうと、以下の処理には実行が移らないはずで、起動してしまったらアップデート関数に処理が写ってしまうのではないか?と思った次第です。
それで処理されないスタート関数の下のほうのコードをコピペで、アップデート関数のほうに移したら大丈夫なのではないか?と思ったので、試してみます。

366 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 19:36:01.15 ID:WMhBIdhV.net]
お前の質問じゃ誰も解決できねーよ
エンジニアやめろ

367 名前:名無し@キムチ [2017/06/15(木) 19:39:46.42 ID:HLTN1pmO.net]
>>357
いいえ、それは違います。
infoboxをコピペで上のほうの行に移すとちゃんとfalseが有効になっていてキーを押した時にしか出ないんです。
ですが下のほうに書くと何故かfalseが無効になって、初めから出てしまうんです。
これは音声についても同じで上に書くとすとちゃんとfalseが有効になって音を出したい時にだけ出るんです。
でも下に書くと初めからBGMが出てしまうんです。

368 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 20:06:25.57 ID:MqJWwv/e.net]
検討違いも甚だしいけどヤル気はあるようだからトライ&エラーを繰り返すがいいよ

369 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 20:07:03.87 ID:ev6fHGrU.net]
>>359
とりあえず、アセット買えばいいんじゃない?

370 名前:名無し@キムチ [2017/06/15(木) 20:21:57.53 ID:HLTN1pmO.net]
とりあえずアセットに付属しているスクリプトが邪魔をしているのでは?と予測して全部削除しましたが、それでは直りませんでしたw

371 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 21:32:36.51 ID:ev6fHGrU.net]
>>364
じゃあ、アセット買えばいいと思いますよ

372 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 21:42:08.02 ID:MqJWwv/e.net]
デバッガの使い方を覚えようね
まずはステップ実行してみなさい

halcyonsystemblog.blog.fc2.com/blog-entry-351.html

373 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 21:47:40.04 ID:u6BBn+XE.net]
24行縛りなんか聞いた事ないし、だとしたら他のスクリプトがそのスクリプトかオブジェクトを消去してるかだ。
とにかく、そのソースだけじゃアドバイスはエスパでない限りほぼ無理っぽいので、ステップ実行で見てくださいな。

374 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 21:48:02.81 ID:WMhBIdhV.net]
キムチはスルーでいいよ



375 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 21:49:43.66 ID:MqJWwv/e.net]
中韓差別なんていつまで中世なんだよ頭ん中まだ江戸&明治か

376 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 21:52:44.86 ID:WMhBIdhV.net]
あ?
その半コテいっつも人の話聞かねーしトンチンカンなことばっかやってんだろ
人種じゃなくて

377 名前:っここに居着いてるクソコテに対して言ってんだよ []
[ここ壊れてます]

378 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 21:57:55.58 ID:MqJWwv/e.net]
>>370
あぁ名前欄気づいてなかったスマンな
何にしろ賑わいやから無視なんて哀しいこと言うなよ
煽って楽しみなw

379 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 23:08:28.32 ID:tbjN2528.net]
キムチが孔明の罠に引っ掛かり過ぎてどうしたらいいのか分からないw

380 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 23:14:40.89 ID:GyFtPUJw.net]
実はコルーチンで動かしてて、他のスレッドでオールストップしてるとか言うオチだったりね

381 名前:名前は開発中のものです。 mailto:sage [2017/06/15(木) 23:32:05.77 ID:wF9Ns+99.net]
「俺は間違っていない!プログラムか仕様がおかしいんだ!」と思い込むのは初心者の時だれもが通る道だな
昔は誰にも聞けず自力で何とかするしかなかったんだし
分かりやすく質問できないのなら、あとは本人が頑張るしかないだろうね

382 名前:名前は開発中のものです。 [2017/06/15(木) 23:48:11.83 ID:vA8D14AN.net]
IEnumerator coroutine;
void Start ()
{
coroutine = Sample2 (10, 0.5f);
StartCoroutine (Sample1 ());
StartCoroutine (coroutine);
}
void Update ()
{
if (Input.GetKeyDown (KeyCode.Space)) {
StopCoroutine (Sample1 ());
}
if (Input.GetKey (KeyCode.Alpha1)) {
StopCoroutine (coroutine);
}
}
IEnumerator Sample1 ()
{
for (int i = 0; i < 100; i++) {
Debug.Log ("Sample1:" + i);
yield return new WaitForSeconds (0.5f);
}
}
IEnumerator Sample2 (int num, float interval)
{
for (int i = 0; i < num; i++) {
Debug.Log ("Sample2:" + i);
yield return new WaitForSeconds (interval);
}
}
サイトに載ってあったのをちょっといじったんですが、Sample1()がスペースを押しても止まりません。
どなたか回答宜しくお願いいたします。

383 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 00:58:31.25 ID:NRISneYy.net]
StopCoroutine("Sample1"); //止まる
StopCoroutine(Sample1()); //止まらない

理由は知らない

384 名前:名前は開発中のものです。 [2017/06/16(金) 01:16:37.99 ID:VwSQ55H3.net]
>>376
""派に改宗します。ありがとうございました。



385 名前:名前は開発中のものです。 [2017/06/16(金) 03:50:00.92 ID:BRMMaX+I.net]
素材が少なくて困ってるんですけどどうすればいいですか?

386 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 04:41:11.65 ID:mGgG4nl1.net]
自分で作れ

387 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 05:12:23.54 ID:0lsJXiZf.net]
素材の作成を依頼すればいいと思いますよ

388 名前:名前は開発中のものです。 [2017/06/16(金) 06:33:25.02 ID:Gpp7Q59K.net]
>>378
アセッてはいけません

389 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 08:17:36.16 ID:E6JM4SWs.net]
>>375-376
インスタンスを意識してない初心者にありがちなミスだが、
StartCoroutine (Sample1 ());
StopCoroutine (Sample1 ());
止まらないのはこの2つの引数に渡されてるIEnumeratorインスタンスが別物だからだな。

文字列引数はコルーチンに引数がひとつしか渡せない、リフレクションしてるのでオーバーヘッドが大きいなどの点でインスタンスを渡すより劣る。
また他の問題として文字列引数はタイプミスしてても実行時エラーになるまでミスが検出出来ない、リファクタリングでメソッド名変えたら引数を書き換えなきゃならないなどメンテナンス性が悪い。

Coroutine coroutine1 = StartCoroutine (Sample1());
StopCoroutine (coroutine1);

または

IEnumerator sample1 = Sample1 ();
StartCoroutine (sample1);
StopCoroutine (sample1);

とすればちゃんと止まる。
遅い、不便、ミスしやすいの3拍子揃った文字列引数は、実行時に呼び出すメソッド名文字列を生成するなどの無茶をしなければ必要ない。

390 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 10:10:27.55 ID:mGgG4nl1.net]
その文を理解するには

インスタンス
リフレクション
オーバーヘッド
リファクタリング
メソッド名

の5つを質問者が理解している必要があり
コルーチンはたぶん理解してると思われるが

391 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 10:39:38.15 ID:E6JM4SWs.net]
>>383
知らない単語をググって習得の機会とするのか
わからないままコードをコピペして満足するか
質問者がどっちを選ぶかはわりとどうでもいい

後者を選んでも問題解決するようにコードは書いてあるしな

392 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 10:48:53.84 ID:O6aBsQlK.net]
ScriptReferenceだとStartCoroutineもStopCoroutineも
IEnumeratorインスタンス作って使えになってんのな

公式tutorialは相変わらず動的コード生成のまんまじゃの
これではなくならん

393 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 16:32:56.58 ID:puc0wwL/.net]
find関数はupdate関数の中で使うなということですが、find関数使わずにどうやってオブジェクトの情報を取得するのでしょうか?

394 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 16:46:44.86 ID:E6JM4SWs.net]
>>386
Awake内でFindしてプロパティに参照を保持
Awake後に動的に生成されるものに関しては、生成されたインスタンス側のAwake内で渡し先をFindして参照を渡すなど

Updateは毎フレーム呼ばれるので毎フレームオブジェクトを探すのは無駄
Find系に比べれば軽いがGetComponent系も同様



395 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 17:36:38.42 ID:puc0wwL/.net]
>>387
わかりやすくありあり。

396 名前:名無し@キムチ [2017/06/16(金) 20:18:06.07 ID:GcEw8KU8.net]
>>366
デバッガというかデバッグ関数はいつも使っています。
ですが役に立った試しがありません。
というのは説明ではコンソールに表示されると書いてあるのですが、
コンソールはプロジェストの右にあるボタンを押すと出てくるウインドウのことですよね?
ですが、例えばDebug.Log("金玉");と書いてそこをいくら探しても何も表示されてないのですが…
当方の探し方が悪いのでしょうか?

397 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 20:43:24.72 ID:QsCI2dtA.net]
スルー推奨

398 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 21:59:31.08 ID:hsu73I1c.net]
>>389
そういうときは「unity Debug.Log 表示されない」ででも検索なさいな
初心者のうち、というか経験積んでも開発環境よりも先にまず自分を疑うのは基本だ

他の質問は割りと素直にアドバイス聞き入れて建設的な解決に向かうのに今回はやけに突っ掛かるね

399 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 22:00:19.70 ID:OyCZvXKK.net]
あらかじめインスペクタでアタッチするのと、AwakeとかでFind&GetCommentのとではどっちが効率いいんだろう

400 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 22:51:43.71 ID:mGgG4nl1.net]
ケース・バイ・ケース

401 名前:名前は開発中のものです。 mailto:sage [2017/06/16(金) 23:03:14.59 ID:qF4UEGK8.net]
パフォーマンス的には大して変わらん?

402 名前:名前は開発中のものです。 [2017/06/16(金) 23:54:50.50 ID:VwSQ55H3.net]
>>383
コルーチンは宣言時点で(List系みたいに?)自動でIEnumratorのインスタンス生成していたということですか
色々聞いて見るとやっぱり()最高ですね。ありがとうございました。

403 名前:名前は開発中のものです。 [2017/06/16(金) 23:57:11.94 ID:VwSQ55H3.net]
>>382さん貼り忘れてましたありがとうございました。

404 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 02:51:53.94 ID:ZFFYbfbw.net]
Findはオーバーヘッドばかにならないはずだが
なぜケースバイケースなんだ?



405 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 02:58:09.35 ID:4N3eKWxH.net]
そりゃケースバイケースの時があるからですよ
解らない人は知らなくていいと思う

406 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 03:09:01.44 ID:RWFiqgwy.net]
人外のコントって面白えな

407 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 03:14:20.63 ID:ZFFYbfbw.net]
答えられません、とw
ほんとテケトーだな

408 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 03:33:49.35 ID:tORkmJ/o.net]
https://gist.github.com/guitarrapc/76ab23f0e3368e81c4259f6fe3c12b42
ベンチマークある
100オブジェクトで3.6msのようだが、1/4近くそれだけに取られるのはちょっと

409 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 03:57:50.33 ID:ZFFYbfbw.net]
1000回まわしてそんなもんならって思っちゃう罠
tagだと圧倒的に早いって参考になるね
typeはあかんやつや

410 名前:390 mailto:sage [2017/06/17(土) 07:24:43.63 ID:89HwilAC.net]
>>397
俺の言ってるのは>>392についてケースバイケースって事な
Update()内でのFindの話はしてない

411 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 10:18:54.89 ID:uOCjaS/6.net]
>>403
アセットおじさんっぽいな

412 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 10:36:34.45 ID:pfeoMtxp.net]
>>403
横からですまんけど、どうケースバイケース?
単にD&Dが好きかコード書くのが好きかみたいな手段の話?
それとも負荷の話ではある?>>392は負荷のつもりだと思うけど(知らんけど)

413 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 10:41:47.59 ID:UGLU7o9s.net]
同種のアタッチ先が違うオブジェクトを複数用意する必要があるならインスペクタで柔軟に変えられるようにしておく
複数のシーンで同じオブジェクトを使用したり、途中で生成したりするならFind
実装方法による

414 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 11:14:12.55 ID:KBN1S3O5.net]
ガイジかな? アスペかな?



415 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 11:47:10.84 ID:PcOOd2P9.net]
>>401
サンクス、参考になった
oftypeがここまでとはw

416 名前:名前は開発中のものです。 [2017/06/17(土) 17:44:24.21 ID:/Jex4D7T.net]
初めて作ったのはどんな作品ですか?
Unityユーザーはコレの前にも色々経験あるのかな

417 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 18:20:24.29 ID:mnU4IsFY.net]
Unity軽く触ってみたけど簡単に作れます!みたいな触れ込みだけど
結構ガッツリプログラム書かないと駄目じゃない?これ

チュートリアルの玉ころがしは簡単だけど
ローグライク2Dのチュートリアルとかは結構難しいよね

418 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 18:33:13.56 ID:YFMwAjJR.net]
相対的な簡単さを絶対的な簡単さと偽ってるだけだからまだ良心的

419 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 18:58:49.68 ID:nFYpcEEx.net]
ある程度以上の規模のゲーム作るのがそもそも難しい作業だから

420 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 20:07:42.89 ID:ZFFYbfbw.net]
実際自分で作り始めると毎日やることなすことつまづくと思う

421 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 20:45:48.76 ID:pRk3a5a+.net]
作るの好きだけどストアに掲載するのが面倒
かといって外注する程気合い入れてないし

422 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 22:47:52.00 ID:ILKQLYKC.net]
アセットをかえば簡単だと思います

423 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 23:09:47.13 ID:89HwilAC.net]
>>404
アセット使わない派

>>405
・ご指摘の通り実装の手軽さの問題もある
・最適化を犠牲にし視認性を重視することもある(メンテナンスの利便性)
・スマホ向けにメモリー節約重視で選択を変える時もある
 (変数に格納しっぱなしの方が嫌な場面もある)


424 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 23:27:56.10 ID:ZFFYbfbw.net]
聞くだけむだだったなw



425 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 23:35:30.72 ID:89HwilAC.net]
そうかい?
・Awakeになんでもかんでもぶち込むとアプリ起動しなくケースがある
・根本的にアプリの起動が重くなる
・スマホのライフサイクルを知っているならば都度確保の方が安全な事が多い
・GCとの兼ね合い
他、きりがないほどある

作る物にもよるし何を重視するかにもよる
だからケースバイケースなわけ

無駄に感じるなら最初から質問しないでね

426 名前:名前は開発中のものです。 mailto:sage [2017/06/17(土) 23:48:50.26 ID:8FuMlYpm.net]
きりがないほど何にも対応出来ない素人は書き込まないで下さい

427 名前:402 mailto:sage [2017/06/17(土) 23:53:57.70 ID:pfeoMtxp.net]
俺はわかりやすかったですthx

428 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 00:00:18.95 ID:q1X0lAjX.net]
ケースバイケースは地雷ワードだな
100%適用できるルールではなくても"基本的に"と譲歩つけた上で何か解を与えたほうがいいんだろね
みんな問いよりも解法ばかりを求める時代だから

429 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 02:10:35.70 ID:sTZl ]
[ここ壊れてます]

430 名前:cSJA.net mailto: 実行効率、つまりパフォーマンスはどのくらい低下するのかの話じゃなくて? []
[ここ壊れてます]

431 名前:名前は開発中のものです。 [2017/06/18(日) 07:56:08.74 ID:X5Sl8Nuy.net]
>>418
答えになって無くて笑ってしまったw

432 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 08:45:18.82 ID:WNEWBLm8.net]
>>398の時点でお察し

433 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 08:51:32.03 ID:3wXsUBad.net]
バーカ

434 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 09:43:50.32 ID:5tDWnbC/.net]
持ち上げてから梯子外されるガイジ



435 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 10:23:18.25 ID:XAVbtWpl.net]
>>421
ケースバイケース君と俺は別人だが俺が書いた>>382から派生してグダッてるみたいなので基本方針を示しておく

1. Findは基本的に使用禁止
文字列引数による検索は実行時エラーの温床となるので避けるべき、インスペクタ上でオブジェクトの名前を変えられただけでコケるとか怖すぎる
またヒエラルキーツリーを全部舐める様な処理を多用するのはパフォーマンス的にも好ましくない

2.インスペクタ上で参照がセットされていることを前提にした構造は可能な限り避ける
シーンファイルを誤って変更された時に、インスペクタ上で探して修正するのは面倒。特にシーン内のオブジェクトが複雑に絡み合った参照関係を持つなどは論外
もしどうしてもこれが避けられない場合はオブジェクトをプレハブ化してプレハブ内での参照に限定することで問題のスコープを小さく保つ

上記ルールに沿って作れないならそれは設計が悪いので設計を見直す、疎結合を徹底するべし
必要ならCamera.mainなどの様なstatic経由での参照の受け渡しや、シングルトンなマネージャークラスの導入を検討する
※多用は厳禁、後者はScript Execution Orderを正しく設定すること

ヒエラルキーツリーやインスペクタでの変更に弱いコードはメンテナンス性が低く、こうした変更による問題が発生した場合の問題箇所の検出が非常に困難になるので避ける様にするといい

436 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 10:39:43.18 ID:3wXsUBad.net]
じゃあゲーム上のオブジェクト参照どうすんのよ

437 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 11:22:37.04 ID:YW1VLQdX.net]
これ間違ってるね

>1. Findは基本的に使用禁止

名前で判断するのが一番メンテナンスしやすいので普通によく使われる
バグってもそれを上回る使い安さ。だから使用禁止にしてる企業なんかない
むしろ命名規則の徹底の方が大切。名前書き間違えるとか池沼に弄らせない限り起きません。
池沼はゲーム作っちゃダメ。以上、終わり

438 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 11:24:34.89 ID:/3Y06ViO.net]
>>427
低能自慢して何が楽しいの?

アセットおじさんとは違う嫌がらせかね

439 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 11:51:03.41 ID:XAVbtWpl.net]
>>429
たとえば…
GameObject.Find("MainCamera");
Camera.main
他所から変更されるリスクはどちらも大差ないが、優先されるべきは圧倒的に後者だ

コード補完が効くのはどっちだ?
コンパイル時点で間違いが検出出来るのは?
処理速度はどっちが早い?
アセットとして切り出した時などに名前を変更されるリスクは本当にないのか?
命名規則に従ってないオブジェクトの存在をどうやって見つける?

運用対処なんてバグの温床以外の何物でもない

440 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 12:19:07.81 ID:YW1VLQdX.net]
さぁ?w
現実は君の考えてる妄想とは違うってこったろうね

441 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 12:23:52.12 ID:3wXsUBad.net]
得意げに長文書いててワロタ
ゲーム会社で働いてから書き込もうな知ったかエンジニア君

442 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 12:57:35.86 ID:d8uwf8Mk.net]
運用カバー無しとかキリがないと思うんだけど

443 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 13:09:59.77 ID:q1X0lAjX.net]
>>427
おお、何となく書いたレスに真面目な長文回答つけてくれてわざわざスマンね

俺は内容に関してはほぼ同意
Findに限らず、SendMessageやStopCoroutineみたいな文字列指定はクソだからね
ただ正し過ぎるというか、1,2を両方課すのは求道的すぎて利便性が損なわれてる気もする

1に比べたら、インスペクタ参照についてはもっと緩くてもいいんじゃね

444 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 13:10:47.80 ID:X5Sl8Nuy.net]
ケース・バイ・ケースでアセットをかうのが一番最適だと思います



445 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 13:45:05.15 ID:DLtXAMjk.net]
Findは使わないけど、正規表現検索と置換使ってないのかな?

446 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 13:55:21.52 ID:q1X0lAjX.net]
そりゃ文字列処理は文字列引数でいいっすよ

参照や呼出しを実行時に文字列比較で解決するのはパフォーマンスも悪いしメンテナンス性も落ちるしデメリットしかないよねってお話

447 名前:名前は開発中のものです。 [2017/06/18(日) 13:56:47.12 ID:+mnWtDzw.net]
そうだ、俺もアセットを買おう
細かい部分大変だ
アセットを買おう

448 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 14:00:07.13 ID:Fr4XIrmP.net]
>>429
js好きがコンパイルとかたるいっすわw
とか抜かしててライブラリ使う時に違う型渡しててデバッグに手間取って死んでたの思い出した。

449 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 14:03:18.54 ID:B/qMU4Iu.net]
もうすべての質問に
ケースバイケースて返しとけよw

450 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 14:08:17.74 ID:M/2QAqjI.net]
スクリプトアタッチやインスペクタの設定をエディタ拡張で
自動化してる俺には関係が無かった

451 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 14:29:28.63 ID:q1X0lAjX.net]
それな

452 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 14:46:23.45 ID:XAVbtWpl.net]
>>435
全面的に同意、求道的すぎるのは認める
ここ初心者多いから>>429みたいなクソ開発者になるなという意味を込めて厳しめに書いた
リスクを理解した上で使うならともかく、安易に便利だからで多用すると一気にコードが糞になるからなぁ
>>442
あるある、ついでにエディタ上で触らせる必要がなく親子関係が確定してるオブジェクトなんかはhideFlagsも立てたりする

453 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 15:19:36.48 ID:nmnJlvzm.net]
コルーチンを使えば大抵は解決する

454 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 15:39:48.82 ID:X5Sl8Nuy.net]
アセットを買えば大抵は解決しますよ



455 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 15:47:07.09 ID:nmnJlvzm.net]
コルーチンとラムダ式でUnityの制御は全て網羅できる
λを崇めよ

456 名前:名前は開発中のものです。 mailto:sage [2017/06/18(日) 17:08:30.89 ID:hyK8VDmp.net]
アセットストアで売っているアセットについて質問しても宜しいでしょうか?
アセットのスレらしきものがなくて。

terraincomposer2というアセットを買ったのですが、公式を見ながら使ってるのに躓いてしまって…

www.terraincomposer.com

このアセット購入した方いらっしゃいますでしょうか?
お伺いしたいです。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<271KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef