1 名前:名前は開発中のものです。 mailto:sage [2016/01/11(月) 01:24:43.29 ID:r4suKLTg.net] 3Dゲームエンジン「Unity」の質問に優しく答えるスレです。 Windows/Mac用。JavaScript/C#といった汎用言語を使用できるのが特徴です。 フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。 プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他 次スレは>>970 を踏んだ方が建て
134 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 18:35:56.81 ID:csn6amJm.net] タイヤのポリゴン 車体のポリゴン 路面のポリゴン 街路樹のポリゴン とか言ったりするのかなこの人は
135 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 19:04:21.94 ID:4u0QTOzr.net] >>128 >>129 ありがとうございます
136 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 20:19:39.80 ID:r6xk1mVe.net] ポリゴンとか何時の時代の人? 作るゲームによって異なるからUnityやる上でその質問は意味がない Unityやる気なら初心者チュートリアルからやったほうがいいよ
137 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 21:02:54.20 ID:KaD8/WvL.net] ボールを分裂させる処理を作ってるのですが、Instantiateで分裂させた際に分裂したものが真っ黒になります。 画像を設定した際にはなんともなかったのですが、ボールにマテリアルの色設定で指定すると分裂した際に真っ黒になります どなたか原因が分かりますでしょうか?
138 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 21:04:53.12 ID:LqkzbRj0.net] 間違った使い方してるわけでもないのに言葉尻捉えて馬鹿にするのは 自分に教養がない事を喧伝しているに等しい行為
139 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 21:16:08.54 ID:KaD8/WvL.net] すみません、自己解決しました
140 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 21:17:50.16 ID:rr6jrjnn.net] うん。意味わかるから困らない ここんとこ最適化はあぐらかいてるなぁと我が身振り返ってた
141 名前:101 mailto:sage [2016/01/19(火) 21:34:09.63 ID:s6sVwUZK.net] >>123 回答ありがとうございます。 たしかにPhotonが楽っちゃ楽なんですが、趣味で作っているゲームに 月に万単位がサーバー代だけで飛んで行くのはチョットと思いまして。 一斉スタートでなくても、Unityが用意してくれているリレーサーバー使って マッチした人の中で、ホスト(部屋立てた人)がクライアントと繋がれば 途中参加もできるんでしょうが、ホストが途中で落ちたり、無線の場合は ゲームがまともに出来ないだろうから、C/S方式で尚且つ、MO形式にできればいいのですが、 探してもなかなか情報がでてきません。 荒業として、port別にクライアントを100ほど立ち上げて、1portに1つの部屋とすれば できなくもないのでしょうが、通信の監視、マシンパワーという点から見るときついですし・・・ サーバーで座標なんかを送ってきたユーザーのデータをルームごとに振り分けて、 NetworkServer.SendToClientでも使って、状態、座標、その他をルームに居るメンバー に送るぐらいか方法ないんでしょうかね?
142 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 21:38:22.25 ID:OjzOAN1h.net] >>134 些細な原因であったにしろ、自己解決したならどう解決したかは書いておこうね
143 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 21:52:20.97 ID:6q36Y+uR.net] >>136 自分の知ってる範囲でしか考えないのかよ 他の人が教えてくれてるUNETのtutorialで詳しく説明されてるぞ
144 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 21:55:49.54 ID:QSjYw52q.net] このスレって自演つーか意味不明の質疑応答多いよね
145 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 22:00:59.30 ID:fJhkRQ1L.net] >>139 自演でもなんでもなく意味不明な質問ばかりだからエスパーして答えてるだけだと思うが…
146 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 22:23:24.32 ID:x5xvopmt.net] Photon使ってる人って月に数万もサーバ代出してんの?
147 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 22:38:22.18 ID:qR8VyKrd.net] そもそも面白いゲームならすぐにスポンサーつくからそんなこと気にするだけ時間の無駄やで 面白いゲームなら
148 名前:名前は開発中のものです。 mailto:sage [2016/01/19(火) 23:04:43.73 ID:g+vBs3hm.net] 大体プログラミングで、しかもゲーム制作の質問なんて、 数行で一つの答えになる質問ができるようなら、答えがわかってるようなもんだからな 答えてる人のバックグラウンドによって捕らえ方は違う
149 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 00:02:44.19 ID:HwNY0XlP.net] macで使ってるんですが、plane置こうとすると毎回フリーズして強制終了するしかない…。同じことが起こる人いませんか?何もできなくて困る…
150 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 01:02:46.42 ID:HwNY0XlP.net] 144です。駄目元でOSのバージョン上げたら動くようになりました。失礼しました。
151 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 01:04:03.91 ID:Km+MRY0/.net] Serverライセンス買い切りプランがあるでしょ>Photon サーバ用意して(クラウドサーバでもいいし)、それにぶち込めばいいのでは? テスト用なら10人くらいまでならただで使えるよ。 サーバのソースもC#だから、そこまで難しくないよ。
152 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 01:04:57.44 ID:Km+MRY0/.net] とは言ってもUNET,根気よくやってみたら? セッションの勉強、し直したほうがいいよ。
153 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 01:20:23.19 ID:EmNi4jHz.net] >>138 ひよこのたまごのUNETのチュートリアルですよね? 一応、全部読んでは見たのですが、全クライアントに データ送信しているところしか見つからなかったのですが、 どの辺に記載されてるか教えていただけないでしょうか。
154 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 01:42:38.65 ID:Km+MRY0/.net] 送信データの頭に暗号化したクライアント番号付けて、そのキーを持っているクライアントだけが受け取ればいいだけでは?
155 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 01:53:5
] [ここ壊れてます]
156 名前:1.85 ID:Km+MRY0/.net mailto: 何なら、ログオンプレーヤーネームが重複しなようにして、サーバから送るデータにプレイヤーネームとデータ長を付けたら? ログオンプレーヤーネームとデータを暗号化しないと改ざんされる可能性があるけど、 とりあえずそこから始めたら? 後は自分で考えなよ。 [] [ここ壊れてます]
157 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 01:57:33.36 ID:Km+MRY0/.net] 新規は仮のログオンプレーヤーネームを付ける。記号を含んだ規則性のあるやつで。 そうすりゃどうにかなるでしょ。でもこれくらいならだれでも考えられると思うけど。
158 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 09:38:39.92 ID:I8697KQ+.net] >>148 マルチプレイの基本から勉強しなおしたほうがいい 全クライアントにデータを送るって送らなきゃマルチじゃないでしょ マルチプレイで同期を取るには動きがあったら全ブレイヤーにデータ送って 送られた側は自分に関係するデータか判断してそれぞれ処理する 個々はNetwork Identityで識別されるとひよこの初回に書いてある、本当に見たの?
159 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 10:33:51.47 ID:F2qWqBIY.net] 元の質問は、クライアント同士の通信はしたくない、、ってことじゃないのかいな
160 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 14:10:42.72 ID:EmNi4jHz.net] よくある、co-op型の対戦ゲームや、協力型ゲームは サーバー兼クライアント形式で同期(チュートリアルと同じ) MMO、MO、FPSなどは、C/S方式で、特定範囲のキャラクター同士 あるいは、ルームにいるキャラクターにのみデータ送受信。 このような考え方をしていたのですが、根本的に自分がネットゲームの 概念が間違っているのでしょうか?FPSやMMOって1サーバーに 数十〜数百人が接続してると思うのですが、1プレイヤーが動いただけで 全ユーザーにデータを送信したらサーバー回線に負担がかかると思って いたのですが。
161 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 15:11:31.92 ID:F2qWqBIY.net] >>154 全員に送ろうが一部に送ろうがC/SはC/Sでしょ
162 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 15:14:27.48 ID:llRDgG//.net] >>154 根本的な話じゃないけどFPSはロビーでマッチング後にP2Pになるものが多いし MOもものによってはそうなるね
163 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 15:25:54.48 ID:QQ9OX2Sr.net] >>154 MMOは全員に送る必要があるけど、すべての情報を送るわけじゃ無い。 見えていないキャラクタの情報は送らないとかの工夫がされている(というかサーバサイドの処理がLocationのEchoだけじゃない) FPS系はメインのサーバはマッチング(ロビーサーバ)だけ行って、クライアント側がゲーム中にサーバ(ゲームサーバ)として機能する 一部のFPSだとサーバ役が抜けたり回線落ちしても継続可能なように接続されていたクライアントがセカンダリサーバになったりするような工夫もあったりする。
164 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 15:48:16.61 ID:F2qWqBIY.net] MMOはサーバ上だけでゲームが進行してるわけで クライアントは自分の必要な情報を要求したりアクションを送ってるだけ この部分はUnityの守備範囲外だから、、アセットにはあるかもだが
165 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 16:15:02.04 ID:EmNi4jHz.net] 回答有り難うございます。 >>155 確かにそうですね。 >>156 >>157 自分が以前やっていたFPSはP2Pが廃止とかされていたので、 MOやFPSはサーバーで処理されて送受信のみをクライアントでやっていると 思っていたのですが、レスから察するにリレーサーバーを使った擬似P2Pのように なっていたのかもしれませんね。チュートリアルのままではサーバーが落ちたら クライアントはお手上げなので、登録型にして落ちやすい人はホストにしないとか、 接続が切れても続行できるように工夫してみたいと思います。 >>158 MMOのチュートリアル動画でUnetではなく、c#でサーバーのコードを書いてる人が居たのは そのためだったんですね。アセットなども探してみます。
166 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 23:24:08.83 ID:chluFFqp.net] 送信フレーム単位でのゲーム世界の情報があって、 それをパッケージしたものをユーザーの影響範囲ごとに等しく送るイメージだった
167 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 23:28:46.03 ID:nfrCzEjX.net] プログラマーと言うよりもゲーマー的な思考の人が多すぎ 本気でゲーム作るつもりならきちんと基礎は学んだほうがいいよ
168 名前:名前は開発中のものです。 mailto:sage [2016/01/20(水) 23:50:12.05 ID:qftZA2Do.net] InputFieldについて教えてください InputFieldに入力した文字列をボタン押下でtextに表示したいのですが 日本語入力をすると確定時に文字が二重で表示されてしまいます 例)「ゴリラ」→「ゴリラゴリラ」 どのように対処するべきでしょうか? public void OnButton() { text.text = inputfield.text; }
169 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 00:22:51.76 ID:/AFrWo2g.net] 学名みたいで草
170 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 00:25:28.03 ID:Qsrq/khY.net] >>162 その代入してるとこにログでも差し込んでホントにゴリゴリなってるか見てみた?
171 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 04:11:21.20 ID:E46BlbkM.net] RectMask2Dが動いてくれない Canvas └ Mask(空gameobject) →RectTransform、RectMask2Dを設定済み └ 抜いた先に見える予定の絵 これを実行するとMaskが効かず普通に絵が全部見えてるんだけど 何が悪いか分かる人いますか
172 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 04:17:32.39 ID:E46BlbkM.net] 書いた直後に自己解決しました Spriteじゃなくて、UIのImageでやったら出来た
173 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 15:29:57.49 ID:B5LCX1Zf.net] 前スレで話に挙がった、透明度の一括変更なんかもImageじゃないとダメだっけね
174 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 16:02:38.86 ID:mkwT5Bp5.net] おすすめの参考書とかありますか?
175 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 16:22:05.66 ID:B5LCX1Zf.net] それだけ言われても、公式見ろとしか返せんぞ
176 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 16:33:26.43 ID:tfp/bifY.net] 実際に公式が一番情報量多いんだから仕方ない 日本語公式チュートリアルの2Dシューティングさえも理解できないレベルなら初心者本見てみるのも一興だけど
177 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 16:36:24.70 ID:M/1mm2Jv.net] 2dRectMaskはシェーダで処理してるから 対応するSprite向けのシェーダを書けば使える気がする 試してないけど
178 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 17:41:36.67 ID:js6IWsbH.net] ノウハウ本とかなら需要あるんだろうけど、 そうなってくると大体企業のセミナーとかになるよな どうせ水物だからすぐ変わってしまうんだろうけど
179 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 18:18:05.22 ID:CKuK/WdP.net] UNET、ざっと触ったけどPhotonより良いね。 serverのコードもUnityで組めるし、NPCとかはserver側で簡単にコントロールできるね。 あとはlamp環境に繋げて上手くいけばMMOも作れるんじゃ無いかな。 アトリビュートが結構多いけど、お約束みたいな物だし、サーバはlampじゃなくてwindowsでも良いってのが楽だね。 とりあえず、今は実験段階だけどよさそう。 Photon同様、シーンシンクロ機能もあるっぽいね。
180 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 18:18:24.68 ID:YKebtJOw.net] private Number_type[] _Number_type = new Number_type[4]; void Start() { Numberset(); } void Update() { Debug.Log(_Number_type[1].Number_name); } class Number_type { public string Number_name; public string Number_Characteristic; public string Number_Description; } void Numberset() { Debug.Log("Start"); _Number_type[0].Number_name = "てすと0"; _Number_type[1].Number_name = "てすと1"; _Number_type[2].Number_name = "てすと2"; _Number_type[3].Number_name = "てすと3"; } 上記のようにスクリプトを書いて、デバッグをログを出させたのですが、想定だと「てすと1」と出るはずがNullが帰ってきてしまいます。 「てすと1」が帰ってくるようにしたいのですが、どうすればよいでしょうか
181 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 18:35:49.62 ID:NXyXWqdf.net] >>174 void Numberset() { Debug.Log("Start"); for(int i=0;i<_Number_type.Length;i++){ _Number_type[i]=new _Number_type(); } _Number_type[0].Number_name = "てすと0"; _Number_type[1].Number_name = "てすと1"; _Number_type[2].Number_name = "てすと2"; _Number_type[3].Number_name = "てすと3"; }
182 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 19:00:15.89 ID:PXVR1dUV.net] オブジェAに、タグ"Player"を設定したオブジェB が接触したら"pointCounter=1"にし、 接触がはずれたら"pointCounter=0"にしたく、 下記のように記入したのですが、 "1"にはなるのですが、接触が外れたさい"0"にはなりません。 どのように書けばよいでしょうか? 宜しくお願いいたします。 var cleared:boolean; var clearPoint:int=1; var pointCounter:int=0; function Start () { cleared=false; pointCounter=0; } function Update(){ if(pointCounter>=clearPoint)cleared=true; else cleared=false; } function OnTriggerEnter(other:Collider){ if(other.gameObject.tag=="Player")pointCounter=1; else pointCounter=0; }
183 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 19:30:11.37 ID:NXyXWqdf.net] >>176 function OnTriggerEnter(other:Collider){ if(other.gameObject.tag=="Player")pointCounter=1; } function OnTriggerExit(other:Collider){ if(other.gameObject.tag=="Player")pointCounter=0; }
184 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 19:44:43.06 ID:PXVR1dUV.net] >>177 ありがとうございます!
185 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 20:29:23.37 ID:YKebtJOw.net] >>175 あぁ、見てわかりました。 インスタンス化ってやつですね…… すっかり忘れてました。ありがとうございます。
186 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 21:20:43.94 ID:VfzMyPLt.net] 公式か ありがとう 皆さんがどうやって勉強したのか気になって…
187 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 21:52:34.57 ID:CIl6oh9K.net] タッチザナンバーみたいな物を作ろうと思うのですが 正しい順番にタッチをするとオブジェクト破壊がされて 順番を間違えるとオブジェクトが再作成されるようにしたいのですが デストロイでオブジェクトを破壊すると再作成時にエラーが発生します 何処かに参考になる文献などはないでしょうか。
188 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 22:21:43.49 ID:NXyXWqdf.net] >>181 エディタ上で手動配置したものを参照して再作成しようとすればそうなる。 プレファブを使うべき。
189 名前:名前は開発中のものです。 mailto:sage [2016/01/21(木) 22:38:03.36 ID:B5LCX1Zf.net] 時間差で3回爆発するエフェクト(Spriteを利用)を作りたいと思います。 爆発のゲームオブジェクトを3つ用意し、それらを1つの親オブジェクトの下に置くという形です。 0.5秒の間隔を空けて、それぞれ1秒かけて爆発するとします。(最初の爆発から2秒後に全終了) 3回の爆発が終わっったら、親オブジェクトをDestroyしたいと思っています。 このとき、どのような仕様にするのがスマートでしょうか。 (1)生成後、親が2秒後以降に自殺する (2)3つ目の爆発オブジェクトから、親をDestroy()する (3)親が子オブジェクトの状態を何らかの方法で監視して、全終了後に自殺 (4)その他、良い案があればお願いします >>181 エラーが出るならそのエラーメッセージを添えましょう。 それはさておき、各数字パネルを1つの親オブジェクトの下に置いてプレハブ化、 それをDestroy&Instantiateでいけない?
190 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 00:07:30.46 ID:bpDx3HHV.net] >>183 「どれでもいいのに君自身は何が気になっているのだろうか」ということではないかと思う。 一番単純なのは1のはずだ。 しかし何故2や3を思うかといえば例えば ・爆発の長さを変えたい ・何回爆発するかを変えたい という仕様変更を容易にしたほうが別の場面で再利用できるかもしれないし ゲーム的な調整でも必要になるかもしれない、という話なのではないかと思う この手のものは色々考えようもあって例えばエフェクトジェネレータ的な包括的管理オブジェクトを作っておいて それに「この場所に何番のエフェクトを出してくれ」と要求するとかそういうのもありうる。 どの種類の爆発が何回起こったのかとかそういう統計を取ったりしたけりゃそういうのがスマートだ。 大規模なゲームになったりあるいはゲーム内で色んなデータをスコアに利用したり やろうとすればするほどそういう包括的な仕組みは必要になってくるし 逆にプロトタイプや小規模ゲームでそんなことを考える必要はない。 その手法がスマートか、はそのゲームの開発で何が必要とされているのか、と関連付けて 考えるべきなのでそれだけ提示されてもどれがスマートかとはいえないのではないか。
191 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 00:13:29.76 ID:2TuPGH+X.net] ありがとう、確かにそうだな
192 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 06:56:54.99 ID:In9XXmPX.net] >>181 そもそもデストロイする必要がある設計なの? 正解なら非アクティブにすれば良いのでは? 生成と削除を繰り返す様なシーンはなるべくそうしてるけどな
193 名前:名前は開発中のものです。 [2016/01/22(金) 08:23:48.99 ID:8IWrF892.net] マリオのようなスクロールアクションを作るとして、 各ステージで使うコントローラとか基本的に一緒ですよね。 その場合、各ステージ(シーン)に同じオブジェクトをコピペで配置してますか?
194 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 08:45:45.68 ID:2TuPGH+X.net] それでいいと思うけどプレハブ化しておこうぜ DontDestroyOnLoadで使い回すなり、LoadSceneのAdditiveにするなり、 ステージをシーンに分けずにマップデータを読み込んで生成するようにするなりでも良さそうだけど
195 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 08:52:25.31 ID:3mP0Vk/8.net] 空のGameObject(Player)にPlayerのモデルデータ(FBX)を下位に配置して、 表示非表示を切り替えようとしたんですが、 GameObject gObj = GetComponentInChildlen<PlayerModel>(); とかやって、Re
196 名前:nderer.enabledをtrue/falseにしたり、 MeshRendererを取得しようとしてもFBXにMeshRendererが無いから取得できないのですが、 親のGameObjectから子のGameObjectのFBXを表示・非表示にするにはどうすれば良いでしょうか? 今はしょうが無いので、一端Destroyしてます。 [] [ここ壊れてます]
197 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 09:21:32.11 ID:bpDx3HHV.net] >>189 GameObject gObj = GetComponentInChildlen<PlayerModel>(); これ、コンパイル通ってんの?w Playerの子供になってるオブジェクトが一つなら transform.GetChild(0).gameObject.SetActive(false); とかでいい。 名前がわかってりゃ transform.Find("childname").gameObject.SetActive(false); とかでもいいし。 GetComponentInChildrenを使うなら GetComponentInChildren<MeshRenderer>()とかだが 直下の子供しか見て回ってくれないから その下にあるとかもっと階層化されてるとかだと 自分で再帰関数とか作って拾ってくるしかないね
198 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 09:56:45.34 ID:OEWENA1Y.net] >>190 >直下の子供しか見て回ってくれないから GetComponentInChildren<T>()は深さ優先探索で子孫ノードすべてから探索される、再起関数を書く必要はない
199 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 10:17:36.21 ID:bpDx3HHV.net] そのとおりやった、デマ流して済まん…。
200 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 10:30:15.68 ID:3mP0Vk/8.net] ありがとうです。setActiveだと物理エンジンが消えてしまうので、ためらってましたが、 よくよく考えたらRiggedBodyとコライダーは空のGameObjectに付いているので、おっしゃられる方法で問題ありませんでした。 サンクスです。
201 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 10:40:00.07 ID:3mP0Vk/8.net] そういえば、これ、FPSのスナイプモードの時の実装なんですが、自分の銃がPlayerModelの子オブジェクトなんですよね。 そこにスクリプト付けてましたが、実装方法変えてみます。どんな方法が良いと思いますか? 教えてちゃんですみません。
202 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 10:43:25.33 ID:3mP0Vk/8.net] 簡単な方法としては、銃のモデルは変更してsetActiveでfalseにして、 マズルフラッシュと発射位置と玉の管理を大本でやれば良いんですかね?
203 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 10:46:52.00 ID:3mP0Vk/8.net] マルチプレイ対応なので、isMineとかで自分がスナイプモードの時だけSetActiveをします。ありがとです。
204 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 11:56:16.60 ID:9ujOu186.net] >>192 GetComponentInChildren じゃなくて GetComponentsInChildren にしないと全収集ができないので 189の要望を満たすならデマどころか間違いじゃなかろうか
205 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 11:58:29.74 ID:9ujOu186.net] >>ID:3mP0Vk/8 とりあえず考えの整理を行いたいならここじゃなくて メモとかOneNoteにでも書いておくのをお勧めするよ
206 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 13:49:28.35 ID:FablMv5z.net] >>197 元発言を見るにひとつ取れればいいからそこは問題ないのでは?
207 名前:名前は開発中のものです [2016/01/22(金) 14:53:43.25 ID:nrQcArGu.net] 2Dゲーム開発中のものです。初心者の初歩的な質問に答えて下さりありがとうございます。 今回は、プレイヤーが特定の位置に移動するとマップを移動するシーン移動について 聞きたいのです。 空のゲームオブジェクトに、Colliderをつけて下のスクリプトを付けてマップに設置したのですが プレイヤーが当たってもシーンが移動しません。 スクリプトが間違っているのか、そもそも方法が間違っているのか教えて下さい。 using UnityEngine; using System.Collections; public class SceneChange : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void OnCollisionStay ( Collision collision ) { if (collision.gameObject.tag ==
208 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 15:36:55.47 ID:9ujOu186.net] >>199 fbxから作られるプレハブが MeshRendererをもつGameObjectが1個になるとは限らないですし >>200 ・シーン切り替え自体は単独で動作しているか ・colliderの接触は正しく出来ているか? ・質問を途中で送信して放置していないか?
209 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 16:24:07.02 ID:3mP0Vk/8.net] どうにか事故解決しました。 それと、実装方法の質問ですが、FPSで武器を持ち帰るとき、モーションなどが変わりますよね? 僕は無駄なメモリ使ってますが、全ての武器用にプレファブ作って変更していますが、 これでは複数の武器を持ったときに対応できませんよね? 本体1体、アニメパターン群を数個、武器も数個って感じでやるのが良いかなと思いましたがどうでしょうか?
210 名前:名前は開発中のものです [2016/01/22(金) 16:37:18.90 ID:nrQcArGu.net] >>201 途中で送信してました・・・スクリプト切れてる・・・。 using UnityEngine; using System.Collections; public class SceneChange : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void OnCollisionStay ( Collision collision ) { if (collision.gameObject.tag == " Player") Application.LoadLevel("road"); } } です。==から切れてました。 clliderの接触は大丈夫です。Is Triggerにチェックしています。 すいません、シーン切り替えの単独動作はどうチェックすれば良いでしょうか。デバック?
211 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 20:39:47.58 ID:bnWcsdXZ.net] javascriptで書いています。 他のオブジェクトのスクリプト"GoalScript"を参照し、 2秒後に一度だけ"cleared"かどうか確認したいのですが どのように書けばよいでしょうか? 下記が現状のスクリプトですが、 2秒後から常に確認する形になってしまいます。 宜しくお願いいたします。 function Start () { if(!goalObj00){ goalObj00=GameObject.FindGameObjectWithTag("Goal00_01"); } goalScript00=goalObj00.GetComponent(GoalScript); collision00_mdl.SetActive(false); function Update () { StartCoroutine("Wait"); } function Wait(){ yield WaitForSeconds(2.0); if(goalScript00.cleared==true){ collision00_mdl.SetActive(true); } }
212 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 21:06:04.94 ID:OEWENA1Y.net] >>204 そりゃあ毎フレーム2秒後に処理を呼んでいれば毎フレーム2秒後が来るよな Waitの中身をwhile(true){}で囲んでStartで一回だけコルーチンを走らせればおk
213 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 21:08:03.41 ID:9ujOu186.net] >>204 Update() で毎回フレームコルーチン作ってるからでしょ Start()で発生させればいいよ Update() の振る舞いが理解できてないならチュートリアルか初心者本をどうぞ
214 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 21:50:52.02 ID:IFIoAPGo.net] >>204 もしくは InvokeRepeating使うとかね
215 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 22:14:11.62 ID:WQ0m4g5c.net] 超どうでもいい事かもしれないけど、 このスレにお世話になりそうなので報告 (人によっては大いに役立つ情報なので一読して) ------------------------------------------- だいぶ前のスレの話だけど、 アプリをAppStoreに出品するためにまず 「Apple Developer Program」に登録する必要があり、 その費用である \11,800 (税込 \12,744) を払う必要があり、 その支払方法が ・クレジットカードのみしかできない ・ギフトカードでもOK 等、議論があった。 ============== 正解は・・・ ============== 現時点の段階で支払方法は2種類あり、 ひとつはもちろんクレカで、 もう一つは「Apple Storeギフトカード」でいける。 注意点は「Apple Storeギフトカード」はコンビニとかで売ってる「iTuneカード」とか「App Storeカード」では無いという事 「Apple Storeギフトカード」はオンラインのAppleStoreで買える AppleStoreの支払い方法が クレカ、 銀行振込、 コンビニ払込、 代金引換 の4つ。 つまりクレカ持っていなくても大丈夫というのが結論。 ちなみに、企業でもクレカを嫌がる(様々な理由で)場合があるので、クレカ以外の支払い方法は かなりアリガタイらしい 以上、長文失礼
216 名前:名前は開発中のものです。 mailto:sage [2016/01/22(金) 22:47:32.37 ID:2TuPGH+X.net] ここは質問スレなんだ
217 名前:名前は開発中のものです。 mailto:sage [2016/01/23(土) 00:04:40.91 ID:1IDtmiqG.net] >>209 速く質問しろカス
218 名前:名前は開発中のものです。 mailto:sage [2016/01/23(土) 00:07:15.21 ID:udwg+4cB.net] お前を消す方法
219 名前:名前は開発中のものです。 mailto:sage [2016/01/23(土) 10:59:16.65 ID:SWPEQbI0.net] クレカ作れない人って結構いるからね
220 名前:名前は開発中のものです。 mailto:sage [2016/01/23(土) 17:01:24.74 ID:oM6xCn14.net] コルーチンは疑似マルチスレッドで、startかawakeで一回呼べばok。 もしくはupdate系で自分でカウントして2秒ごとに実装するとか。
221 名前:名前は開発中のものです。 mailto:sage [2016/01/23(土) 17:04:58.10 ID:QZktbIfP.net] コルは協調形スレッド
222 名前:名前は開発中のものです。 mailto:sage [2016/01/23(土) 22:43:26.60 ID:LarTJGWO.net] みんなwindows?mac? どっちで作ってますか?
223 名前:名前は開発中のものです。 mailto:sage [2016/01/23(土) 23:08:50.07 ID:pY9kflSE.net] 俺はwinだよ!
224 名前:名前は開発中のものです。 mailto:sage [2016/01/23(土) 23:12:16.04 ID:2vudtTZg.net] >>215 iOS向けに頻繁に実機ビルドするのでメインはMac 遊び用を兼ねたサブノートがWinだね
225 名前:名前は開発中のものです。 mailto:sage [2016/01/24(日) 00:05:59.37 ID:V0lCEbx3.net] android実機デバッグすると異様にfpsが下がるというかカクカクします (みたかんじ10fpsもでてないように見えます) 端末のcpuはかなり余裕があるっぽいのですが なにがいけないんでしょうか。webプレイヤーではぬるぬる動くのですが… スプライトの画像を表示しないとき透明にしてるとか、スプライトの重ね数が 多いとか(いうても30個もないと思います) 3Dオブジェクトは多分一個も使ってないです。抽象的ですいません
226 名前:名前は開発中のものです。 mailto:sage [2016/01/24(日) 00:23:35.44 ID:cMSpNNWS.net] >>218 Androidってデバッグビルドは開発環境によらず遅いよ ブレークポイント必要なデバッグでないならLog出力でリリースビルドにするのが吉
227 名前:名前は開発中のものです。 mailto:sage [2016/01/24(日) 01:05:57.50 ID:sJ3+IwCN.net] 初代エクスペリアとか使ってんじゃねーのか
228 名前:名前は開発中のものです。 mailto:sage [2016/01/24(日) 02:51:21.51 ID:V0lCEbx3.net] 218です >>219 unityから端末にusbでつないでbuild and runしてます。(多分リリースビルドしてるはず…) build settingは google Android projectのチェックなし、 Development buildのチェックなしです。 >>220 最近の1.2Gクアッドコアです
229 名前:名前は開発中のものです。 mailto:sage [2016/01/24(日) 05:47:30.18 ID:xJ3rUGlS.net] WinメインだけどWeb用に出力するときだけMac 我ながら、凄くマヌケなことしてると思う
230 名前:名前は開発中のものです。 mailto:sage [2016/01/24(日) 09:27:38.23 ID:SzmD//FV.net] >>222 何か違いがあるの?
231 名前:名前は開発中のものです。 mailto:sage [2016/01/24(日) 11:51:03.80 ID:Iopy5bJJ.net] >>221 Unity5から標準になったopengles3.0が悪さしている可能性あり androidのビルドセッティングのauto graphics APIのチェック外して、opengles2.0のみにしたら治るかも unity4なら分からない、スマソ
232 名前:名前は開発中のものです。 mailto:sage [2016/01/24(日) 12:37:10.29 ID:V0lCEbx3.net] 221です >>224 ありがとうございます。 該当箇所のチェックを外してopengl2だけにして転送してみましたが状況変わらずでした 背景に使っている画像の重なり数やα重なりが多いと重くなるみたいなのを見たので 非表示時にスプライトを不透明アニメさせてたのをやめて、スプライトをオブジェクト化して オブジェクトの非アクティブ可でやってみたところ負荷がかなり軽くなりました!!! …作り方そのものが悪かったみたいでぐぬぬ。お騒がせしましたmOm
233 名前:名前は開発中のものです。 mailto:sage [2016/01/24(日) 12:37:23.18 ID:SzmD//FV.net] 質問です! blenderから.blendファイルをunityにインポしたとき90度ほど回転した状態となるんですが blenderからunityにそのままもってくる方法はありますでしょうか。
234 名前:名前は開発中のものです。 mailto:sage [2016/01/24(日) 13:19:05.14 ID:wL9tDh9x.net] 空のgameobject作って、その下に配置して90度回転が楽。