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 ←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
805 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 17:33:39.23 ID:cORaqZFq.net] 業務でやってるならUnityに聞いた方がいいんじゃないかな
806 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 17:41:04.67 ID:MRvAVR8Q.net] MissingReferenceException: The object of type 'GameObject' has been destroyed but you are still trying to access it. でググると結構出てくるな nullチェック時に==はオーバーライドしてんのか
807 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 17:52:22.98 ID:8vhmQCx9.net] >>804 エラーログからみるにテストプレイはUnityEditor上でALT+PかCMD+Pでプレイしてるんだよね 死んだ(Destroy済み)のGameObjectをUnityEditor上のインスペクタ(あるいはUnityEditor用のAsset)で開きっぱなしにしてない?
808 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 18:06:36.80 ID:juyi80yV.net] >>807 ここここれっぽいです!!! ありがとうございます!! destroyされたGameObjectのprefabをInspectorに開きっぱなしです。 確かに、この状態だと100%発生しますね(恐らく生成のタイミングで)。 とはいえ、どうしてそうなるんでしょう
809 名前:名前は開発中のものです。 [2015/08/09(日) 19:30:08.93 ID:MJa1D6eV.net] 質問です。 CharacterControllerを使わずにそうさしてるのですが、接地判定がうまくいきません。 void CheckGround(){ if(Physics.Raycast(transform.position,Vector3.down,out hit, 10 )){ if(hit.collider.tag == "Ground"){ isGrounded = true; } } で、処理してるのですが、isGroundedがtrueになりません。プレイヤーにBoxColliderとRigidbodyを 地面にはBoxColliderを付けて、タグを"Ground"にしています。 どなたかわかる方、または参考になるサイトをご存知の方居たら教えてください。
810 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 19:35:54.21 ID:a0bgjuvw.net] Unityの2Dモードで、何枚か張られているパネルをマウスでクリックして消すゲームを作っております。 同じプレファブを使い、同じコードを使ったところ、1個のパネルを消すと全て消えてしまいます。 spriterenderer,boxcolider2dを付けてます。 実装は、クリックされたら以下のコードが実行されます(panel.cs) v2には、クリックポイントが入ります。 v2 = GameObject.Find("Main Camera").camera.ScreenToWorldPoint(v2); RaycastHit2D hit = Physics2D.Raycast(v2, Vector2.zero); if (hit) { Debug.Log ("x:"+v2.x+" y:"+v2.y); Destroy(this.gameObject); return; } で、consoleで見ると、1個当たっただけで全部のパネルが消えているのが確認できました。 consoleに大量のx,yの表示がされております。 自分自身かどうか判断する方法は無いでしょうか?よろしくお願いいたします。
811 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 19:57:23.46 ID:a0bgjuvw.net] 自己解決しました。申し訳ございません。
812 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 22:15:38.25 ID:iIBFuBQ/.net] Unityを使用するブラウザゲームをやっているんですが、 最近、数十分前には起動できていたのに、ゲームを立ち上げようとしたらUnityが消えてる(アンインストールされてる?)事があります。 (Unityダウンロードページでもnot installedになっている) なにかウイルスか設定のようなものでこうなったりするんでしょうか?
813 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 22:54:46.87 ID:bQXYImrI.net] >>808 ギャグかよw destroyしたからに決まってんだろうw もう使わないよと言っておきながら使うという矛盾www
814 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 22:58:41.88 ID:bQXYImrI.net] >>812 きっと妖怪の仕業だわ お祓いしなきゃね
815 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 23:20:09.22 ID:M1ulE9Fv.net] 最初のシーンが重いのかUnityロゴ表示がかなり長くなってしまったので シーン切り替えスクリプトのオブジェクトのみ配置したシーンを最初に作ったんだけど 変わらずロゴ画面でロードしてしまいます なるべくロゴ表示を早く切り替えるのにはどうすれば良いですか?
816 名前:名前は開発中のものです。 mailto:sage [2015/08/09(日) 23:31:12.99 ID:eHkK7Iki.net] Proを買う
817 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 00:39:12.02 ID:NcNOCafI.net] キャラIDとスキルIDをボタンの引数として登録する機能を作っています。 ボタンを押した時にShowSkillWindow(int, int)を実行するのですが、 2個目の引数の値をこの時点のiの値で呼び出したいのに、ボタンを押した時点での値で呼び出されてしまいます。 (この場合はループ終了後のiの値である5が引数になる) public void Init(int charaID) { for (int i = 0; i < 4; ++i) { Button.ButtonClickedEvent clickEvent = new Button.ButtonClickedEvent(); Debug.Log("charaID:" + charaID + ", SkillID:" + i); clickEvent.AddListener(() => BattleManager.I().ShowSkillWindow(charaID, i)); skillButtonList[i].GetComponent<Button>().onClick = clickEvent; } } 引数を固定させる方法か、代わりになる方法はありませんか?
818 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 01:01:41.62 ID:NcNOCafI.net] 解決と言えるのか自信がないけど意図した動作が出来たので残します。 引数を保持するための構造体の定義を作っておき、そこから処理を呼ぶ方法で実装出来ました。 構造体を作って放置するのがメモリ的に不安なので、改善点あれば教えてもらえると助かります。 struct StrSkillAction { public UnityAction SkillAction(int charaID, int skillID) { return () => { BattleManager.I().ShowSkillWindow(charaID, skillID); }; } } public void Init(int charaID) { for (int i = 0; i < 4;++i) { Button.ButtonClickedEvent clickEvent = new Button.ButtonClickedEvent(); Debug.Log("charaID:" + charaID + ", SkillID:" + i); StrSkillAction eventClass = new StrSkillAction(); clickEvent.AddListener(eventClass.SkillAction(charaID, i)); skillButtonList[i].GetComponent<Button>().onClick = clickEvent; } }
819 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 01:55:01.36 ID:5Hk6N57m.net] >>809 >if(Physics.Raycast(transform.position,Vector3.down,out hit, 10 )){ out hit, ここに空白が入っていても、構文エラーにならないの?
820 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 02:03:06.07 ID:NcNOCafI.net] outは関数の中で値を入力して返すためのもの この場合はRaycast関数の中でhitに衝突情報が入って返ってくるということ いわゆる参照渡しみたいなもの
821 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 02:09:07.80 ID:NcNOCafI.net] >>809 衝突自体していないのか、 Raycastは真だけどtagに別の値が入ってるのか、 別の物体とは衝突するのか あるいは別の物体と先に衝突しているのか その辺りを調べればいいと思う 予想では、別の物体が先に衝突してるんじゃないかと その場合はレイヤーマスクの指定で解決するかも
822 名前:名前は開発中のものです。 [2015/08/10(月) 02:23:40.44 ID:FUa01Ekr.net] 806です。 >>819 参考にしたサイトに、第三引数にoutで指定すると衝突したオブジェクトの情報が入る。と書いていたので そのまま使ってます。hitのColliderを判定してるので必要ですよね?エラーは出てないですが、isGrounndedは返ってきません。 接地判定やcheck groundで検索してみたんですが、どうしても欲しい情報がないんですよね。
823 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 04:40:26.71 ID:WlJ3IdsP.net] ブレイクポイントの使い方を覚えると捗るよ
824 名前:名前は開発中のものです。 [2015/08/10(月) 12:06:28.96 ID:FUa01Ekr.net] 806です。 皆さん本当にすみません。ただ単にBlenderからインポートしたオブジェクトが大きすぎて、 Raycastが届いて無かっただけの様です。 サイズ調整したらちゃんと接地判定してくれました。色々おかしかった所の大半がリサイズで解決しました。 アドバイスいただいた皆さんありがとうございます。
825 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 14:22:11.83 ID:mK6U9Zck.net] 設計の問題かもしれませんが、ダンジョンで使ったオブジェクトやらスクリプトを町で使いまわしたいのですが ゲームの状態(ポーズ画面とかインベストリ画面とか)を操作するスクリプトを変える必要があって、これを変えると他の部分も大量に変える必要が出てしまうので シーンごとに同じ名前(スクリプト名やら)だけど内容は違うみたいなことが出来る方法ってありますか? やりたいことは倉庫の実装でインベストリ画面を開いたままにしたいのですが、ゲーム状態のスクリプトのupdateの部分に色々かいてたりするので倉庫だったらリターンtかも出来なさそうですし・・・ この方法以外にもいいやり方あったら教えていただけると幸いです
826 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 14:26:44.54 ID:v4fNYOjT.net] >>825 もしかして:インベントリー画面 設計が間違ってると思うぞ、パーツとしてのスクリプトやプレファブの独立性を高くしないとどんどん酷くなると思う。
827 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 14:33:12.42 ID:mK6U9Zck.net] >>826 なにぶんゲームやらプログラミング初めてなのでいまいち設計がわからなく・・・ 次からは気をつけようとは思うのですが(どう気をつけるべきかも分からないってのもありますが) 今回はちょっとこのままごり押しで行きたいと思うのです この作品では倉庫と店さえできれば(二つともインベントリひらくだけ)あとはつくるものはほぼないのでこのままいけたらなとは思ってます
828 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 14:40:00.14 ID:mK6U9Zck.net] うーんよく考えたらゲーム状態の上位にさらにゲーム状態くっつければいいような気もしてきました updateの部分をダンジョンだったら動作するように変えて町かダンジョンかの状態も操作するような物にしてみます
829 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 15:04:38.80 ID:sZwBkfWo.net] UNITYをRPGツクールかなんかと思ってないかw スクリプト変えないで町を作ろうとか
830 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 15:13:10.50 ID:mK6U9Zck.net] >>829 一番楽だろうなと思ったのはスクリプト名を同じものにして(他で名前変えるのが面倒だったので)スクリプトの内容は変えるという感じで これが出来たら一番楽だなと思って質問しました
831 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 15:18:55.29 ID:wojOIyQx.net] 実際デリゲートとか使えばそれで済む話だしな〜
832 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 15:23:07.25 ID:sZwBkfWo.net] 今一何したいのか判らん>>826 の言うとおり設計から考えなきゃだめなんじゃね 単にスクリプトのクラス名が衝突するのを回避したいならnamespaceで調べれば幸せになるれけど
833 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 15:32:53.53 ID:mK6U9Zck.net] >>832 倉庫ではゲーム状態(ポーズ画面とかそういうやつ)をインベントリ画面に設定して他のボタンを押してもそこから動かないようにしたかった かつ、ダンジョンで使っていたものを再利用したかった そこでゲーム状態操作するスクリプトをいじる必要があったのでダンジョン内では、アップデートの部分に例えばesc押すとポーズみたいな関数があり その部分をシーンがダンジョン内だったら動くようにしました 仮に設計から考える場合はどうなるんですか?
834 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 15:37:25.40 ID:sZwBkfWo.net] いやその説明で設計の助言できるのはエスパーかよほど似たような事してる奴だけだろw
835 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 16:59:55.36 ID:KBTO4hmR.net] Unity5 Water4シェーダーについて質問です。 浅い川に使ってるのですが、屈折効果があわられません(水面下がうにゃうにゃ変形されるの) 色々試したのですが、ある程度(2m以上)深くすると効果が出ます。何処をいじればいいのでしょうか? 全てのパラメーターを極端な数値に設定して試したのですが、うにゃうにゃになりません。 もしかしてシェーダースクリプトそのものを変更しないとダメなのでしょうか?
836 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 17:44:03.89 ID:7mxq3sqw.net] Instantiateで作ったクローンたちをCanvasの子にするにはどうすればいいんでしょうか? ttp://blog.doinet.co.jp/?eid=1031771 ここのサイトを参考にしましたがうまくできませんでした・・・
837 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 17:50:16.51 ID:Vfcir//D.net] >>836 docs.unity3d.com/ja/current/ScriptReference/RectTransform.html にある SetParent 関数でどうぞ
838 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 18:02:19.58 ID:KBTO4hmR.net] >>835 自己解決しました。 Editorスクリプトが入ってなかったので入れて、 NormalsとFadeをいじってる内にいい感じに屈折表現されるようになりますた
839 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 18:05:16.92 ID:Vfcir//D.net] >>835 テストシーン作ってみたけど普通に動いてる気がする 2mてのがわからんけど、Daylight Water をy=0において、床をy=-0.0001でもちゃんと歪んだ 動作の感じからすると水面と川床の距離がカメラから見て小さくなりすぎると Zの精度の都合で歪ませたテクスチャのレンダリングがうまくいかなくなってる 別な要因の場合だとわからん
840 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 18:07:56.00 ID:Vfcir//D.net] あれ?違うシェーダーかな・・
841 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 18:28:21.51 ID:wI7xw16W.net] Unity5.1.2のパーティクルについて質問です。 2Dゲーム内でスプライトをパーティクルとして利用する方法がわかりません。 2Dパーティクルの作成方法、または参考となるサイトなどありますでしょうか? ttp://udasankoubou.blogspot.jp/2012/07/unity2d.html ↑のサイトを参考にパーティクルを作製しているのですが バージョンの違いのせいか、黒い四角が表示されて終わります。
842 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 18:54:14.72 ID:7mxq3sqw.net] >>837 のSetParentを使ってみたんですがなぜかAn object reference is required to access non-static memberのようなエラーが出てうまくいきません 子(objという名のオブジェクト)のスクリプト内で以下のように書いているんですが、どういう記述にすればいいんでしょうか・? obj2 = GameObject.Find("obj"); obj2.transform.SetParent (Canvas.transform,false);
843 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 18:55:43.91 ID:ljA6WxLC.net] すぐに自己解決したりちょっと調べれば解るようなことでいちいち質問すんな 自分で解決する癖つけないと何時迄も初心者以下のまま 3日くらい悩んで解らなかったら質問しろ
844 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 19:06:00.20 ID:7mxq3sqw.net] >>843 調べても解決しませんでした 逆にどう調べたら解決したんですか? ほんとにググって解決するんですか?
845 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 19:15:47.52 ID:Vfcir//D.net] >>844 しますよ 調べ方すら分からないくらいあらゆる知識と知恵が足りていないだけ
846 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 19:23:39.80 ID:7mxq3sqw.net] >>845 じゃあどう検索して、どのサイトで分かるか教えてください。そこまで言うからにはあるんでしょ? また、そうやって煽るのも、調べる力を低下させる原因になります、なのにそういって調べさせるのはよくないと思いますよ
847 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 19:43:59.77 ID:v4fNYOjT.net] >>846 InstantiateしたのがGameObjectならtransform持っているし、transformもっていればSetParent出来ることは確実 つかなんでFindしてんだ? Instantiateしたオブジェクトは何処行った?
848 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 19:45:52.51 ID:F7WR9lyE.net] そもそもこれを正しく理解しないとな GameObject retObj = (GameObject)Instantiate(プレファブ); この retObj には、実体化したプレハブが入ってる。findコマンドは必要ない。 retObj.transform.SetParent (Canvas.transform ,false); ただCanvas.transform自体、実体取れてない気がするがな。 悪い事言わんから大人しくチュートリアルやっとけ。 このレベルなら、ここで聞くよりよっぽど有益だぞ。
849 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 19:54:35.14 ID:wI7xw16W.net] とりあえず全部の質問に「優しく答えてやる」のが このスレの存在意義なんじゃないんでしょうか それに納得できないならググるためのキーワードとかヒントを教えて欲しい
850 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 20:03:34.21 ID:GfmM7YVS.net] こういうのをアスペって言うのかな
851 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 20:05:31.46 ID:Vfcir//D.net] >>846 Unity5 親子関係 Instantiate で出てきたヤツを上から順番に見て 関連する部分でしらないメソッドやクラスをさらに検索する クラスならUnity本家のリファレンスも同時に参照し、関係するものを調べる これだけできみらの抱える極々基礎の問題は大半が解消できる 「調べる」は基本的なことだから「調べさせるのはよくない」と言い出すくらいなら もうプログラムやめていいよ 向いてない
852 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 20:09:51.32 ID:7mxq3sqw.net] >>847 親がobjをInstantiateしてます、親にSetParentを書いてみましたがエラーが出てうまくいかず・・・ SetParentは子に書くんですか?でも子でもうまくいかなかった気が・・・ キャンバスに対してゲットコンポーネントでもしないといけないんですかね?
853 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 20:09:55.81 ID:Vfcir//D.net] >>841 Unityはパーティクルが旧来ものとシュリケンと呼ばれる新しいものの二種類がある 検索先の日付を見て古いものは旧バージョンの情報だと思った方がいい tips.hecomi.com/entry/2015/03/23/004733 リンク先の記事のリンク先やUnity公式を見ながらがんばれ
854 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 20:12:28.42 ID:7mxq3sqw.net] >>851 なに勘違いしてるんですかね・・・調べさせるのは良くないとは一言も言ってないんだが?勘違いも甚だしい 未だに煽ってるしそっちこそもうプログラムやめていいよ 向いてない
855 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 20:13:26.12 ID:v4fNYOjT.net] >>852 そのときのコードとエラーの写しを添えて質問すべきだと思うな
856 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 20:15:04.29 ID:Vfcir//D.net] >>852 Canvasが取得済みのGameObjectなら obj2.transform.SetParent (Canvas.transform,false); これで問題ないはずだ できていないなら隠してる情報をもっと載せるべき エスパーじゃないからエラー行や変数がどうなっているかはわからない
857 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 20:43:11.24 ID:Vfcir//D.net] とりあえずな 質問を書き込む前に 過去レスを遡って直接自分が抱える問題と関係ないものでも目を通して 質問を答える上で相手に伝えなければいけない情報の選別の仕方と 相手が理解できる質問の書き方を先人から学んでくれ 何をやりたいか、何が問題か、どういう記述をしたか、どういう状況なのか、どういう結果だったのか 返答の後に情報を後出ししなくていい様にちゃんと書いてくれ
858 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 21:04:57.79 ID:wI7xw16W.net] >>853 ありがとうございます!いろいろ試してみます!
859 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 21:19:10.44 ID:7mxq3sqw.net] エラーはこれです error CS0120: An object reference is required to access non-static member `UnityEngine.Component.transform' error CS1502: The best overloaded method match for `UnityEngine.Transform.SetParent(UnityEngine.Transform, bool)' has some invalid arguments CS1503: Argument `#1' cannot convert `object' expression to type `UnityEngine.Transform' 親のソースはこれです public GameObject obj; void Update () { Instantiate(obj,new Vector3(0.0f, 0.0f, 0.0f),Quaternion.identity ); obj.transform.SetParent (Canvas.transform ,false); } objにはインスペクタで増やしたいオブジェクトを入れています 子に書いてゲットコンポーネントもするのが正解なのか…うーん・・・
860 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 21:37:06.46 ID:+inM/XFW.net] 程度の低い質問者に程度の低い回答者……これがUnityの質というわけか…… そりゃアセットおじさんさえも飽きていなくなるわな
861 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 21:37:43.37 ID:v4fNYOjT.net] >public GameObject obj; >void Update () { >Instantiate(obj,new Vector3(0.0f, 0.0f, 0.0f),Quaternion.identity ); >obj.transform.SetParent (Canvas.transform ,false); // エラーって全部この行ででてないかい? >} ここだけで間違いが3つ 1:Instantiateの戻り値を捨てている 2:obj.transform.SetParent〜 では元のPrefabへの変更になる 3:Canvas.transformなんてクラス変数は無いんじゃないかな?、Canvasを手当したGameObjectの参照の名前は何処? public GameObject prefab; // objって名前はよろしくないので改名 public GameObject yourCanvasObject; // Canvasオブジェクトをinspectorで指定しておく void Update() { GameObject child = (GameObject) Instantiate(prefab, Vector3.zero, Quaternion.identity ); // GameObjectをInstantiateしても戻り値はobject型なのでキャストする child.transform.SetParent(yourCanvasObject.transform, true); // instantiateしたchildオブジェクトの親を指定 } とりあえずエラーのある行をゆっくり観察してエラーが持つ意味をちゃんと理解しないと先に進むのは難しいと思うよ。
862 名前:名前は開発中のものです。 [2015/08/10(月) 21:42:14.98 ID:TI2mbg4u.net] unity触るのやめてc#一通り勉強してこい
863 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 21:42:50.85 ID:Vfcir//D.net] >>859 void Update () { GameObject dupe = Instantiate(obj,Vector3(0.0f, 0.0f, 0.0f),Quaternion.identity ) as GameObject; dupe.transform.SetParent (Canvas.transform ,false); } インスタンス化したものを子にしたいなら複製元をCanvasの子にしても意味が無いし 目的の挙動ではないはず Canvasは目的のGameObjectが設定されているか?
864 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 21:44:33.16 ID:Vfcir//D.net] あとあれだ Update() にこの書き方で設置すると毎フレーム生成される 必要な数以上複製されない仕組みがいる
865 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 22:39:54.26 ID:A8ecWOMC.net] >>857 横槍ですまんが、それは回答者として求めてはいけないものだろう。 回答するって事は、困ってる人を助けてあげたい優しさ持ってるんだから、何が分からないかから接してあげるべき。 そうでなければ、中途半端に答えず荒らさず傍観すべきかな。
866 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 22:46:13.76 ID:WlJ3IdsP.net] >>844 何をどう調べたの? それを教えてくれればあなたの調べ方の何が不味かったのかアドバイスできると思うよ
867 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 22:57:59.54 ID:NcNOCafI.net] このInstantiateの使い方じゃ、サンプルの真似してボール転がす程度もやってないでしょ ドットインストールのUnityの項目全部見てからにした方がいいと思うよ
868 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 23:26:41.94 ID:7mxq3sqw.net] >>861 なんとかできました どうもありがとう エラーで検索しても見当違いのサイトしか出なかったです >>867 それくらいやってます
869 名前:名前は開発中のものです。 mailto:sage [2015/08/10(月) 23:49:17.42 ID:euFex8cc.net] いつの時代も、作る道具は時代と共に良くなって来てるけど、最終的に使う側の問題だなー。 イメージが出来ても、実際のUI、システム構成で良く躓く。 そして、進んでない。
870 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 00:45:20.99 ID:KPmARwdy.net] 人口が増えればunityはもっと良くなるはず 人口が減れば終わる
871 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 00:50:12.02 ID:VEjGaOYd.net] >>862 ほんまこれ ちょっと基礎を飛ばし過ぎ >>868 「それくらいはやってます」とのことだが、 理解は出来てないのが、はたから見て丸分りなんだよね。 いいからチュートリアルの1行1単語の意味が、他人にもしっかり説明できるようになるまで繰り返しやれ 親子関係程度でつまずいてたら何もできないぞ
872 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 00:59:16.87 ID:VEjGaOYd.net] >>861 これは質問スレで指摘する事じゃないかもしれないけど、 > public GameObject prefab; // objって名前はよろしくないので改名 > public GameObject yourCanvasObject; // Canvasオブジェクトをinspectorで指定しておく インスペクタ上からアタッチする変数は、ぱっと見て分るようにするべきと、俺は考える 例えばアンダースコアを変数名の先頭に付けて _prefab とか、guiAttachedCanvasとかね 絶対そうした方がいいと思うんだよな
873 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 01:10:31.95 ID:n8SRK3/q.net] >>868 やってみます、だと思ってスルーしてたが、やった上でこれなのか 呆れました
874 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 01:35:46.90 ID:vV/MFq+X.net] >>872 858書いたの俺なので一応 ネーミングルールはプロジェクトで統一するのは当たり前なのだけどそれはそれぞれやり方があるからあんまり質問スレの回答には充てたくなかったんだ。 俺の場合publicなGameObjectはInspectorで設定する物って言うルール使ってる(スクリプトから参照する奴はgetter/setterにするんだわ:そうするとInspectorから見えないってのを利用してアノテーションしないですむので楽) 例のがprefabなのは質問者のprefabが何者なのかわかんねーからなんだわ あとUnityで使うときにpublic変数多くなる人には"_"付きの奴が外から設定とかって簡単に覚えられて良いかもしれないとは思った。
875 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 02:43:47.13 ID:u1ppaVHy.net] C#スレでも出てるけど定数(const)を全部大文字で書くヤツは死ね
876 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 02:51:36.38 ID:Sg1gK6uX.net] >>875 なぜに?
877 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 02:56:52.60 ID:vV/MFq+X.net] >>875 コーディングルールで定数を全部大文字ってのは割と多数を占めるのであるが
878 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 04:19:27.80 ID:u1ppaVHy.net] >>876 >>877 peace.2ch.net/test/read.cgi/tech/1437808445/351-356 peace.2ch.net/test/read.cgi/tech/1437808445/398
879 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 05:54:11.55 ID:+Qtsm12Y.net] 独自ルールだらけにならざるを得ない環境で細かい記述ルールを守っても意味ない
880 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 09:28:28.40 ID:IM/MaimO.net] >定数を全部大文字 慣習とかC/C++からの移植とかあるからな。 WinAPI呼び出すときの定数とかね
881 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 09:33:43.82 ID:vGey4TmF.net] 仕事と趣味をごっちゃにしてる人がいるな。何で嫌なのかを示してから言えばいいものを。無駄に軋轢を産む。戦論したいの?他でやって。
882 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 12:44:54.97 ID:VEjGaOYd.net] >>874 このスレでまともな人を見ると感動すら覚えるわw アンダースコア付きのpublicは、是非色んな人にやって欲しい >>875 明確な理由付けがある物に対して、 ぱっと見て正当性が分るだけマシと考えた方が、よっぽど健全だと思うけどな あんたのその正義は、何のために振りかざしている正義なのかと
883 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 13:19:01.98 ID:vV/MFq+X.net] >>882 MicroSoftのC#銘々ルールだったよ C#見たいにリフレクションが完全に行える言語なら正しいと思う、なぜならエディタ上でキーワードがどのような識別子なのか判別つくから UnityでしかC#使わないんで読んでも居なかったから僕はありがたいと思った 慣れるかと言われたらかなりイヤだけど Erlangの変数名は大文字で始めるっての並に拒否感高いというか
884 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 14:05:38.79 ID:Bpp5drd1.net] はぁ?
885 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 17:06:20.75 ID:VNX+5OxD.net] >>878 定数名の付け方なんて好き好きでいいと思うが プリプロセッサの話はC#では当てはまらないんじゃないかな #defineって名前しか定義できないでしょ
886 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 17:18:32.63 ID:vGey4TmF.net] 外へ出た時(あればの話ね)自分も周りも苦労するから、大きいくくりでの慣習は周知使用しといてねって事だわな。
887 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 18:51:43.71 ID:u1ppaVHy.net] >>882 何言ってるのかさっぱり分からん
888 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 21:02:00.09 ID:Q3+lk5oS.net] 大文字だの小文字だのと小さなこと(大きな文字?)にこだわって激論する姿が面白いな 俺? 俺は外へ出る可能性は万に一つも無いこともあって 変数名も関数名も 日 本 語 です
889 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 21:08:43.32 ID:vGey4TmF.net] >>888 ザパニーズ、すんばらしぃ〜w
890 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 21:13:24.39 ID:n8SRK3/q.net] 一度だけ定数名を日本語にしてゲーム作ったことがあるが、自動補完すら面倒だったからやめたな だが異端プレイが楽しいのは事実
891 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 21:26:02.22 ID:Q3+lk5oS.net] せっかく機能(識別子に2バイト文字を使えるという仕様)があるんだから 使わないと勿体ないよね! C#使いなら2バイト文字を使ってなんぼですわ 日本人なのにいつまで古くさいASCIIの仕様にしがみついてるのっていうね! アメリカかぶれの気取ったプログラマは引っ込んでろっつーの、わははは! ……はぁorz
892 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 21:49:42.83 ID:p4NyI3d+.net] BASICの昔から日本語ってのはあったが流行った試しがない 決して見やすくも分り易くもならず日本語入力する手間暇が無駄なだけ
893 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 21:50:49.43 ID:vV/MFq+X.net] >>891 日本語識別子使うならT-codeとかの直漢入力使えないと話にならない気がする ひらがなと一部の漢字だけ覚えたけどコレになれたら余所で困るという
894 名前:名前は開発中のものです。 mailto:sage [2015/08/11(火) 23:22:31.35 ID:VEjGaOYd.net] 日本語入力は単純にタイピング数が多いから流行るわけないんだよなぁ 煩わしさが半端じゃない 変数・関数の最初10文字は英語とか縛れば、入力補完で使い物にはなるかも知れんが
895 名前:名前は開発中のものです。 mailto:sage [2015/08/12(水) 00:25:00.88 ID:RYecM/MT.net] ワロタ
896 名前:名前は開発中のものです。 mailto:sage [2015/08/12(水) 05:22:53.00 ID:ijryaY5a.net] ドッグファイトのようなゲームを作ってます Terrainを生成して、そこに厚さ0.5unit程度の厚さの道路を敷きました。 いざ再生して、飛行機(高高度)からの視点にすると 道路がチカチカと点滅し、下のTrrainが見えてしまいます。 Terrainは縦横2000 高度600を300にフラットさせてから高低差をつけています。 何か対策はありませんでしょうか。
897 名前:名前は開発中のものです。 mailto:sage [2015/08/12(水) 07:11:00.24 ID:eJ+V4z3d.net] 俺も日本語使いなんだけど これひょっとしてWebGLでビルドできなくねえか?
898 名前:名前は開発中のものです。 mailto:sage [2015/08/12(水) 08:00:31.01 ID:myH8kDnk.net] >>897 Windowsの32bit版だと途中で止まるっぽい 64bit版だとちゃんと動くよ ただFirefox以外まともに動かないのでWebGLってダメじゃね?
899 名前:名前は開発中のものです。 mailto:sage [2015/08/12(水) 08:41:04.12 ID:eJ+V4z3d.net] >>898 >ただFirefox以外まともに動かないのでWebGLってダメじゃね? 使ったことないので知らなかった・・・ ただ、プラグイン入れてない人がプラグイン入れろ!みたいな表示みると知らない人だとよくあるアドウェアトラップに見えそうなので 乗り換えようとか考えてた Firefox以外まともに動かないんだね・・・
900 名前:名前は開発中のものです。 [2015/08/12(水) 08:59:04.00 ID:qv5u6DLz.net] ChromeはNPAPI廃止したからUnityプラグイン動かないんだろ?困ったもんだねいつまでネイティブクライアントにこだわってるつもりなんだろう プラグイン入れろ表示は自分のサイトに貼り付けるなら日本語で案内書いておけば紛らわしくないんじゃないのかね?
901 名前:名前は開発中のものです。 mailto:sage [2015/08/12(水) 09:06:55.00 ID:5r5YOrQr.net] Chromeって無駄にセキュリティウザイよな。 少し前の窓の社のDLできない問題の時だってIE使わないといけなかったし。 「危険なようですがDLしますか?」で確認してくれるだけでいいのに。 そこからDLして何かあってもユーザーの責任だし。
902 名前:名前は開発中のものです。 [2015/08/12(水) 09:20:26.26 ID:qv5u6DLz.net] まあもともと将来的には廃止するからPPAPIに移行しろってずっと言ってたんだけどね Unity社の怠慢だね。はっきりとは言ってないけどPPAPI版出す気なさそうだし
903 名前:名前は開発中のものです。 mailto:sage [2015/08/12(水) 09:45:26.74 ID:eJ+V4z3d.net] >>894 途中まで識別子入れれば入力補完出るよ 一文字目の漢字いれれば出るから漢字の種類多い分こっちのが字数入れる必要ないし タイピング数はどっこいくらいじゃないかな
904 名前:名前は開発中のものです。 mailto:sage [2015/08/12(水) 10:20:32.80 ID:l+g/6r30.net] シーン内でQualitySettings.SetQualityLevelでレンダリング品質を低くすると一部のメッシュの色がおかしくなって、 同じシーン内でレンダリング品質を元に戻しても色がおかしいままだったりするんだが、 レンダリング品質とかのグラフィックに関する設定を変更した場合はシーン切り替えした方がいいのかな。
905 名前:名前は開発中のものです。 mailto:sage [2015/08/12(水) 10:57:53.89 ID:oshFl73w.net] メニューの Assets->ReinportAll で直ったりしない? テクスチャ品質が落とされて再コンバートされてないから、かも