1 名前:名前は開発中のものです。 mailto:sage [2014/05/08(木) 08:44:31.15 ID:3QHRiisF.net] 3Dゲームエンジン「Unity」の質問に優しく答えるスレです。 Windows/Mac用。JavaScript/C#/Booといった汎用言語を使用できるのが特徴です。 フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。 プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3他 次スレは>>970 を踏んだ方が建てること。ダメなら>>980 か>>990 が建てて下さい。 ■前スレ 【3Dゲームエンジン】Unity質問スレッド8 toro.2ch.net/test/read.cgi/gamedev/1394451694/ ■本スレ 【3Dゲームエンジン】Unity総合スレッド22 toro.2ch.net/test/read.cgi/gamedev/1395140574/ ■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 ←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
358 名前:名前は開発中のものです。 mailto:sage [2014/05/29(木) 10:20:52.59 ID:INLczVJu.net] そりゃへるだろうな〜。10分の1どころではなく。 売るってのはかなりハードルになる。 なんだそりゃ?wみたいなのをフリーゲームで、 FlashとかWebPlayerで、とかとは明らかにステージが変わるからね。
359 名前:名前は開発中のものです。 mailto:sage [2014/05/29(木) 12:49:12.61 ID:k2lnMObv.net] 『作ったゲームがヒットする』 >>>>>(見たことの無い地平)>>>>> 『初めてゲームをリリースする』 >>>>>(超えられない壁)>>>>> 『Unityはじめる』
360 名前:名前は開発中のものです。 mailto:sage [2014/05/29(木) 13:58:03.47 ID:cYuItPVB.net] まぁ、何を持ってヒットとするかだな
361 名前:名前は開発中のものです。 mailto:sage [2014/05/29(木) 16:56:48.14 ID:F5aBAF/u.net] 次回作を待望される立場
362 名前:名前は開発中のものです。 [2014/05/29(木) 20:01:28.48 ID:v/JIkf6i.net] unityで使う画像全部truecolorじゃだめなんすか?
363 名前:名前は開発中のものです。 mailto:sage [2014/05/29(木) 22:01:39.18 ID:dA771EPb.net] 小物アプリ作ってんのかい 動きゃ別に問題ないよ 圧縮フォーマット選んだり色数落とすのは、ロード時間や枚数制限、アプリ容量をリニアに軽減出来るから 規模が大きくなると上限を先に割り出さんと破綻するので、綿密なリソース計画とテストが必要になりこの辺の設定はどうしても必須になる モバイルだと尚更
364 名前:名前は開発中のものです。 [2014/05/29(木) 23:40:00.52 ID:v/JIkf6i.net] すっげぇ詳しく あざす!
365 名前:名前は開発中のものです。 mailto:sage [2014/05/30(金) 00:15:51.02 ID:JhaXgB1+.net] 2Dゲー作るならunityとcocos2d-xどっちがオススメですか? iPhoneとAndroidのクロスプラットフォームに対応していればそれ以外でもいいのですが… C#とC++はどっちも触ったことがあってC#の方が若干詳しい程度であまり言語のこだわりはないです
366 名前:名前は開発中のものです。 mailto:sage [2014/05/30(金) 00:57:08.08 ID:zmSb+Zsd.net] NGUIにUIPlaytweenが無いのですが有料版だけでしょうか?
367 名前:名前は開発中のものです。 mailto:sage [2014/05/30(金) 00:59:48.03 ID:ThDySUKv.net] >>365 ここで聞くなよとも思うけど、ぶっちゃけ2Dしかやらんのならcocos。 Unityにはエディッタ上で実行してヒエラルキ上の挙動を確認できるというモダンなデバッグヘブンもあるけど、この辺は2Dなら工夫で乗り切れる物でもある 俺はNGUIで仕事してるけど、JavaなAndEngineと比べてもUnityは遅い。 がつがつ弄って最適化できるAndEngineと比べるのは酷だとおもうけど、NGUIでパーティクル設計するとどうにも0.013秒に収まらない負荷が出て悩む cocos2d-xの最新はc++1x取り込んでて使いやすくなってるのだけど、出たばかりで自己責任部分が伴う でも自前で色々馬鹿な設計組み込んでも、c++不慣れな方でも速度差を体感できると思う つーか簡易パーティクルコードでも書いて自分で体感して自分で判断するのが一番ですよボケが
368 名前:名前は開発中のものです。 mailto:sage [2014/05/30(金) 01:32:41.51 ID:aWmJAl+k.net] 360コンの振動機能って使うことできないのかな
369 名前:名前は開発中のものです。 mailto:sage [2014/05/30(金) 01:40:28.21 ID:KaLCFWeU.net] できないことは何もない
370 名前:名前は開発中のものです。 mailto:sage [2014/05/30(金) 02:51:57.68 ID:qwGaQBl2.net] >>368 ちょっとやってみた。DLLをインポートしてXInputを呼べばできたよ。当然Windows限定だけど
371 名前:名前は開発中のものです。 mailto:sage [2014/05/30(金) 12:35:46.67 ID:S7iI5Qw3.net] 初心者のunity javaに関する質問ですが、 クリックするとアニメーション1を再生、 2回目のクリックでアニメーション2を再生。 といったスクリプトは #pragma strict static var d : int; function Start() {d=0;} function Update(){ if(d==0&&Input.GetMouseButtonDown(0)){ animation.Play("Action"); d+=1;} if(d==1&&Input.GetMouseButtonDown(0)){ animation.Play("Action2"); d-=1;} } といった形で書いたのですが、Actionが常に再生されます。 どのように直したらいいのかご教授願えると大変助かります。
372 名前:名前は開発中のものです。 mailto:sage [2014/05/30(金) 12:47:56.66 ID:D5eV0d0u.net] >>371 どうして、javascriptをjavaって省略するの? バカなの? > といった形で書いたのですが、Actionが常に再生されます。 animation.Play("Action") より先に d+=1 する。
373 名前:名前は開発中のものです。 mailto:sage [2014/05/30(金) 13:03:36.50 ID:8visgsuI.net] &って文字表示用のエスケープシーケンスじゃないのか? JSだとそういうときにも使うの? てかそれでコンパイル通るのか。 いずれにせよその書き方じゃif文の中の;以降が評価されるだけなのではなかろうかと。 #pragma strict static var d : int; function Start() d=0; function Update(){ if(d==0&&Input.GetMouseButtonDown(0)){ animation.Play("Action"); d=1;} if(d==1&&Input.GetMouseButtonDown(0)){ animation.Play("Action2"); d=0;} } とかでどう?
374 名前:名前は開発中のものです。 mailto:sage [2014/05/30(金) 14:25:31.02 ID:8visgsuI.net] 悪い、スタートのところ、コピペミスって自分で書いたからブレイスが抜けてるわw
375 名前:名前は開発中のものです。 mailto:sage [2014/05/30(金) 16:10:29.29 ID:C55dZBwA.net] GetMouseButtonDown二度も判定する必要ないだろ
376 名前:名前は開発中のものです。 mailto:sage [2014/05/30(金) 18:25:30.32 ID:8visgsuI.net] え〜。わかりました。じゃあ function Update(){ if(Input.GetMouseButtonDown(0)){ if(d==0){ animation.Play("Action"); d=1; } else{ animation.Play("Action2"); d=0; } } } で。
377 名前:名前は開発中のものです。 mailto:sage [2014/05/30(金) 18:42:27.42 ID:S7iI5Qw3.net] >>372-369 様 大変参考になりました。 ありがとうございました。 まだまだ先は長いですね。。。。。
378 名前:名前は開発中のものです。 mailto:sage [2014/05/30(金) 23:29:55.89 ID:AV0br0eK.net] if(Input.GetKeyDown(KeyCode.PageDown)) ↑とか使ってキーボードによる入力を作っています で、テキストフィールドにもFocus当ててテキスト入力できるようにしました ここまではよいのだけど、テキスト入力から抜け出せなくて困ってます 具体的には上のKeyCode.PageDownとか押してもテキストエリア内で動くだけで抜け出せない F12みたいな入力に使わないボタンならいけるかな?と思ったら、テキスト入力中は反応しない 一応別のGUIを直接クリックすれば抜け出せるのですが、キーボードの操作はキーボードの操作で完結したいのです 解決法知ってる方いたら教えて下さい
379 名前:名前は開発中のものです。 mailto:sage [2014/05/31(土) 07:38:57.65 ID:7m/ngr53.net] 具体的にどうしたいのかよくわからんけど unity textfield enter とかでググればそのキーコードでのイベントの取り方とかは 結構出てくると思うんだが。 参考になりそうなのはこの辺か? ttp://answers.unity3d.com/questions/178117/check-if-enter-is-pressed-inside-a-gui-textfield.html >試してないなら if (Event.current.Equals (Event.KeyboardEvent ("return"))) enter = true; のコードをテキストフィールドを作るGUIコールの「前に」置いてみろ。 If it's not already, try putting your if (Event.current.Equals (Event.KeyboardEvent ("return"))) enter = true; line before your GUI call to create the text field.
380 名前:名前は開発中のものです。 mailto:sage [2014/05/31(土) 07:51:03.48 ID:7m/ngr53.net] 日本語でもあった。 ttp://unityrakku.blog.fc2.com/blog-entry-20.html ページ中段あたり。この例ではエンター押すと ファイル保存処理が走る、ということのようだけど
381 名前:名前は開発中のものです。 mailto:sage [2014/05/31(土) 09:21:55.05 ID:sKyod9Iz.net] >>378 アセット買えばいいと思いました
382 名前:名前は開発中のものです。 mailto:sage [2014/05/31(土) 13:14:19.24 ID:uok9VxId.net] GUIStyleって配列使えないの?
383 名前:名前は開発中のものです。 mailto:sage [2014/05/31(土) 13:24:40.44 ID:uok9VxId.net] あ解決したわ
384 名前:名前は開発中のものです。 mailto:sage [2014/05/31(土) 14:14:28.14 ID:gj1kMUm+1] GUISkinのCustomStylesに登録した要素の順番って変更できないんですか? 右クリックしても複製か削除の項目しか出ません。
385 名前:名前は開発中のものです。 mailto:sage [2014/05/31(土) 15:27:50.29 ID:kZfxGZNh.net] >>379-373 やりたいことが出来ました!ありがとう!
386 名前:名前は開発中のものです。 mailto:sage [2014/05/31(土) 21:54:29.74 ID:3xfru9YZ.net] やりたい女と出来ました!ありがとう!
387 名前:名前は開発中のものです。 mailto:sage [2014/06/01(日) 17:04:00.07 ID:senP/r3j.net] ゲームオブジェクトを選択したらそのアニメーションが再生されるようにしたいのですが、 static var select : GameObject; function Update () { var ray : Ray; var hit : RaycastHit; if(Input.GetMouseButton(0)){ ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, hit, 100)) { select = hit.collider.gameObject; } else { select = null; } } } 相手側は #pragma strict var d :int; function Update () { if (this.gameObject == one.select) { animation.Play("ugoki"); Debug.Log("select"); } } にしましたが、上手く動きません。どうしたらよいでしょうか?
388 名前:名前は開発中のものです。 mailto:sage [2014/06/01(日) 18:01:38.04 ID:senP/r3j.net] すいません 一番下のdebug.logは無視してください。
389 名前:名前は開発中のものです。 mailto:sage [2014/06/01(日) 18:16:45.94 ID:p/ute3p/.net] アセットを購入すればいいと思う
390 名前:名前は開発中のものです。 mailto:sage [2014/06/01(日) 20:02:44.76 ID:CzOQ+eIi.net] >>387 コピペしただけで動くよ。 アニメーションの名前が間違ってるとか あるいは他の要素がおかしい
391 名前:名前は開発中のものです。 mailto:sage [2014/06/01(日) 21:02:39.48 ID:rblEfkwU.net] はw
392 名前:名前は開発中のものです。 mailto:sage [2014/06/01(日) 21:28:39.19 ID:EM8XxEHa.net] Aというシーンファイル(.unity)にある任意の数のゲームオブジェクトを Bというシーンファイルにコピペしたいんですが、どうやって移動させたらよいのでしょうか…
393 名前:名前は開発中のものです。 mailto:sage [2014/06/01(日) 21:35:57.79 ID:p/ute3p/.net] >>392 アセット買えばいいんじゃないかなあ?
394 名前:名前は開発中のものです。 mailto:sage [2014/06/01(日) 21:57:23.81 ID:rYmG7+bF.net] >>393 English de OK(USO)
395 名前:名前は開発中のものです。 [2014/06/01(日) 22:40:11.76 ID:cLfIXC+i.net] 超超初歩なんですが 今unity2Dでアンドロイドアプリ作ってて参考書に「解像度は1280×800」とあります。 それで画像やらをそのサイズに合わせて作ってるんですが、あんな小さい画面でこんな大きな画像を作る必要あるんでしょうか? みなさんはスクリプトで解像度を下げたりしてるんでしょうか。
396 名前:名前は開発中のものです。 mailto:sage [2014/06/01(日) 23:02:17.47 ID:rYmG7+bF.net] ヒント:4.7inchの画面は小さいかもしれないが、10.05inchの画面は決して小さくはない
397 名前:名前は開発中のものです。 [2014/06/01(日) 23:41:42.19 ID:Wu1HGgXX.net] >>395 確かに大きい画像だと思うかもしれないが 今のスマホはこの程度の解像度は持っています。
398 名前:名前は開発中のものです。 mailto:sage [2014/06/01(日) 23:54:56.85 ID:Hg61Vj6L.net] >>392 prefabにするか普通にヒエラルキーでA.sceneの中身をコピーしてからB.sceneでペースト
399 名前:名前は開発中のものです。 [2014/06/02(月) 02:11:01.79 ID:TNhLZKdz.net] Avatarの手や肩の位置を取得する方法を教えて下さい
400 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 03:15:36.29 ID:K5ZMDY5S.net] >>398 ああ、プレファ部にするってのもありなんですね、ありがとうございます
401 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 14:48:38.78 ID:TST9LXYg.net] どんな部活動してるのか気になる
402 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 15:25:29.70 ID:ZqP9W1Vs.net] 部室はプレハブ製か
403 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 17:07:43.94 ID:5rUTb0ca.net] 質問があります 今人間型のモデルに頭に可動式のボンボンみたいなのを付けてアニメーションさせたいのですが animation typeをhumanoidにした時にそのボンボンの部分のモーションが まったく働かず固定されたままになってます humanoidタイプにしたモデルには普通の人間の手や足や頭以外の部分に ボーンを付けてアニメーションさせる事は出来ないのでしょうか?
404 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 17:21:01.78 ID:K/3IBsUz.net] >>403 アセット買えばいいんじゃないかなあ?
405 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 17:23:21.61 ID:5rUTb0ca.net] >>404 アセット無しじゃ無理ですか?
406 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 17:34:50.83 ID:HFTLkBNS.net] 初歩的な質問ですがitweenはandroidでも使用可能でしょうか? よろしくお願いします
407 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 17:58:53.75 ID:K/3IBsUz.net] >>406 アセット買えばどうにかなると思うよ
408 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 18:19:28.48 ID:bKScHq+o.net] >>403 ボンボンのモデルとアニメーションをgenericで作って humanoidのモデルの手足にアタッチすればいいと思う
409 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 18:27:19.40 ID:5rUTb0ca.net] >>408 回答ありがとうございます その場合はやっぱりアニメーターコントローラーはボンボンと手足の二つ必要に なるんですよね?
410 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 18:31:49.06 ID:bKScHq+o.net] >>409 そうです
411 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 18:46:12.82 ID:5rUTb0ca.net] >>410 ありがとうございます
412 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 18:50:52.13 ID:EN+Ir0CJ.net] 2日前にはじめた者です スクリプト言語についてお聞きしたいです 私はC#もjavascriptも使った事ないのですが、公式のリファレンスや unityやってる個人ブログにある初心者向け講座やサンプルスクリプトは javascript(正確にはjavascriptに似た言語との事ですが)が基本のようです ここまで調べた感じ、サンプルやリファレンス的にjavascriptで書いた方がいいのかな、 という気がしていますが、C#で書いた方がいいとか、javascriptでは書かない方がいい、 というような理由とかありますか? C#、javascriptどちらでも関係ない、というのであればjavascriptで勉強しようと思っています なにかアドバイスやご教授いただければ幸いです
413 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 18:54:00.81 ID:+fBdINaq.net] >>412 特にないです。やっていくうちに 書くことはできなくても、どちらも読めるようになっていくと思われます。
414 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 20:09:10.81 ID:EN+Ir0CJ.net] >>413 レスありがとうございます。 では、まずはjavascriptで頑張ってみようと思います。 ありがとうございました。
415 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 20:27:26.89 ID:aS4p/dtz.net] Unityではパフォーマンスの為に型明示が必要だからJSを使うメリット全く無いと思うぞ 後、JSは作られた当初から変態仕様なんだけど、更に方々で拡張されて仕様が滅茶苦茶 分かり難いし
416 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 20:40:27.19 ID:Ay+am4Ju.net] >>404 アセット犬いつもご苦労
417 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 21:29:41.07 ID:5I2OSzs6.net] >>403 別に作るという方針で決定してるならそれで問題はないけど 動かない訳ではない。 インポートセッティングのアニメーションタブ、 それぞれのアニメーションの項目について Mask>Transformで出てくるボーン全てに チェックを入れてやれば動くようになる
418 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 21:38:51.38 ID:EN+Ir0CJ.net] >>415 正直、見てるコードがjavascriptなのかC#なのかの区別すら分かってないのですが ttp://unity3d-study.seesaa.net/article/365776158.html この当たりのサンプルゲームのコードの記述ってjavascriptですよね?
419 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 21:49:07.29 ID:5I2OSzs6.net] それはjavascriptだね。 頭がusingなんちゃらとか そのあとあたりに public class XXX : MonoBehavior とかあったりするとC# まぁ実際unity scriptはゼロからだと かえって勉強しにくそうな印象はあるな。
420 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 21:57:26.21 ID:EN+Ir0CJ.net] >>419 レスありがとうございます。 私が今日一日で回った初心者サイトや入門サイトのほとんどは こういう記述だったので、javascriptでまずはやろうと思います >>415 様はパフォーマンス的な理由でC#が良いとの事ですが 初心者の私にはひとまずパフォーマンス面は考えなくていい(考えられない)と思うので
421 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 22:08:27.75 ID:jFKVQN2M.net] >>416 こいつすごいよな。 どんなに疎まれても病的に続ける遺伝子。 日本人「私は人が嫌がることをすすんでやります」 朝鮮人「私は人が嫌がることをすすんでやります」 アセット君は典型的な後者の遺伝子を持っている。日本人には到底理解できないメンタル。すごい。
422 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 22:21:10.88 ID:K/3IBsUz.net] >>418 アセット買えばどうにかなると思うよ 特に韓国製は最高!
423 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 22:23:53.13 ID:aS4p/dtz.net] >>418 varで変数宣言するのはJS ま、プログラミングやったこと無いんだったら言われても何も分からんだろうから、自分で やってみて判断すればいい、どの道、同梱アセットとかどっちか一方でしか提供されて ない場合が多いからソース読んで勉強する気ならどっちも分からんと困る部分はある
424 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 22:27:04.12 ID:K/3IBsUz.net] >>421 前者と後者の違いがわかりません アセット購入したらわかりますか?
425 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 22:54:24.77 ID:EdLqyx4V.net] アセットおじさんは ホント無知で役立たずだなあ
426 名前:名前は開発中のものです。 mailto:sage [2014/06/02(月) 23:14:33.63 ID:5rUTb0ca.net] >>417 ありがとうございます 試してみます
427 名前:名前は開発中のものです。 mailto:sage [2014/06/03(火) 00:00:54.63 ID:1QGZsiej.net] >>423 レスありがとうございます。 一応、普通のCは1年ほどやっていたのでごく普通の関数、変数、ポインタ くらいは分かります。 とりあえず、慣れるためにサンプルゲーム理解する所からやってみます。
428 名前:名前は開発中のものです。 mailto:sage [2014/06/03(火) 00:24:53.65 ID:qeHdX0ZU.net] >>423 C#だってvar使うじゃんよーとかいってみるテスト
429 名前:名前は開発中のものです。 mailto:sage [2014/06/03(火) 00:39:49.50 ID:B2scxBWm.net] C#の型推論なんて使えるってだけで使う意味ないだろ 対してJSの場合、文法的にローカル変数宣言にはvarが必須
430 名前:名前は開発中のものです。 mailto:sage [2014/06/03(火) 01:29:01.14 ID:qeHdX0ZU.net] >>429 でもUnityのというか.NetなJSだと varに型宣言必須に近いよね。
431 名前:名前は開発中のものです。 mailto:sage [2014/06/03(火) 03:01:24.11 ID:z1ep9OdU.net] ダークおじさんがアセットおじさんにキャストしたんか?
432 名前:名前は開発中のものです。 [2014/06/03(火) 04:51:17.46 ID:2JU+/4Xk.net] javaスクリプトで、すごく初歩的な質問なのですが、 "a"というモーションの再生修了後"b"というモーションを流したいのですが、 どう書けば良いでしょうか? animation.Play("a"); animation.Play("b"); 宜しくお願いいたします。
433 名前:名前は開発中のものです。 mailto:sage [2014/06/03(火) 10:56:56.94 ID:ndg8wmnU.net] 一回aを流したあとbを流しっぱなしでいいのか キーを押したら切り替えたいとか色々ある訳だが とりあえずこの辺か? ttp://ameblo.jp/knors/entry-11152990897.html あとこの辺が自分で読めるようにならないとどうにもならない ttp://docs.unity3d.com/ScriptReference/Animation.html UnityJapanで日本語リファレンスも作ってくれていたが 本家が更新されたので要確認。 4.5での変更は恐らく反映されていない ttp://docs-jp.unity3d.com/Documentation/ScriptReference/Animation.html
434 名前:名前は開発中のものです。 mailto:sage [2014/06/03(火) 13:12:02.02 ID:yKR/2PQH.net] UIPickerViewのようなもの使いたいのですがありますでしょうか? 標準でなければASSETS STOREにあるものでも構いません。
435 名前:名前は開発中のものです。 [2014/06/03(火) 14:45:34.86 ID:2JU+/4Xk.net] >>433 ありがとうございます。 参考にさせていただきます!
436 名前:名前は開発中のものです。 [2014/06/03(火) 14:46:33.51 ID:2JU+/4Xk.net] >>433 ありがとうございます。 参考にいたします!
437 名前:名前は開発中のものです。 mailto:sage [2014/06/03(火) 15:33:24.65 ID:qeHdX0ZU.net] >>434 見かけが同じになるものが欲しいならiPhone用にplugin書くのが一番なんだが、プラットフォーム依存になる。 見かけにて無いけどNGUIで実装されているものなら ttps://www.assetstore.unity3d.com/en/#!/content/10024 これくらいしかない つかDatePicker系は殆ど見ないな
438 名前:名前は開発中のものです。 mailto:sage [2014/06/03(火) 22:51:15.04 ID:MprFx/72.net] C#で同じオブジェクトについているスクリプトからboolを引っ張ってきてリンクさせたいのですがよい方法はないでしょうか? public class A_Script : MonoBehaviour { public bool HIT; void OnTriggerEnter2D(Collider2D col ){ HIT = true; } } public class B_Script : MonoBehaviour { public bool HIT_UKETORITAI; void Update () { bool HIT_UKETORITAI GetComponent<A_Script>().HIT; } } こんな感じの事をやりたいです
439 名前:名前は開発中のものです。 mailto:sage [2014/06/03(火) 23:00:47.33 ID:ndg8wmnU.net] 書いてあるそれじゃダメなん?w まぁ毎回ゲットコンポーネントとか重いだろうから public class B_Script : MonoBehaviour { A_script ascript void Start(){ ascript=gameObject.GetComponent<A_Script>(); } void Update () { if(ascript.HIT==true){ 処理 } } とかの方が一般的かとは思うが
440 名前:名前は開発中のものです。 mailto:sage [2014/06/03(火) 23:27:57.03 ID:ndg8wmnU.net] すまない、 A_Script ascript; だ。
441 名前:名前は開発中のものです。 mailto:sage [2014/06/03(火) 23:42:13.28 ID:MprFx/72.net] ありがとうございますGetComponentは重いのですか こんな感じで毎フレームの結果が欲しいのですがA_Scriptからコピペした方が良いでしょうか? public class A_Script : MonoBehaviour { public bool HIT; void Update () //-------着地--------- if(Physics2D.Linecast(transform.position + transform.up * 1,transform.position - transform.up * 1f,groundLayer)){ HIT =true; }else{ HIT = false; } } } } public class B_Script : MonoBehaviour { public bool HIT_UKETORITAI; // void Update () { bool HIT_UKETORITAI GetComponent<A_Script>().HIT; if(HIT_UKEROTITAI){ 処理 }} }
442 名前:名前は開発中のものです。 mailto:sage [2014/06/03(火) 23:54:08.99 ID:k/6hu66m.net] >>441 >>439 さんは貴方のやっていることは、 同じ相手に電話をかけるために、毎回104で電話番号を問い合わせる様なもの だったら初めに番号登録しておいた方がはやいですよ。と、論理的、効率的な仕事の進め方を教えてくれているのです
443 名前:名前は開発中のものです。 mailto:sage [2014/06/04(水) 07:26:32.13 ID:Q3rHarV8.net] >>441 いや、431で書いたようにスタートでゲットコンポーネントしておけばそれでいいんだって。 毎フレームやる必要はなくなる。 newしている訳ではないので新しいインスタンスができる訳ではない。 ttp://forum.unity3d.com/threads/is-using-getcomponent-slow.37548/ ここでサンプルに示してある。 ただ正直ゲットコンポーネントどのくらい重いの?ってのは どうもよくわからん部分もあって昔のマニュアル見ると transformとかもキャッシュしておくと早いよって話だった。 ttp://docs.unity3d.com/410/Documentation/ScriptReference/index.Performance_Optimization.html このページ中段 3. Cache component lookups の項。 >The latter code will run a lot faster since Unity doesn't have to find the transform component in the game object each frame "後のコードは毎フレームトランスフォームコンポーネントを見つける必要がないからずっと速い" でも先日改定されたマニュアルにはその辺の話は載ってなかったりする。 内部的に何か変わったのかもしれない。 なのでよくわからなかったら毎フレームゲットコンポーネントしちゃっていい気がする。 重くて動かねぇ、ってなったら考えれば。
444 名前:名前は開発中のものです。 mailto:sage [2014/06/04(水) 08:08:32.65 ID:Lbw1ASRl.net] 内部のアーキテクチャを推測すると 変数に直接アクセスするのにかかる時間を1とした場合 GetComponentでアクセスするのにかかる時間=100〜150 GameObject.Findでゲームオブジェクトを探すのにかかる時間=500以上 という印象。しかもGameObject.Findはシーン中のゲームオブジェクトの数に比例して 探すのにかかる時間が増える
445 名前:名前は開発中のものです。 mailto:sage [2014/06/04(水) 08:14:12.05 ID:8KIZKPRb.net] 真顔で寝惚けてんのか
446 名前:名前は開発中のものです。 mailto:sage [2014/06/04(水) 12:21:00.66 ID:nMbazG+P.net] 衝突した時のスクリプトで質問があります ・ピンボールを作りたい ・問題点:真横や真縦にボールが反射すると永久的に真横、真縦にしかボールが反射しない サンプルを探すとそれを解消する記述がありました。 rigidbody.velocity = rigidbody.velocity.normalized * 2; //よく分からないが減速を防ぐらしい if (Mathf.Abs(rigidbody.velocity.y) < 6) { //y角度が6を下回ったら現Y値に定数を乗算して角度を付ける rigidbody.velocity.y = rigidbody.velocity.y * 12; } if (Mathf.Abs(rigidbody.velocity.x) < 6) { //上のX軸版 rigidbody.velocity.x = rigidbody.velocity.x * 12; }
447 名前:名前は開発中のものです。 mailto:sage [2014/06/04(水) 12:23:21.92 ID:nMbazG+P.net] >>446 のスクリプトで確かに問題点は解消したのですが、ボールのscaleを 1→3に3倍とかすると効かなくなります。 「Mathf.Abs(rigidbody.velocity.y) < 6」の6や 「rigidbody.velocity.y * 12;」の12などの定数値を2とか9とか30とか 色々いじってもみたのですが、どうも解消しません。 スケールを変えると何か変わるんでしょうか? 解決策でもアドバイスでもなんでもいいので教えて頂きたいです
448 名前:名前は開発中のものです。 mailto:sage [2014/06/04(水) 13:46:19.51 ID:UFWon8x6.net] マニュアル見ると ttp://docs.unity3d.com/Manual/class-Rigidbody.html >もしゲーム内で違うスケールのインスタンスが必要になった場合、 >トランスフォームのスケールの値を調整しても大丈夫です。 >If your game requires that your GameObject needs to be instantiated at different scales, it is okay to adjust the values of your Transform’s scale axes. とは書いてあるがなぁ…
449 名前:名前は開発中のものです。 mailto:sage [2014/06/04(水) 14:15:30.60 ID:UFWon8x6.net] >>444 ちょっと試してみたがそこまでは差がなかった。 フロートの値をキャッシュした状態で100回参照と 100回ゲットコンポーネントして参照で20〜25倍ほど。 0.0000011〜0.0000015 0.000025〜0.000027 って感じだ。 あとtransform.Translateで移動も試してみたが 計算の分はどちらも同じになるからか差は5倍ほどだった。 ただ最初の一回だけになるとキャッシュの効きも問題になってくるから 案外100倍くらいいくかもね。
450 名前:名前は開発中のものです。 mailto:sage [2014/06/04(水) 17:02:52.78 ID:9KI8lsdG.net] unityでアニメーションの複数のキーフレームをスクリプトで 一括変更したりって出来ますか? 例えばpositionのxを選択しているキーフレームだけ 全て0を入れるという感じです。 1
451 名前:名前は開発中のものです。 mailto:sage [2014/06/04(水) 17:32:19.14 ID:UFWon8x6.net] 可能っちゃ可能。 ただfbxからインポートしたアニメーションは 基本的にリードオンリーになってるから 改変するならデュプリケートする必要はある、はずだったと思うw この辺 ttp://docs.unity3d.com/ScriptReference/AnimationClip.SetCurve.html あとこの辺とか ttp://answers.unity3d.com/questions/8172/how-to-add-new-curves-or-animation-events-to-an-im.html
452 名前:名前は開発中のものです。 mailto:sage [2014/06/04(水) 19:44:38.20 ID:Lbw1ASRl.net] >>449 調べたのか、ありがとうw 多少誇張したけど、現実もやはり絶望的といっていいほどのコストがかかることが分かった 頻繁に参照するものは変数として持っておくのがいいというのは間違いなさそうだ 何でもかんでも持てばいいってものではないよね? そのための変数もメモリを食うわけだし
453 名前:名前は開発中のものです。 mailto:sage [2014/06/04(水) 21:05:29.00 ID:9Ism3M0L.net] >>449 乙です。 思う事は桁が違うのは良くないよなーってことかな、特にPCに比べてチープな携帯端末だと酷い事になりそう。
454 名前:名前は開発中のものです。 mailto:sage [2014/06/04(水) 21:11:42.94 ID:pjcs31dL.net] 各GameObjectへの参照を保持するオブジェクトを作ってそのオブジェクトへの参照を保持すればいいわけだな
455 名前:名前は開発中のものです。 mailto:sage [2014/06/04(水) 21:15:42.90 ID:9Ism3M0L.net] >>454 GameObjectへの参照だとGetComponentが別途必要になるから型別に必要なものをAwakeとかStartで保持すべきじゃないの? SetActiveメソッドだけが必要なら446の言う通りなんだけど、元の流れは特定のComponentの値を取りたいって事なんだし。
456 名前:名前は開発中のものです。 mailto:sage [2014/06/04(水) 21:24:36.11 ID:aHG66iZT.net] >>446 Unityの本にピンボールを作るってのがあるけど どの本か忘れた
457 名前:名前は開発中のものです。 mailto:sage [2014/06/04(水) 22:42:27.40 ID:9KI8lsdG.net] >>451 編集するためにはデュプリケートすれば良かったんですね! ありがとうございます。 一つ目のURLは、スクリプトをオブジェクトに貼り付けると スクリプトからアニメーションクリップの座標を入力出来るという ところまでは出来たのですが ゲームの再生中のみで、アニメーションクリップのキーフレーム自体に 反映する事ができませんでした。 unityで選択しているキーだけを調整したい場合 その部分だけにアクセスしたり、再生中以外に反映する事は難しいのでしょうか? 2つ目のURLに関してはスクリプト自体機能しませんでした。
458 名前:名前は開発中のものです。 mailto:sage [2014/06/04(水) 22:58:31.54 ID:FB/90mt3.net] Terrainにテクスチャを塗ると異常に輝度が高いのですが解決方法教えてください