トップページgamedev
1002コメント404KB

【3Dゲームエンジン】Unity質問スレッド24 [無断転載禁止]©5ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2016/05/02(月) 22:38:08.79ID:EnZTTc62
3Dゲームエンジン「Unity」の質問に優しく答えるスレです。
Windows/Mac用。JavaScript/C#といった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他

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

■本スレ
【3Dゲームエンジン】Unity総合スレッド27 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/gamedev/1441891966/

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

●リンク
・Unity(日本公式サイト)
http://unity3d.com/jp
・ユーザーガイド
 http://docs.unity3d.com/ja/current/Manual/UnityManualRestructured.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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。

前スレ
【3Dゲームエンジン】Unity質問スレッド23
http://echo.2ch.net/test/read.cgi/gamedev/1457424481/
0345名前は開発中のものです。2016/05/15(日) 13:08:41.64ID:/NQpYs05
モデルデータやらグラフィックの調整にかかるコストが支払えるならハイポリでも好きにやれば良かろう
0346名前は開発中のものです。2016/05/15(日) 15:32:22.43ID:Xu7LKr1c
今の流行りはドットゲーだけどな
……例の牧場物語が100万本売れてたし
0347名前は開発中のものです。2016/05/15(日) 15:58:53.16ID:JrcUJq/6
現実を直視しろ
無料なら1万DL、有料なら100DLして貰えるの目指せ
0348名前は開発中のものです。2016/05/15(日) 16:02:56.14ID:AhxZU0jt
アニメーションで位置を移動する時の処理ってやっぱり
アニメーションに合わせてMoveやTranslateなんかで動かのが普通ですか?
RootMotionが正直よくわからない…
0349名前は開発中のものです。2016/05/15(日) 16:08:22.27ID:JrcUJq/6
それすっごく基本的な事で理解しないと3Dじゃ何も出来ないぞ
ググれば色々あるけどテラシュールのが判りやすい
RootMotionとアニメーションってとこな

Unity上でMMDモデルを独自アニメーションで走らせる
http://tsubakit1.hateblo.jp/entry/2015/07/26/054707
0350名前は開発中のものです。2016/05/15(日) 16:23:40.61ID:AhxZU0jt
>>349
ありがとうございました。
RootMotion以外にもAnimator.Move()なんて関数もあったのですね!
これで少しは捗るとよいのですが…!
0351名前は開発中のものです。2016/05/15(日) 16:41:32.94ID:og6lKn5X
テラシュールはぶっちゃけ分かりづらい部類に入ると思うがなぁ

>>349の記事もググると上の方に出てくるけど、
「で、つまりところRootMotionってのは何なんだよ?」と最初に見たとき思ったし
あそこ又聞きの表面的な知識をひけらかしているだけで根元がすっぽり抜け落ちてるから読むだけ無駄になる
0352名前は開発中のものです。2016/05/15(日) 16:45:14.96ID:RzyaQvUF
ならキミが判りやすいとこへ誘導してあげれば
難癖つけるだけなら馬鹿でもチョンでも出来るよw
0353名前は開発中のものです。2016/05/15(日) 16:58:32.77ID:Sn1MAi2E
ユニティちゃんを走らせるだけなら馬鹿でもチョンでも出来るけど
ユニティちゃんに剣を振らせたり銃を撃ってもらうには初級のチュートリアルくらいはやらないと難しい
0354名前は開発中のものです。2016/05/15(日) 17:02:22.77ID:og6lKn5X
>>348
普通のアニメーションはループするときオブジェクトの初期位置に戻るけど、
RootMotionのチェックを入れてあるとアニメーションで移動した距離がそのままオブジェクトの位置として反映される

だから移動してるアニメーションをRootMotionに設定すると、
アニメーションを再生するだけでオブジェクトが移動するわけだ

そして逆にいうとユニティちゃんみたいにその場で足踏みしてるだけのアニメーションはRootMotion設定しても移動しないから注意
0355名前は開発中のものです。2016/05/15(日) 17:16:47.32ID:oS+eAMZ+
基礎知らない奴は何を見ても出来ない
0356名前は開発中のものです。2016/05/15(日) 17:23:59.48ID:og6lKn5X
チュートリアルやってマニュアル読んでる癖に初歩的な質問にすら答えられないお前らのレベルに驚く俺
0357名前は開発中のものです。2016/05/15(日) 17:27:30.99ID:Sn1MAi2E
テラシュールに書いてある事の数十分の一の内容で回答した気になってる>>354に驚く俺
0358名前は開発中のものです。2016/05/15(日) 17:47:40.55ID:og6lKn5X
コピペ記事のテラシュールはこんな単純なことも書いていないんだよなぁ

と言ってるのにそれが読み取れない>>357は間違いなく文盲
いくらマニュアル読んでも身に付いてないわけだ
0359名前は開発中のものです。2016/05/15(日) 17:51:26.46ID:qZ8uAleG
わざわざgif画像まで貼って解説してるのに
書いてない書いてないと意地を貼らなくても…
0360名前は開発中のものです。2016/05/15(日) 17:56:04.11ID:Sn1MAi2E
>>354にはgif画像じゃ理解できなかったんだな
まあ目や頭の弱い人もいるってことでこんな下らん話は終わりにしましょ
0361名前は開発中のものです。2016/05/15(日) 18:22:38.59ID:og6lKn5X
>>359-360
で、RootMotionって具体的に何なわけ?

>>349のブログから『引用』で答えて見てくれよ

出来るもんならな
0362名前は開発中のものです。2016/05/15(日) 18:27:19.33ID:TvxSLoEr
テラシュールがアホなのは周知の事実だと思うが
そうか今の若いもんはあんなの見て参考にしているのか
お前らがゲーム作れない理由が分かるな
0363名前は開発中のものです。2016/05/15(日) 18:54:47.22ID:5rCIpTx8
今までテラシュール参考になるなって思ってたんだけど、もっといいサイトあるの?

煽りじゃなく普通に聞きたいんだけど、困ったときに役立つサイトのおすすめってなに?
0364名前は開発中のものです。2016/05/15(日) 18:57:51.94ID:AVepg0fR
サイト叩きとか無視しろよ
叩いてるほうがおかしいのは、誰が見ても明らかなんだから
ほっときゃいいのよ
0365名前は開発中のものです。2016/05/15(日) 19:38:13.29ID:tzCJR6P9
>>363
つyahoo知恵袋
0366ウンコマン旭(黄昏の大砂漠) 私がベッキー✨です©2ch.net2016/05/15(日) 21:15:06.07ID:kyIYqePn
こんばんは!
ご無沙汰しております(^v^)
皆さんお元気そうで何よりです(^v^)

ところで質問なのですが、例えばAというスクリプト内のBという変数をCというスクリプト内で取得する場合、
通常ではC内にGetComponent<A>.Bと記述すればいいのですが
Cスクリプト内のDという変数にBという文字列を代入してD変数を用いてAスクリプト内のB変数を取得するにはどうすればいいのでしょうか?

教えてくだされ(^v^)
0367名前は開発中のものです。2016/05/15(日) 21:18:47.07ID:cPRaUSS5
まず服を脱ぎます
0368名前は開発中のものです。2016/05/15(日) 21:27:06.08ID:/NQpYs05
>>361
>RootMotionがあるアニメーションならば、ApplyRootMotionでキャラクターの位置を動かす事が出来ます。

ここからRootMotionがアニメーション側に含まれる位置を動かすための情報の事であり、インスペクタのApplyRootMotionをオンにする事でその移動を有効にする事が出来るって事が読み取れないならそりゃわからんだろうなぁ

>>366
「C# リフレクション」でググれ
0369名前は開発中のものです。2016/05/15(日) 22:29:52.18ID:71a78U+X
>>366
どうしてそんな回りくどい質問するの?
いやがらせ?
まず、そのなめた顔文字やめろ。
0370名前は開発中のものです。2016/05/15(日) 22:39:29.79ID:6uDPGNBY
>>368
そだな、ファルシのルシがコクーンでパージだな
0371名前は開発中のものです。2016/05/15(日) 22:48:05.78ID:og6lKn5X
ググれ以上のことを言えないのはつまり知らないからっていうね

ここ知ったかが多過ぎるよな
0372名前は開発中のものです。2016/05/15(日) 22:59:59.32ID:Np7vluzE
文字列で参照したいなら至極適切な情報じゃないのん
リフレクションって言葉を知らないから調べられなかっただけだろ
0373ウンコマン旭(黄昏の大砂漠) 私がベッキー✨です©2ch.net2016/05/15(日) 23:16:19.68ID:W+YFgFtr
すみません(^v^)
質問の意図がわかりにくかったですね(^v^)

例えば

string A = "test";
string B = "A";

とするとしましょう。
では変数Bを用いて変数Aを呼び出すにはどうすればいいのか?
例えばPerlなら

$A = "test";
$B = "A";

とした場合

print ${$B};

でtestと出力されます(^v^)
要するにC#で変数名に変数を指定するやり方が知りたいですよ(^v^)
0374名前は開発中のものです。2016/05/16(月) 00:20:48.61ID:cLT7gUJL
>>373
だから「C# リフレクション」でぐぐってでてくるサイト読みなよ
ttp://ufcpp.net/study/csharp/sp_reflection.html
変数名を文字列変数から調べられてその内容を取得できるよ
まあ性的型付けの宿命としてめんどくさい書き方になるけど、難しいことはなんもないから面倒なら自前でラップしちまえば良い
0375名前は開発中のものです。2016/05/16(月) 00:46:48.32ID:EoOnPIyj
正直C#でそんな変数名でアクセスするとかまず間違ってる。
あと顔文字死ね
0376名前は開発中のものです。2016/05/16(月) 01:01:30.56ID:xrrkYQIo
つか基地外に触れるなよ、名前でわかるだろうに
0377名前は開発中のものです。2016/05/16(月) 01:05:30.14ID:DfULn/4/
>>374
URLでなく具体的なソース書いたら?
たった三行じゃん
0378名前は開発中のものです。2016/05/16(月) 01:35:01.36ID:cLT7gUJL
えー逆になんで?コピペで動かんかったの?
もうPC落としたし
逆に何がわからんのよ。難しく考え過ぎてない?
不明点書いてくれれば明日動くコード確認して貼るよ
0379名前は開発中のものです。2016/05/16(月) 01:45:34.87ID:MMYVuKCP
なんで人の答えに口出したがるんだろう
自分で自分の回答すりゃいいのに
0380名前は開発中のものです。2016/05/16(月) 01:47:10.03ID:8pxJg19b
>>378
マジで言ってるのか知らんけどさ
少なくとも>>374のソースじゃ>>373のやりたいことは出来ないよ
実装に必要なメソッド三つのうち二つがどこにも載ってないから
0381名前は開発中のものです。2016/05/16(月) 01:54:48.97ID:cLT7gUJL
知らんわい思わせ振りに何となんだよ
自分の抱えた問題で試してエラー出たら調べて直すだけだし。問題解決の糸口にはなるでしょ

そんないちゃもんつけるなら君が答えたげなよー
俺は無能ゴミクズでいいよ
満点じゃない回答で悪かったよ目障りでごめんな
0382名前は開発中のものです。2016/05/16(月) 02:29:44.49ID:5g3bclbB
ソバを作りたいって言ってる奴にうどん粉渡してあとは試行錯誤で何とかしろ、と
何でうどん粉渡しちゃったんだよ?
0383名前は開発中のものです。2016/05/16(月) 03:28:01.17ID:lLhHxovI
なんかヤバい挙動見つけた
謎すぎる
説明下手だけど説明させてくれ

UnkoParent
┗Unkochild(リギッドボディとボックスコライダ付き)

SikkoParent
┗Sikkochild(リギッドボディとボックスコライダ付き)

UnkoParentは元々一つのアセットでプレハブ化されてた
それにraycast当てると Unkochild ではなくUnkoParentが返ってくる
なぜUnkochildが返ってこないのか謎だけど俺は気にしなかった

そうすると"子にレイキャスト当てると親のオブジェクトが帰ってくる"って事になるだろ?
なのに下の
SikkoParentを親に持つSikkochildにraycast当てるとSikkochildが返ってくるんだよ

SikkoParentは元々アセットとして存在しててSikkochildは後からそれに追加された物なんだけど

でもゲーム実行中にUnkoParentの下に新しくUnkobro(リギッドボディとボックスコライダ付き)を追加してUnkobro(リギッドボディとボックスコライダ付き)にraycast当てるとUnkoParentが帰ってくるんだよ

なんというか
もう自分で書いてて少し分からなくなってきたけどコレ明らかにおかしいよな?
なんか暗黙的に何かが設定されてるような気がするんだけどそれを操作する手段が分からない
今作ってるゲームではこの謎仕様に触らない他の手段を選ぶ事に決めたからもう良いとして
なんか情報あったら教えてほしい
0384名前は開発中のものです。2016/05/16(月) 05:06:37.38ID:qRF1nlwK
>>383
単純にそれだけ試すと「そんなことは起きない」。

つまりそこに記述されていない事情によって起きている。
その直接の原因がある状況で起きるバグである可能性もある。

まぁUnkoChildが返ってこないのがおかしくはある。
RigidBodyはコライダを親から切り離す機能がある筈なので。
0385名前は開発中のものです。2016/05/16(月) 07:09:49.08ID:lLhHxovI
>>384
焦ってて説明自体間違ってた
どちらにしろ
>RigidBodyはコライダを親から切り離す機能がある筈なので。
これは知らなかったのでこの一文のおかげで問題が解決した...
実際には

UnkoParent(リギッドボディ)
┗Unkochild(ボックスコライダ)

SikkoParent
┗Sikkochild(リギッドボディとボックスコライダ付き)

だった...
ありがとう
0386名前は開発中のものです。2016/05/16(月) 09:03:31.65ID:crYLp3Kw
>>368を書いて寝てる間にまたレベルの低いやり取りしてるなぁ

外野でごちゃごちゃ言ってるのはまあただの低脳煽りだから放置するとして
>>374は他人の回答に的はずれな付け足しするのやめてくれw

コード書かなかったのはリフレクションのような初心者にお勧め出来ない選択を提示するから、使いたいなら自分で調べて使い方だけじゃなくデメリットや注意点などを把握してから使え、調べられないなら諦めろって意図があるんだわ

回答するの自体は良いことだが、知識の足りないものを無理に答えても間違えたり言葉足らずになったり良いことはないぞと
0387名前は開発中のものです。2016/05/16(月) 09:51:44.12ID:X1sIBbE8
しかしこの>>386
コード書けないのを誤魔化したくて必死である
0388名前は開発中のものです。2016/05/16(月) 10:10:00.07ID:0Xs/7U7M
つかリギッドボディてなんだよリギッドボディって
英語の発音聞いててもローマ字読みしてもこんな言い方にはならねえだろ
まじでアホな基地外には触るなよ、居着かれるぞ
0389名前は開発中のものです。2016/05/16(月) 10:39:55.62ID:lLhHxovI
rigidbodyはどう読んでも
re-git-buh-die
つまりリギッドボディで正しい
0390名前は開発中のものです。2016/05/16(月) 10:48:29.95ID:xXlFZibz
表記揺れにやたらこだわるのはアスペだってばっちゃが言ってた
0391名前は開発中のものです。2016/05/16(月) 10:53:59.97ID:qRF1nlwK
表記はどうでもいいとは思っているけどrigidの発音はrid??dなので
日本語的にはリジッドだとは思うね。
0392名前は開発中のものです。2016/05/16(月) 11:43:39.35ID:crYLp3Kw
>>387
http://i.imgur.com/OkGTIwa.jpg
0393名前は開発中のものです。2016/05/16(月) 12:10:48.96ID:U29GebaE
まあ最近はグーグルさんが発音教えてくれるから…
リジドッだな
0394名前は開発中のものです。2016/05/16(月) 13:01:41.96ID:ZpDfvZPR
Rigid Snake
0395名前は開発中のものです。2016/05/16(月) 15:12:26.75ID:DzDIFYv6
3Dで1000以上の弾幕を扱うとき他の言語なら全弾ループさせて8分木で当たり判定を行ってるんだが
UnityではコンポーネントのRigidbodyとColliderでTrigger拾っても同じような低負荷の動きしてくれるんだろうか?
0396名前は開発中のものです。2016/05/16(月) 16:07:14.48ID:crYLp3Kw
>>395
当たり判定以前の問題として弾幕シューティングに物理演算が必要なのかを考えるべきじゃないかね?

必要のない物理演算を1000以上も行ってりゃ当たり判定以前の問題として重くなるのは自明だろう
1000以上の弾が全て物理演算で跳ねまわってるなら…まあ頑張れとしか言えんわ
0397名前は開発中のものです。2016/05/16(月) 16:26:24.83ID:GrYRZPI3
unityを勉強し始めた者なので、unityの勉強の仕方について質問があるのですが
unityの本やどこかのサイトにのっているソースコードをそのまま入力したのに動かないといったことで
とても悩んだ時期はみんなにはなかったでしょうか?

ありましたら、どのようにそれを乗り越えたか教えていただけないでしょうか。
0398名前は開発中のものです。2016/05/16(月) 16:32:45.96ID:k08iYygc
>>397
俺はコピペそのものをやめた

コピペするにしても、ちゃんと理解した上でないと、結局は細かいところ弄りたくなったときに困る。
おまけにそのコピペの仕様に他の部分も合わせなきゃいけなくなったりすると余計にワケわからなくなったりする。
だから、最終的には同じものになるにしてもコピペじゃなくてソースを見ながら自分で打ち込む方がいいと思う。
0399名前は開発中のものです。2016/05/16(月) 16:33:40.02ID:MMYVuKCP
>>397
Unityの場合はバージョンで動作が大きく異なるとかあるから
古い参考書は使えない場合もあるよ
古いってのは3ヶ月以上前とか

動かないのは、悩んで調べまくるしか無い
調べる行為、自分で解決する力が、すなわちプログラマの技量と言ってもいい

そのまま入力して何がどうなってるかわからんってのは
単純におまいのレベルが足りてない
そのサンプルはまだ早い
もっと簡単な別のサンプルを見つけて勉強すべき
一番確実なのは公式

まずこれやれ
http://tutorial.unity3d.jp/
0400名前は開発中のものです。2016/05/16(月) 16:44:25.36ID:xKUVOT6G
チュートリアルやるの面倒くさいしC#覚えたくもないこのスレの住人には
本にあわせた古いUnityのバージョンでやれって言う
どうせそんなアホみたいな事を聞くのはそのままコピペして貼りあわせて動かすことしか出来ない連中なんだから
0401名前は開発中のものです。2016/05/16(月) 16:48:49.60ID:qRF1nlwK
>>397
普通に言語ができてりゃエラーコード見て解決可能
言語ができないとすぐそうなる
真面目に一からちゃんと言語やることだよ
Unityに捕らわれないスキルだし損になることも絶対にない
もっといえば高校までの数学と英語だ。
0402名前は開発中のものです。2016/05/16(月) 16:58:16.24ID:DzDIFYv6
>>396
isTriggerって分かるか?
分からないならちょっと黙ってろよ
Rigidbody=物理演算と思い込んでる馬鹿には理解出来ない話だから
0403名前は開発中のものです。2016/05/16(月) 16:59:19.39ID:MMYVuKCP
でも弾幕シューティングは座標管理すると思うよ普通
0404名前は開発中のものです。2016/05/16(月) 17:00:35.49ID:xKUVOT6G
一番Unity知らないお前が言うなよ
それこそチュートリアルやってUnityの基礎を調べてから出なおしてこい
0405名前は開発中のものです。2016/05/16(月) 17:01:25.94ID:xKUVOT6G
>>404>>402宛な
0406名前は開発中のものです。2016/05/16(月) 17:10:14.33ID:WpXNRJDO
>他の言語なら全弾ループさせて8分木で当たり判定を行ってるんだが

Unity質問スレでこんなアホな事言ってる時点でお察し
おまえらスルー力無さ過ぎ
0407名前は開発中のものです。2016/05/16(月) 17:28:57.07ID:BdnXokXi
貯金1,000万円つかって、6年で20アプリつくったが、年収は15万円。
どん底アプリ開発者、コンテストで賞金250万円を獲得し、人生初勝利をおさめる。
http://appmarketinglabo.net/iyodasan/
0408名前は開発中のものです。2016/05/16(月) 17:50:48.90ID:qRF1nlwK
>>402
実際Unityが物理エンジンをどういう形で最適化しているかはUnity社に聞くほかないが
普通に考えつくようなことは大体行われていると考えていいだろうとは思う。
実際のUnityでの衝突判定負荷がある程度察せられるチュートリアルはある
https://unity3d.com/jp/learn/tutorials/modules/intermediate/physics/physics-best-practices
これでは1000個の赤オブジェクト、1000個の緑オブジェクトを
それぞれの色同士だけで判定させた場合とまとめて判定させた場合の
パフォーマンスの結果が書かれていて前者では物理演算にかかる時間は
平均で17.6msとなっている。60fpsはでていない。後者だと平均27.7ms。
どんなCPU使ってるのかわからんがそれでもかなり最適化されているとは察せられる。
弾幕の場合は1000個の弾同士の判定などしない訳で問題視するようなレベルではないだろう。
まぁ適当に1000個でデモしてみればいい訳ではあるが。
そんなに時間もかからない。正直このレスの方が時間かかっているかもしれないw

あと心配なら自前で衝突書いた方がいいっていう>>396の指摘はそれほど的外れではないよ。
かなり力技だがUnite2016で物理挙動まで自作するなんて講演もあった
まぁそこを自作することが焦点の講演ではないが。
http://japan.unity3d.com/unite/unite2016/files/DAY1_1700_room1_Yasuhara.pdf
これはかなり面白い話なので見ておいて損はないと思う。
0409名前は開発中のものです。2016/05/16(月) 17:59:21.19ID:sGCwQia1
シミュレーションじゃなくてゲームなんだからさ
当たり判定とかRaycastでいいだろ
弾幕とかエフェクトでやれよ と言ってみる
0410名前は開発中のものです。2016/05/16(月) 18:46:34.22ID:DzDIFYv6
>>408d
読んだ感じ座標の最適化はしていても外から絞り込める仕様にはなっていないっぽいな
1000の弾幕が張られていてもPlayer×Bullet(同座標)で毎フレーム1×10通りの判定まで落とし込むような実装は自前で書くしかないと
0411名前は開発中のものです。2016/05/16(月) 18:56:59.55ID:qRF1nlwK
>>410
あ〜、そうだね、基本的にUnityはソースコードまでは開示してないし
物理エンジンはかなり閉じた構造になってる。
この機能要らね〜この機能ほしい、と思っても切ったり足したりはできない。
その辺までやりたいならUE4とかの方がいいよ。
あれなら全部中身見て変更もできる。
0412名前は開発中のものです。2016/05/16(月) 19:04:58.42ID:NRL4D3Jt
もうそこらへんブラックボックスってことで理解することを放棄してる
0413名前は開発中のものです。2016/05/16(月) 19:08:31.60ID:sGCwQia1
心配しなくても偉そうに語ってる奴もみんな机上の知識さ
そもそも成功してる奴はこんなスレに来ない
0414名前は開発中のものです。2016/05/16(月) 19:33:15.08ID:vHjLOzcJ
質問です。
EditorWindowで常に最前面に描画され続けるウィンドウを作りたくて以下のプログラム

public class GUIEditorWindow : EditorWindow {
[MenuItem(
0415名前は開発中のものです。2016/05/16(月) 19:34:45.41ID:vHjLOzcJ
何故に切れた……

質問です。
EditorWindowで常に最前面に描画され続けるウィンドウを作りたくて以下のプログラム

public class GUIEditorWindow : EditorWindow {
[MenuItem("Window/TestEditor")]
public static void CreateEditorWindow() {
var instance = CreateInstance<GUIEditorWindow>();
instance.ShowUtility();
}
}

を書いたのですが、GameビューやSceneビューの裏側に回り込んでしまいます。
何が問題なのでしょうか。Window8のPCを使っています。
Unity のバージョンは Virsion 5.2.1p4 です。
お願いします!
0416名前は開発中のものです。2016/05/16(月) 19:50:40.14ID:qRF1nlwK
>>415
何でだろう、と思って試してみたがWin10Unity5.3.4では再現しなかった。
報告まで。
0417名前は開発中のものです。2016/05/16(月) 20:20:56.22ID:gXHmphDY
>>395
空間分割法を使えば?

あらかじめ、100エリアとかに分けておけば、
隣接しないエリア同士なら、衝突判定しなくてもいい

たぶん、Unityも、そうしているのじゃ?
0418名前は開発中のものです。2016/05/16(月) 20:40:48.12ID:NRL4D3Jt
それってつまり4分木8分木とやってること大体一緒やん
0419名前は開発中のものです。2016/05/16(月) 22:14:22.29ID:crYLp3Kw
昔ながらの当たり判定使って単純に弾側のUpdate内総当たりで比較してみた
こんなテキトーでもRigidbody+SphereCollider使うより明らかに速いんだが?

var Awake(){
Player player=GameObject.FindGameObjectWithTag("Player");
//弾丸生成時にプレイヤーの参照を取る
}

void Update(){
//弾丸の移動処理はこの辺でテキトーに
if((player.transform.position-this.transform.position).sqrMagnitude<=(当たりと判定する距離の2乗)){
//当たった
}
}

使っていない様に見えてもRigidbodyが裏でやってる計算量はUpdateで総当たり判定するよりはるかに多いぞとw
0420名前は開発中のものです。2016/05/16(月) 22:18:39.85ID:crYLp3Kw
あ、ミス発見
player変数の宣言はUpdateの外でやってくれ
0421名前は開発中のものです。2016/05/16(月) 22:22:38.34ID:crYLp3Kw
うーむ、ミスだらけやな
誤)var Awake()
正)void Awake()
そして>>420はAwakeの外でが正しい

スマホでソース入力とかするもんじゃないな、すまんw
04223972016/05/16(月) 23:02:37.03ID:DAaItmnW
皆さん返信ありがとうございます。

>>399
3か月前の参考書ですら使えない場合もあるんですか?
てっきりunity5の参考書を買えばまず大丈夫だと思っていました。
チュートリアルやってみます。

それにしても、unityの起動やビルドにものすごい時間がかかるのだが、
俺のノートPCのスペックが足りないのかな。
0423名前は開発中のものです。2016/05/16(月) 23:07:42.72ID:NRL4D3Jt
まぁその方法だと球が1000個あった場合に計算回数がたった1000回になるだけだし
本当に総当たりしたら50万回くらいになってるし
0424名前は開発中のものです。2016/05/16(月) 23:30:16.88ID:NRL4D3Jt
あとRigidbodyの当たり判定はFixedUpdateの間隔で処理してるハズだけど、その方法だとUpdateの間隔でしか処理してないやん
当たり判定の検出回数減ってるやん
0425名前は開発中のものです。2016/05/17(火) 00:08:50.61ID:RFqvbH97
>>423>>424
弾幕シューティングで弾同士に当たり判定を持つのか?
設計の段階でいらん枝を先に切るってのは当然やってるものだと思ったがまさか言葉通りの総当たりを想定してたのかwそりゃ論外だから設計見直せとしか

Rigidbody使ってもレイヤー切って弾同士の判定はしないで比較してるからそこで差は埋まらんよ?
Updateでやってる処理をFixedUpdateに移したぐらいで結果が変わる程度の差じゃないから粒度が気になるなら移せばいいよ
0426名前は開発中のものです。2016/05/17(火) 00:19:47.34ID:c7Es4G1U
>弾幕シューティングで弾同士に当たり判定を持つのか?

いやいや別にあってもおかしくないが
>>419見ただけじゃ仮定が不明すぎてわけわかんないのに、「当然やってるものだと思った」と言われても自分テレパシーじゃないんで
0427名前は開発中のものです。2016/05/17(火) 00:30:16.61ID:Z2ucCY2C
うえいるせ
雌の部分みせろ
0428名前は開発中のものです。2016/05/17(火) 00:33:37.46ID:kSn04VNU
俺のESP値は54万だ
0429名前は開発中のものです。2016/05/17(火) 07:06:13.78ID:30PsNdMs
シューティングで弾同士があたり判定を持つってどんな感じなんだろう・・・?
味方同士の弾が当たったら1発に集束されて威力合算とか
敵と味方の弾当たったら相殺とか、敵と敵の弾が当たったら別の弾種になるとか
そんな感じの事をやる時に必要になってくるんだろうか・・・?
0430名前は開発中のものです。2016/05/17(火) 08:57:23.39ID:Z8urgFF3
人間は壁にぶち当たる。
その時に否が応でもやらなければいけないものさ。
0431名前は開発中のものです。2016/05/17(火) 11:00:14.89ID:HRkpY7dw
日本語で書かれたUnityの解説本はさあ、「なぞれば同じゲームが作れます」って言うような公式チュートリアル以下の初心者本ばっかりになったんだよな
公式チュートリアルが英語だからか、それが出来ない中学生〜専門学校生等の層をターゲットにしてるんだろう
まあ、一歩進んだ本は売れない上、さらにレビューには「使い方の説明がない」等のひどい評価が書かれるというとんでもない時代になってるからね
いい本を出そうって気はしないよな
0432名前は開発中のものです。2016/05/17(火) 11:11:45.22ID:16YnhEn2
突然どうした、疲れてんのか
ちょっと外に出て気分転換してこい
0433名前は開発中のものです。2016/05/17(火) 11:57:18.27ID:eRbYndXk
初級本「クリックしたままカーソルを移動させることを『ドラッグ』と言います。この標準で付いているスクリプトファイルをキューブのところにドラッグすれば、ほら動いた!」

中級本「GameObjectをnewしてInstanceをprivateなvariableにassignしたらGetComponentからRigidbodyをAddForceもしくはvelocityで、ほら動いた!」

ぶっちゃけこの中間の本を作れなかったのだろうかと初心者の頃は思ってたよ
0434名前は開発中のものです。2016/05/17(火) 12:06:48.83ID:eRbYndXk
正直なところ今でもクラスを細分化する理由とか分からないんだよなぁ
例えばプレイヤーとカメラの操作みたいな相互に作用するものは分けて書くと逆に可読性が落ちるし
それぞれにスクリプト当ててそれぞれでお互いの参照を保持するのは無駄にしか思えない
0435名前は開発中のものです。2016/05/17(火) 12:10:48.38ID:unjj9Zl5
2chでひとり語りを始める人は軽度のうつ病の恐れがあるってエロいお医者さんが言ってた
0436名前は開発中のものです。2016/05/17(火) 12:38:06.79ID:RJ0HcG3P
>>434
チームで開発するときは、ファイル分けてくれた方が問題の箇所を見つけやすいってのはあるかも
0437名前は開発中のものです。2016/05/17(火) 12:40:59.06ID:FLvMyiRD
>>434
雑談は雑談スレでやれよw
それ自体はもっと大規模なゲーム作ってけば分かるようになるよ
最終的にはオブジェクト指向は正しいのかとかいう宗教戦争になるw
0438名前は開発中のものです。2016/05/17(火) 12:52:13.06ID:qP+ihOpu
お前らチームで開発なんてしてるの?
0439名前は開発中のものです。2016/05/17(火) 12:54:50.07ID:m1vuMDHT
>>434のようなレスを見るとオブジェクト指向が理解できず苦労してんだなあと
コボルやフォートラン時代の頭の硬化したジジイたちは気の毒
0440名前は開発中のものです。2016/05/17(火) 12:58:54.84ID:Eq74oSJq
俺は434に同意するけどね
無駄なコードが多すぎる
さして読みやすくなってるわけでもないのに
0441名前は開発中のものです。2016/05/17(火) 13:42:07.71ID:T9Vr550j
クラス同士が密結合していると、状態の組み合わせ爆発が起こる。
もし変数が10個あれば、10!

これが2つのクラスで、疎結合になれば、
例えば、3! * 7! のように、状態の組み合わせ数が減る
0442名前は開発中のものです。2016/05/17(火) 13:53:54.12ID:qMLet7/6
http://openbook4.me/projects/161/sections/1023

こちらのサイトを見ながらブロック崩しを作成しているのですが
「BallScriptを作成して記述」の所をそのまんま記入したところ、コンパイルエラーが発生してしまいます。
エラーの内容は以下の通りです。
Assets/BallScript.js(9,42): BCE0144: 'UnityEngine.Component.rigidbody' is obsolete. Property rigidbody has been deprecated. Use
GetComponent<Rigidbody>() instead. (UnityUpgradable)

Assets/BallScript.js(9,52): BCE0019: 'velocity' is not a member of 'UnityEngine.Component'.

Assets/BallScript.js(10,9): BCE0144: 'UnityEngine.Component.rigidbody' is obsolete. Property rigidbody has been deprecated. Use
GetComponent<Rigidbody>() instead. (UnityUpgradable)

Assets/BallScript.js(10,19): BCE0019: 'AddForce' is not a member of 'UnityEngine.Component'.

ちなみに自分が入力したソースコードは以下の通りです。
#pragma strict
var Speed : float = 15.0;

function Start () {

}

function Update () {
if (Input.GetButtonUp("Jump") && rigidbody.velocity == Vector3(0, 0, 0)){
rigidbody.AddForce((transform.forward + transform.right) * Speed, ForceMode.VelocityChange);
}

}
エラーコード番号や英文をググったりしましたがわかりませんでした。どなたか教えていただけないでしょうか。
0443名前は開発中のものです。2016/05/17(火) 14:01:32.32ID:gPw3orDt
おぶそれーと?(読めない) って出てるでしょ
エラーメッセージちゃんと読めば、これはすぐわかる
0444名前は開発中のものです。2016/05/17(火) 14:10:25.54ID:xuPMAP+N
>>439
一人で作る日曜DIYなのに、
「ここは木材を切る場所」
「ここは木材を削る場所」
「ここは組み立てる場所」
と工程別にライン化してたらアホかと思うがな
■ このスレッドは過去ログ倉庫に格納されています