1 名前:名前は開発中のものです。 [2015/06/16(火) 01:35:14.74 ID:VIGyPiQQ.net] 3Dゲームエンジン「Unity」の質問に優しく答えるスレです。 Windows/Mac用。JavaScript/C#/Booといった汎用言語を使用できるのが特徴です。 フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。 プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他 次スレは>>970 を踏んだ方が建てること。ダメなら>>980 か>>990 が建てて下さい。 ■前スレ 【3Dゲームエンジン】Unity質問スレッド16 peace.2ch.net/test/read.cgi/gamedev/1425192691/ ■本スレ 【3Dゲームエンジン】Unity総合スレッド26 peace.2ch.net/test/read.cgi/gamedev/1429375487/ ■Unity 2ch Wiki(まとめ、過去ログ、リンク集) www24.atwiki.jp/unity2ch/ ●リンク ・Unity(日本公式サイト) unity3d.com/japan/ ・ユーザーガイド&リファレンス japan.unity3d.com/developer/document/ ・チュートリアル japan.unity3d.com/developer/document/tutorial/ ・スクリプトリファレンス docs-jp.unity3d.com/Documentation/ScriptReference/ ・FAQ answers.unity3d.com/index.html ・MSDN msdn.microsoft.com/ja-jp/ms348103 ←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
205 名前:名前は開発中のものです。 mailto:sage [2015/07/02(木) 12:05:17.42 ID:9mmQht1k.net] >>204 あーこっちのほうが全然スマート…! 球が動くことはないのかー
206 名前:名前は開発中のものです。 mailto:sage [2015/07/02(木) 12:46:54.75 ID:+6D1BM3E.net] >>200 自分でシェーダー書けるのであればステンシルマスクを使うのが楽だと思います。 docs.unity3d.com/ja/current/Manual/SL-Stencil.html
207 名前:199 mailto:sage [2015/07/02(木) 14:29:24.95 ID:0FVq/sU/.net] >>204 オブジェクトとしてそもそも球体全体を作らないということでしょうか? 球体は地球儀のようなテクスチャで、上下左右にドラッグしてぐりぐりさせたいのですが、 球体全体を作らない場合に、継ぎ目をちゃんと合わせられるでしょうか? >>206 なんだか難しそうですがマスクの概念でもできそうですね、勉強してみます
208 名前:名前は開発中のものです。 mailto:sage [2015/07/02(木) 14:50:55.61 ID:GsASYuwZ.net] >>207 ・普通に球でテクスチャをマップして作る ・見えない領域の頂点を削除 ・箱に収まり窓から見える位置にそれぞれの球面を移動 これでできるでしょ そもそもだけど完成予想図がイマイチわからんから こっちも想像でこたえている、という前提を忘れないでね
209 名前:名前は開発中のものです。 mailto:sage [2015/07/02(木) 18:45:52.17 ID:cd742j2u.net] photonのCCUについて質問なのですが、 >CCU(Concurrent Users) とは、ゲームにおいて同時接続ができるユーザー数です。 とありますが、「同時接続」とはどういう定義でしょうか? 2人対戦型ゲームで、1つのルームに2人接続されたら開始されるゲームの場合は 「同時接続数は2」という事ですか? それともフロアに何人入れるか(ゲームプレイは関係ない)?という意味でしょうか? もしそうなら無料プランのCCU20っていうのは本当にお試し程度のもので、実用できる プランではないという事ですよね?
210 名前:名前は開発中のものです。 mailto:sage [2015/07/03(金) 09:16:18.22 ID:8OM1Dhcw.net] >>209 lobbyの接続数であってるはず 仲間内で楽しむくらいの数だよね ロビーがほぼ意味無いので、同時プレイヤー20で終わりということだね photonについてはfacebookグループにGMOのひとが答えてくれるので そっちが詳しく教えてくれるよ
211 名前:名前は開発中のものです。 mailto:sage [2015/07/03(金) 14:36:01.18 ID:1WxMzJv0.net] >>210 ありがとうございます 一週間くらいPUN弄ってて、やりたいオンゲもできたし PUNの仕様も分かりやすくて良いなと思ってたんですが、まさか20人程度しか 接続できないなんて・・・ PUN使ってオンゲ作ってる人少ないんですかね お金をかけず、かつ数千〜数万単位の接続を考慮する場合って PUNではなく自前でサーバ用意してnode.js使う必要があるんでしょうか?
212 名前:名前は開発中のものです。 mailto:sage [2015/07/03(金) 16:00:58.76 ID:1LBsfv/s.net] 自前でサーバ用意したらお金かかるじゃん 保守大変じゃん
213 名前:名前は開発中のものです。 mailto:sage [2015/07/03(金) 16:40:50.84 ID:39624fgJ.net] お金かけずに数万の接続処理したいという発想が意味わからん。 それだけのユーザーに迷惑かける可能性があるんだしそれくらいけちるなよと思う。
214 名前:名前は開発中のものです。 mailto:sage [2015/07/03(金) 16:44:09.51 ID:e5zMQYTu.net] 「お金をかけず、かつ数千〜数万単位の接続を考慮する」とか言ってる時点でお察しなんだよなぁw
215 名前:名前は開発中のものです。 mailto:sage [2015/07/03(金) 17:31:03.78 ID:/Be8+OaO.net] レス文体だけは丁寧だけど中身はちぐはぐな最近よく来る例の子でしょ
216 名前:名前は開発中のものです。 mailto:sage [2015/07/03(金) 18:35:29.87 ID:BUbt07lB.net] 実際やってみると同接20って1日100ユーザーくらいいけるし 1000枚くらい売れたりしたら1.7万払って 500同接買えばいいんじゃない? 自前でもっとサーバ側書くなら、parce.comならもう少し無料枠大きいけど、通信容量や速度、なによりサーバ側コードの記述が段違いだよ
217 名前:名前は開発中のものです。 mailto:sage [2015/07/03(金) 18:41:04.14 ID:BUbt07lB.net] ちなみにphotonの1万同接、月に400万ユーザー月33.7万円っての自前で構築すると サーバだけで月20万円、構築費用はテクにもよるが…どこかの会社に依頼しても100マン以下は無いだろうな
218 名前:名前は開発中のものです。 mailto:sage [2015/07/03(金) 18:48:05.24 ID:BUbt07lB.net] いいこと考えた 自宅に要らないWindowsがあるならphoton server を建てるといい 自鯖なら100同接まで無料だし ポート開けたりもしかしたら固定IP取るの大変かもだけど無料で100ccuならデイリー8000人くらいいける なおレンタル鯖だと月に3000円からの模様
219 名前:名前は開発中のものです。 mailto:sage [2015/07/03(金) 19:16:40.06 ID:1WxMzJv0.net] >>216 >同接20って1日100ユーザーくらいいける そうだったんですか・・・ 勘違いしていたようです、申し訳御座いませんでした
220 名前:名前は開発中のものです。 mailto:sage [2015/07/03(金) 19:23:23.38 ID:gN2xIQc5.net] 冗長性確保するコストを考えたら自鯖はつらいわ
221 名前:名前は開発中のものです。 mailto:sage [2015/07/03(金) 22:39:40.37 ID:Tbi6Gbfx.net] 素人には見当付かないけど一万同接あるコンテンツってかなりすごいよね? 一万同接あるコンテンツがマネタイズされた時、いくら程なんですかね?その、収益的にw
222 名前:名前は開発中のものです。 mailto:sage [2015/07/03(金) 23:25:42.99 ID:7dQagYwU.net] ぼくにもそんな接続してもらえるアプリのアイデアください
223 名前:名前は開発中のものです。 [2015/07/04(土) 02:02:04.85 ID:r+Gy3W2P.net] 同時接続1万ってアクティブユーザーが10万人くらいいるって事だろ その規模のアプリ作る人間のする質問じゃ無いな
224 名前:名前は開発中のものです。 mailto:sage [2015/07/04(土) 02:49:03.56 ID:f4Q3vsDP.net] 月1000円くらいで借りれる安いレンタル鯖だと、同接50もいったら落ちそう まあアレはひとつの鯖に20-50人くらい同居させてるから全体で200同接とかそんな感じ それに読込のときだけ通信するwebサーバと つねにデータ送りまくるゲーム鯖と別物だしね
225 名前:名前は開発中のものです。 mailto:sage [2015/07/04(土) 05:22:29.23 ID:UqEwBzv0.net] 今Elixirつかってロビーサーバ書いてるから半年位後にGitで公開できたらいいな RDB負荷除けばChatとロビーだけで同時接続2万をEC2のMicroインスタンスでまかなえるのは負荷試験でチェック済みなんだ
226 名前:名前は開発中のものです。 mailto:sage [2015/07/04(土) 15:03:35.02 ID:bvHttZCu.net] 最近C#勉強中の俺には意味不明なレベルの流れw やっぱり持ちは餅屋だよな〜、ドラクエとかでも転職すると微妙なことになるし
227 名前:名前は開発中のものです。 mailto:sage [2015/07/04(土) 15:11:08.65 ID:31uFxRle.net] C#なんか勉強しても無駄だぞ Unityで使うC#なんてGetComponent<>();覚えておきゃおk
228 名前:名前は開発中のものです。 mailto:sage [2015/07/04(土) 15:18:25.51 ID:kH0hhukh.net] たまに来るunityのC#はカスってレスしてくる人は何が目的なの? unityよりネイティブやってる自分たちが偉いとか凄いという選民主義の人?
229 名前:名前は開発中のものです。 mailto:sage [2015/07/04(土) 15:26:01.62 ID:ZVUl7lof.net] Unity流のC#の使い方があるから、UnityだけでC#使うならUnity上で勉強したほうがはやいと思うよ。 もちろんC#を勉強するのも無駄ではないと思う。
230 名前:名前は開発中のものです。 mailto:sage [2015/07/04(土) 15:26:33.47 ID:31uFxRle.net] 何を誤解してんだ、逆の事言ってるのに
231 名前:名前は開発中のものです。 mailto:sage [2015/07/04(土) 15:28:38.53 ID:31uFxRle.net] >>230 は>>228 宛ね
232 名前:名前は開発中のものです。 [2015/07/04(土) 15:29:10.44 ID:TEc/4w+I.net] まぁ実際C#というかコードベースで設計すると、unityで使う時に痛い目みるし、気持ちわりーと思いながらもUnity流に合わせなきゃいけない場面はあるよな
233 名前:名前は開発中のものです。 mailto:sage [2015/07/04(土) 16:26:44.16 ID:Lu6BZ8Vo.net] なんか癖でエンジン側のコード制約とロジック分けようとしちゃってるんだが 遅々として進まないのはそのせいなのかやる気の問題なのか
234 名前:名前は開発中のものです。 [2015/07/04(土) 17:37:13.14 ID:UJRa789r.net] すみませんちょっと質問なんですが、OnTriggerEnter2Dを使っていた時は、物体が同時に当たっても、一回の処理だったんですが、 OnTriggerEnterを使い出したら、敵を撃った時のポイントが同時に当たった回数分加算されるようになっちゃったんですが、これの回避方法ってありますか?
235 名前:名前は開発中のものです。 [2015/07/04(土) 18:31:02.54 ID:iorF/M6u.net] Uguiでprefabからダイアログボックスぽく作って、instanateして画面のCanvasの上に表示されるようにしたのですが、この時、ダイアログの後を触れないようにするのはどうしたら良いのですか?
236 名前:ss- mailto:sage [2015/07/04(土) 20:07:06.86 ID:v77ABms+.net] UnityのC#変だよなー もともとC#やってればやってるほど違和感
237 名前:名前は開発中のものです。 [2015/07/04(土) 20:20:07.76 ID:iorF/M6u.net] Interactive = false でやるのが良さそうですね。 これでちょっとやってみる。
238 名前:名前は開発中のものです。 mailto:sage [2015/07/04(土) 23:11:40.64 ID:m6qGisVe.net] 初心者過ぎて笑ってしまうかもしれませんが、キャラクターを床に置く方法を教えてください iup.2ch-library.com/i/i1461463-1436018592.png この画像の通りにUniti-Chanを床よりちょっと上に配置しているのですが、動かすと床を突き抜けて落ちて行ってしまいます 一方の奥にある立方体はちゃんと床に乗っかります どこの辺りが変なのでしょうか?
239 名前:名前は開発中のものです。 [2015/07/04(土) 23:22:32.72 ID:iorF/M6u.net] コライダが付いてないだけじゃないの?
240 名前:名前は開発中のものです。 mailto:sage [2015/07/04(土) 23:53:13.75 ID:m6qGisVe.net] >>239 追加したところ立てました ありがとうございます
241 名前:名前は開発中のものです。 mailto:sage [2015/07/05(日) 02:32:55.12 ID:IFXl70lt.net] unity本スレから誘導されてきました。 blenderで3Dモデリング完了 unityでインポートしたがシェーダー関連が引き継げないことを知る 仕方ないのでShader Forgeをアセットストアで買う チュートリアルやサンプルが少なすぎて使い方がいまいちつかめない という状況なのですが、チュートリアル以外の動画が探しても見つからず、 参考になるようなデータも見つからずに困っています。 blenderで適用したシェーダーもしくは、Shader Forgeの使い方や応用を 乗せているサイトや動画などをお持ちの方、教えてください。
242 名前:名前は開発中のものです。 mailto:sage [2015/07/05(日) 02:53:13.55 ID:lE3CLu/W.net] Blenderに限らずMayaとかでもカスタムしたようなシェーダは引き継げない。 FBXはLambertとPhongシェーダしかサポートしていない。 ShaderForgeに関しては公式のドキュメント見てわからんとか言われると何がわからないのかがさっぱりわからん Blenderでカスタムシェーダ組んでる人間なら「見りゃわかる」レベルだろう www.acegikmo.com/shaderforge/nodes/
243 名前:名前は開発中のものです。 [2015/07/05(日) 13:38:15.06 ID:V0HHXtNH.net] アセっトやプラグインを追加するとき、 フォルダ構成を確認されますが、 なんのアセっトが何を追加したかわからなくなります。 解決方法ってありますか?
244 名前:名前は開発中のものです。 mailto:sage [2015/07/05(日) 13:47:46.56 ID:XWYklhdH.net] 単にフォルダの問題じゃねえか 何インポートしてるかも判らんような奴は何も無いとこにインポートしろ もしくは既存のをどっかにまとめておけ
245 名前:名前は開発中のものです。 mailto:sage [2015/07/05(日) 14:13:24.89 ID:f484USh4.net] 識別したいのならラベル付けるとかだな つかググれば直ぐ判るようなことを何度も何度も、かまって君か覚え始めて嬉しいリア厨か まあ相手するほうも悪いんだけど
246 名前:名前は開発中のものです。 mailto:sage [2015/07/05(日) 14:18:35.87 ID:lE3CLu/W.net] もはやUnityとか全く関係ねぇw デスクトップがちらっかっちゃうんですけど〜、 みたいな話だw
247 名前:名前は開発中のものです。 mailto:sage [2015/07/05(日) 16:55:33.22 ID:hnU3dcID.net] 本を買ってみたんだけど、普通のプログラミングと違って動画じゃないとわかりづらいな
248 名前:名前は開発中のものです。 mailto:sage [2015/07/05(日) 17:10:54.68 ID:eh2c4UeN.net] 頭が悪いのを本のせいにするなゴミ野郎
249 名前:名前は開発中のものです。 mailto:sage [2015/07/05(日) 17:43:23.61 ID:hnU3dcID.net] 頭が良い人は英語のチュートリアルを見ればいいんだしさ 本を出す人は高卒の俺にも分かるように書いてくれ たのむわ
250 名前:名前は開発中のものです。 mailto:sage [2015/07/05(日) 18:00:46.72 ID:MGd2QwN2.net] 趣味の範疇なら本で充分だしな
251 名前:242 [2015/07/05(日) 18:48:02.97 ID:EQzGRDh/.net] >>244-246 勝手にフォルダ構成変えて良いんですね、わかりました。 初歩的なところですみません。でもありがとうございます。 あと、もう1つすみません。 現時点で最新の OSX、XCODE、UNITY にバージョンアップしてやっているのですが、 UNITYエディタ上では普通に実行できるのですが、 XCODEから実機に転送するためビルドすると、 forum.unity3d.com/threads/il2cpp-universal-crash-my-game-after-splash.333626/ のURLの 「 KeyNotFoundException: The given key was not present in the dictionary. 」 のエラーと全く同じエラーが出ます。 (コピペしてDIFFしましたが、全く同一でした) この回答してるおじさんが「調査します」で終わったままということは、 未だに解決されてないってことでしょうか? エディタ上では動くアプリを、なんとかiPhone実機で動かしたいのですが、、、
252 名前:名前は開発中のものです。 mailto:sage [2015/07/05(日) 18:56:52.78 ID:KX8vXO5F.net] いやフォーラムで聞けよ その後どうなったかを別の場所で聞くなよ
253 名前:名前は開発中のものです。 [2015/07/05(日) 19:10:05.29 ID:V0HHXtNH.net] >>252 初心者&無料版ユーザなので、ちょっと敷居が高くて… 英語ってのも…
254 名前:名前は開発中のものです。 mailto:sage [2015/07/05(日) 19:26:41.77 ID:EF85BxK4.net] 次のパッチで直すと書いてるじゃろ
255 名前:名前は開発中のものです。 mailto:sage [2015/07/05(日) 22:37:05.92 ID:46sKisCO.net] >>243 Unityはmetaファイルを使って内部的なAssetの管理をフォルダに残す様になってる ここで重要なのはMetaファイル(テキストベースで見たとき)に書かれたUUIDでファイルの管理がされている事だったりする。 実はAssetを購入したり公開パッケージを入れた時に自分の意にそぐわないフォルダ階層をもっていたらUnity上でFolderを新しく作ってから移動しても、Assetのバージョンアップ時には移動先のファイルが更新される。 試したければ自前のアセット(適当出良い)をExportして試してみれば良い
256 名前:名前は開発中のものです。 mailto:sage [2015/07/05(日) 22:56:45.12 ID:ckXc8rGQ.net] unityeditorの中では移動おkはマニュアル等によく書かれてるから初心者でも知ってると思うけど 一部特殊なフォルダがあるから気を付けること、ちょっと情報が古いけど↓とか Unityの特殊フォルダと各々の役割(追記版) ttp://tsubakit1.hateblo.jp/entry/20131028/1382965930
257 名前:名前は開発中のものです。 mailto:sage [2015/07/05(日) 23:17:02.56 ID:harHMpfJ.net] 質問です 子オブジェ(child_1〜child3)をもつゲームオブジェクト(p)をp[1],p[2] としてInstantiateで複製しました。p[0]はステージ上に置かれた複製元としました。 そのp[0]〜p[2]の子ゲームオブジェクトを取得したいのですが for(int i=0,i<3;i++){ if(i==0){ p[i]=GameObject.Find("p"); }else{ p[i]= Instantiate (p[0])as GameObject; } for(int j=0;j<3;j++){ c[i,j]=GameObject.Find(p[i]+"/child"+(i+1)); } } とするとエラーになります。p[0]のchild1,p[1]のchild2は個別に使いたいのですが どうしたらよいでしょうか。。
258 名前:名前は開発中のものです。 mailto:sage [2015/07/05(日) 23:26:43.21 ID:HlKuKgj4.net] >>257 なんてエラーはいてるのかくらい書けやw まぁ多分 c[i,j]=GameObject.Find(p[i]+"/child"+(i+1)); を c[i,j]=p[i].transform.Find("child"+(j+1).ToString()).gameObject; とでも書けばいいんだろうが。 childもchild_1とchild3と書き方が違うがどっちなんだよw
259 名前:名前は開発中のものです。 mailto:sage [2015/07/06(月) 00:24:15.63 ID:o7KesfxR.net] >>258 null reference…なエラーでした。child_でした。いろいろすいません おかげさまでnullエラーはなくなりましたmOm ありがとうございました・
260 名前:名前は開発中のものです。 [2015/07/06(月) 00:51:24.22 ID:u5CKOVSs.net] すみません質問です TextオブジェクトにInputFieldコンポーネントを追加して ゲームビュー上でクリックするとキーボードからテキストを入力できるようにしたのですが フォントサイズを変えると入力位置が表示されるテキストより随分下にズレてしまいます 入力位置を縦に微調整する方法はあるでしょうか よろしくお願いします
261 名前:名前は開発中のものです。 mailto:sage [2015/07/06(月) 01:48:34.91 ID:NmKv4JvD.net] shift+spaceでGameとかConsoleとか特定のウィンドウを全画面表示にするショートカットキー 多用するんだけど、たまに全画面表示に切り替わらない事があるんですが、何が原因か分かりますか?
262 名前:名前は開発中のものです。 mailto:sage [2015/07/06(月) 02:40:13.40 ID:OqntVP/a.net] >>254 あ、日付は先月のものですね。 なぜか去年と勘違いしてました。 次のパッチ早く出て欲しいです。いつだろう。 ジョシュペテァソン頑張れ超頑張れ。 >>256 ありがとうございます、確認してみます!
263 名前:名前は開発中のものです。 mailto:sage [2015/07/06(月) 11:04:36.82 ID:NhLkDjWn.net] Spriteの左半分だけ描画するとかってどうすればいいのかな? uGUIのImageでImage TypeをFilledにしてFillAmount弄ったときみたいにしたいんだ。 SpriteRendererのspriteメンバを弄ったり、Sprite.Createで置き換えてみたりしても上手く行かなかった。
264 名前:名前は開発中のものです。 mailto:sage [2015/07/06(月) 17:38:02.30 ID:V/HFeCo8.net] 左半分と右半分の矩形を定義して使えばいいんじゃないの もしくは tiling と offset があるシェーダでそれぞれを操作する
265 名前:名前は開発中のものです。 mailto:sage [2015/07/06(月) 20:13:24.14 ID:icgWuoAa.net] terrainで頑張ってもさあ https://psm.playstation.net/static/general/all/unity_for_psm/ja/Documentation/Components/script-Terrain.html これの上の方みたいなやつをつくるのが精々で、 https://psm.playstation.net/static/general/all/unity_for_psm/ja/Documentation/Images/manual/script-Terrain-6.jpg こんなの全然できそうにない・・・・ 動画で説明してるところとかないかな?
266 名前:名前は開発中のものです。 mailto:sage [2015/07/06(月) 21:47:26.47 ID:HH3ecl1Y.net] アクションゲーム作るとき攻撃の当たり判定ってどうしてる? プーリングするとしてもGameObject作るのか?
267 名前:名前は開発中のものです。 mailto:sage [2015/07/06(月) 22:50:11.98 ID:cdtJswAF.net] >>265 そんなもん動画見ても「ね?簡単でしょう?」以外のことなんかわからんっつーの…
268 名前:262 mailto:sage [2015/07/06(月) 23:40:27.42 ID:NhLkDjWn.net] 自己解決。 Sprite.pivotの値をそのままSprite.Createの第3引数に入れてたのがおかしかった原因だった。 Sprite.pivotがピクセル単位の座標なので、矩形内の比率を入れるべきSprite.Createにそのまま渡しちゃ当然ダメだわな…
269 名前:名前は開発中のものです。 mailto:sage [2015/07/06(月) 23:41:54.94 ID:Cvq1CS7k.net] 同じくマップ制作がしんどい スマホ向けに軽量なマップ自動で作れるとありがたいんだが asset storeでおすすめありません?
270 名前:名前は開発中のものです。 mailto:sage [2015/07/07(火) 00:26:17.54 ID:zULeI0oY.net] アセットストアでダウンロードしたものリストって、どっかで見れないの?
271 名前:名前は開発中のものです。 mailto:sage [2015/07/07(火) 00:28:49.48 ID:CTlSA1Jf.net] それぐらいのマップなら3時間でサクツといけるでしょ
272 名前:名前は開発中のものです。 mailto:sage [2015/07/07(火) 02:07:19.15 ID:P7g8h9xM.net] 初歩的な質問ですみませんが、 3D空間にObejectがいろいろあって、最前面にGUIを別カメラ(Screen Space - Camera)で全画面表示したときに、 後ろの3D Objectがクリックを拾ってしまって困っています。 3D ObjectはSpriteでOnMouseDownを仕込んでいます。GUI側は黒バックの背景を全面に敷いてMENUのようなものが置いてあります。 丸一日かかって色々試しましたがどうしても直りません。 3D Object側で状況を判定してクリックを無視するようにするしかないでしょうか?
273 名前:名前は開発中のものです。 mailto:sage [2015/07/07(火) 02:47:30.64 ID:8fB2f+6o.net] ストップウォッチのwindowsアプリを作ったのですが、update内での常時処理が 多いせいで単にカウントアップするだけのツールなのにものすごく重いです Update内には以下の処理をベタ書きで書いています ・feeld += Time.deltaTimeによるカウントアップ処理(タイマー本体) ・カウントが最低値や最大値を上回った時に0にするフェールセーフ的な処理 ・カウント値をTextコンポに常時表示するためのtimer.text = string処理 何かいい対処法はないでしょうか? よろしくお願いします
274 名前:名前は開発中のものです。 mailto:sage [2015/07/07(火) 02:58:22.05 ID:pyP607KT.net] >>272 すげえ単純な対処だとGUIをだす時には通常用のカメラの前にもコリダーつけた板を置いてしまう。 基本的には重なりがある場合には前のものしか拾わないから。 >>273 そんな程度で重くならんよ…。3DSTGとかそんなオブジェクト100個くらい同時に動くぞ?
275 名前:名前は開発中のものです。 mailto:sage [2015/07/07(火) 03:16:55.06 ID:8fB2f+6o.net] >>274 マジですか? アプリ起動していない時と比較するとCPU使用率がどうとかいう以前に まず体感として明らかに重くなるんですが。 ブラウザで動画開いてる時にツール起動すると動画がカクつくとかですね PCはレッツノートCF-S10で、Core-i52.5GHz、メモリ4GB、win7(32bit)、グラフィックintelのノートPC用カード ですが、これはPC性能のせいですか? unity+VS同時起動してるだけでも重くなりますが、unityやるには低スペックすぎますかね?
276 名前:名前は開発中のものです。 mailto:sage [2015/07/07(火) 03:36:57.91 ID:pyP607KT.net] >>275 仕事場ではi7だが自宅ではPhenomとかで作業してるからそのスペック自体が低いってのはないな。 まぁノートで省電力設定がどうなってんのかとかイマドキ32ビットだとどうなんだろうとか オンチップグラフィックだとどうなのかとかその辺は気になるがそういうオブジェクトの20個30個くらいは 動かしたところでどうなるとも思えんがな〜
277 名前:名前は開発中のものです。 mailto:sage [2015/07/07(火) 03:44:35.31 ID:8fB2f+6o.net] >>276 そうなんですね・・・ ループ処理は一つもないので、変なところで意図しないループが発生して〜 とかは無いです ツールも単純で、スタートボタン押すとTime.deltaTimeで計測してその数値を textコンポに常時表示する、ストップボタン押すと止まるという、ただのそれだけのツールです winアプリ起動時に表示されるconfigurationのGraphics qualityもFantastic以下のGoodとか色々 試してみたのですが、重くなるのは変わらずでした 単純に設計がおかしいのか・・・
278 名前:271 mailto:sage [2015/07/07(火) 04:01:05.03 ID:P7g8h9xM.net] >>274 ありがとうございます 通常カメラ側でやっちゃうのもどうかと思ったのですが、 とりあえず希望の動作になりましたので、一旦この方法で進めていこうと思います
279 名前:名前は開発中のものです。 mailto:sage [2015/07/07(火) 08:25:19.06 ID:CfaKc5wU.net] >>275 ブラウザで動画なんて、しょっちゅうコマ落ちするよ。 回線速度が遅いとか、途中のルータで、画像が無くなるとか それかGPUを、動画・アプリ・Unityなどで、 取り合っているとか そもそも動画は、GPU,CPUとは相性が悪い。 1枚ずつ異なる画像データを、読んではすぐに破棄するため、 同じデータを使い回せないので、キャッシュが効かない
280 名前:名前は開発中のものです。 mailto:sage [2015/07/07(火) 18:32:37.54 ID:vDZVKife.net] >>279 コーデック gpu 動画支援 ここらへんをもう少し勉強した方がいい
281 名前:名前は開発中のものです。 mailto:sage [2015/07/07(火) 18:37:10.33 ID:IbIamJ0V.net] >>275 体感で重いことをやたら強調してるけど問題解決に必要なのはCPU使用率のほうだと思う たしかウィンドウが非アクティブだとUpdateが呼ばれないんだっけ? その状態でも重いなら描画以外に原因がありそう
282 名前:名前は開発中のものです。 mailto:sage [2015/07/07(火) 18:48:05.52 ID:zULeI0oY.net] 重くなるって言えば・・・・ Rigidbodyが設定されていて、60フレームごとにtransform.rotateでちょこっとずつ回ってるCubeがさあ(イメージとしてはサイコロ10個) こいつらが床みたいなものの上で10個ぐらいぶつかるだけで、俺のへぼパソコンは処理落ちしちゃうぜ
283 名前:名前は開発中のものです。 [2015/07/07(火) 21:46:02.60 ID:xUwcW21R.net] OnClickの戻り値はvoidでIEnumerationでないからyieldできないのですが、どうやってコルーチンの結果を受け取れば良いのか教えてください。
284 名前:名前は開発中のものです。 [2015/07/07(火) 21:54:11.94 ID:ivqfVLb5.net] Updateで終わるまで待つしかないのかな?
285 名前:名前は開発中のものです。 [2015/07/08(水) 00:29:02.40 ID:z8fYzX9w.net] 普通にコルーチンの引数にオブジェクトの配列にText含めて渡してコルーチンの中で設定したら出来た。でも、クラスに変更した方が良いかな。stringや数値にも渡せるようにしたいけど、めんどくさいな。
286 名前:名前は開発中のものです。 mailto:sage [2015/07/08(水) 04:18:57.60 ID:Pz5uXZTG.net] windowsアプリで最小化ボタン押したらタスクトレイに格納する事って出来ますか?
287 名前:名前は開発中のものです。 mailto:sage [2015/07/08(水) 11:11:22.91 ID:WH/kys/S.net] >>286 スレ違いかしら?
288 名前:名前は開発中のものです。 mailto:sage [2015/07/08(水) 11:36:47.09 ID:h0YPxzZu.net] まぁUnityでビルドしたやつをそうしたいということならプラグイン書くしかないとはいえる。 昔ならプロ版じゃないとダメだったが今なら誰でも出来る
289 名前:名前は開発中のものです。 mailto:sage [2015/07/08(水) 15:17:10.07 ID:Pz5uXZTG.net] >>288 ありがとうございます
290 名前:名前は開発中のものです。 mailto:sage [2015/07/09(木) 01:13:49.05 ID:xvER447B.net] Physics.Raycastで取得したゲームオブジェクトから、 別のゲームオブジェクトのListに登録したゲームオブジェクトと比較して同一であるかどうか知りたいのですが、 rayが当たったゲームオブジェクトからGetComponent<>()でメンバやメソッドやらを取得するよりも効率的な方法はありますか? rayが当たるゲームオブジェクトにListの要素数と同じ数の値を持たせてif文で比較と思ったのですが、 ヒットする度にGetComponentは非常に無駄な気がします。
291 名前:名前は開発中のものです。 mailto:sage [2015/07/09(木) 01:42:15.44 ID:ky12UGWc.net] >>290 ListでIndexOfを使うのとどっちが早いかって話なんだろうが数次第ではある 計測すればいくつ以下ならこっちの方が早いとかもある程度わかりそうだが 実際問題Unityの仕組み的にはゲッポするのが最適解に近いのは確かだろう まぁんなこといってて漫然と transform.position とか使ってたら笑うけどなw
292 名前:名前は開発中のものです。 mailto:sage [2015/07/09(木) 02:25:26.60 ID:xvER447B.net] すいませんどちらかというとrayを飛ばして取得できる情報がtransform位なんで、 rayがヒットしたオブジェクトがどんな状態で何を設定したのか、 アタッチされたコンポーネントなりから状態を調べなきゃならないと思うんですが、 GetComponent以外で負荷が軽いゲームオブジェクトのユニークな情報を取得してListと比較出来るのかなって話です。
293 名前:名前は開発中のものです。 mailto:sage [2015/07/09(木) 02:52:27.29 ID:ky12UGWc.net] いや、transformは自動GetComponentだって話 それにRayCastHitInfoとるために内部で何度もGetComponentしてる 今更一回くらい増えたところで変わらんだろう GetComponent以外でそれ以上に処理が軽いユニークな情報を取得する手段がありえるとしたらGetInstanceIDくらいか でもどっちにしてもリストと比較しなきゃならんし結局のところIndexOfでやることになる。
294 名前:名前は開発中のものです。 mailto:sage [2015/07/09(木) 07:27:41.81 ID:ozO0w3od.net] 頂点シェーダを触りたいのですが、Unityではサーフェイスシェーダ?というものしか触れないのでしょうか? もしくは、サーフェイスシェーダで頂点シェーダもピクセルシェーダも兼ねてるとかですか? プログラミング初心者なのでよくわかりません
295 名前:名前は開発中のものです。 mailto:sage [2015/07/09(木) 08:51:34.05 ID:ky12UGWc.net] 全部書けるよ。 サーフェスシェーダはライティング関連を自動で書いてくれるので楽ってだけ docs.unity3d.com/ja/current/Manual/SL-Reference.html
296 名前:名前は開発中のものです。 mailto:sage [2015/07/09(木) 10:04:53.71 ID:fxiHp6MA.net] >>290 一つはListじゃなくてDictionary使えばちょっと速くなる(リストを順に全部しらべるよりも速くアクセスできる) GetComponentしないと目的のコンポーネント要素には触れないのでそこはGetComponentの回数を減らす努力をするしかない。
297 名前:名前は開発中のものです。 mailto:sage [2015/07/09(木) 10:14:06.43 ID:xvER447B.net] >>293 プロファイラ見ると1回GetComponentした瞬間に強めの負荷がかかってるように見えるので 短時間に何度もGetComponentしたら相当重くなると思うんですが、Unityの特性って事なんでしょうかね 敵機を大量に破壊するシューティングゲームだと相当フレームレート落ちそうな気がします
298 名前:名前は開発中のものです。 mailto:sage [2015/07/09(木) 10:38:17.53 ID:aGuzLR3s.net] 敵を大量に破壊するシューティングにphysicsが必要か? 目的にあった実装を探すのもゲーム作りだと思うよ あと、「大量に破壊」を同一フレームで行わないならfps低下はないんじゃないかなと
299 名前:名前は開発中のものです。 mailto:sage [2015/07/09(木) 11:22:25.71 ID:SFFiJwDu.net] プログラミング初心者で頂点シェーダ触んの…? まあある意味シェーダは変にプログラマよりは初心者のほうが良いかもだけど
300 名前:名前は開発中のものです。 mailto:sage [2015/07/09(木) 12:36:52.93 ID:11larjl7.net] >>297 unity公式のチュートリアルのコード読めば GetComponenを毎回呼ばないですむ方法を書いてるよ 意味が解らないのならC#を勉強すればいい
301 名前:名前は開発中のものです。 mailto:sage [2015/07/09(木) 15:54:09.74 ID:W6nY+58T.net] エディターの再生ボタンでゲーム停止したときに以下のエラーがたまに出るんだけど原因が特定できない ゲームんの停止時や終了時に走らせるスクリプトは書いてないのになんだろう? MissingReferenceException: The object of type 'GameObject' has been destroyed but you are still trying to access it. Your script should either check if it is null or you should not destroy the object. UnityEngine.GameObject.SendMessage (System.String methodName) (at
302 名前:名前は開発中のものです。 mailto:sage [2015/07/09(木) 16:33:03.98 ID:W6nY+58T.net] >>301 これ解決出来てないけどエラーの再現はできた Pointer EnterとPointer ExitのEvent Trigger持たせたオブジェクトに対し 右クリックしたあとでゲーム停止するとそのエラーが出る なんで右クリック限定なんだろう・・・
303 名前:名前は開発中のものです。 mailto:sage [2015/07/09(木) 16:33:10.43 ID:SFFiJwDu.net] >>293 >いや、transformは自動GetComponentだって話 え、自分自信の座標とる this.gameObject.transform と this.gameObject.GetComponent<Transform>() が 同じコストってこと?
304 名前:名前は開発中のものです。 mailto:sage [2015/07/09(木) 16:33:51.78 ID:SFFiJwDu.net] レイキャストのときって話なのかな
305 名前:名前は開発中のものです。 mailto:sage [2015/07/09(木) 18:44:34.41 ID:ky12UGWc.net] >>297 1回のGetComponentにプロファイラに出るほどの負荷がかかるわけないじゃんw 1000個のオブジェクトが一回ずつとってるとかなら話別だが >>303 基本的にはそう、だといわれている。実際のメモリの載り方とかが どうなってるのかとかまではわからんが www.slideshare.net/RyoheiTokimura/ss-35321624 これの25ページ目 qiita.com/crow_ver6/items/3dc6ba29062d397bbf60 とか、探せばいくらでもでてくる。