[過去ログ]
【3Dゲームエンジン】Unity質問スレッド32 (1002レス)
【3Dゲームエンジン】Unity質問スレッド32 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
690: 名前は開発中のものです。 [sage] 2017/12/07(木) 20:59:33.67 ID:KQoomDkR 申し訳ないなら書くなバカ http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/690
691: 名前は開発中のものです。 [sage] 2017/12/07(木) 20:59:47.59 ID:4zStDQvW >>689 このスレにはそんな難しい質問に答えられる奴はいない。 TwitterやFacebookで現役のエンジニアに質問してみたまえ http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/691
692: 名前は開発中のものです。 [sage] 2017/12/07(木) 21:22:46.91 ID:xK05b4bo >>689 アセットをかえばいいんじゃないですか? http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/692
693: 名前は開発中のものです。 [sage] 2017/12/07(木) 21:23:50.82 ID:oxqTCZ+G >>689 回答されてるじゃん、まずそれやってみなよ。 そんで、やった結果をかきなって。 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/693
694: 名前は開発中のものです。 [sage] 2017/12/07(木) 21:50:41.87 ID:NWPNPY2x >>684 アセットのことはよく知らないけど、プログラムで動かす方法が一番普及してて、検索すれば情報もたくさん出てくるので習得しやすい気がする。 https://codegenius.org/open/courses http://csharp.sevendays-study.com/ http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/694
695: 名前は開発中のものです。 [sage] 2017/12/07(木) 23:51:35.97 ID:DyP8ts7O 3Dゲームのプログラムは、3D空間上での挙動(移動と回転)がメインだから、 慣れればできると思うけど・・・ 向きを変えて、移動して、発射して、当たったら消えて・・・ くらいできれば、少しゲーム性が出てくるので、 あとは、操作系を作りこんだり、挙動のパリエーションを増やしたり、 キャラを増やしたり、当たり判定を調整したり、試行錯誤 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/695
696: 名前は開発中のものです。 [sage] 2017/12/08(金) 00:36:47.86 ID:Urki8ZVQ ちゃんと動くクソゲーの出来上がりってわけ http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/696
697: 名前は開発中のものです。 [sage] 2017/12/08(金) 01:50:07.09 ID:rY92HIWe はい皆さんこんばんは。 気分が乗ったら講義のお時間です。 本日の講義は "ループ制御" です。 ループ制御は「プログラムの任意の場所を繰り返し実行させたい」ときに使うもので "for文" と "while文" の2つを使います。 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/697
698: 名前は開発中のものです。 [sage] 2017/12/08(金) 01:50:30.93 ID:rY92HIWe まずは for文 から説明します。 for文 は以下のように記述します。 [例] int i=0; for(i=0; i<10; i++){ Debug.Log("i=" + i ); } これは「{ }」に囲まれた箇所が10回繰り返される例です。 今回「{ }」に囲まれた部分は「Debug.Log("i=" + i );」なのでDebug.Logが10回実行されることになります。 1回実行される度に"i"は1ずつ加算されていきます。 結果「i=0」「i=1」…「i=9」と画面に表示されます。 それでは for文 自体の説明です。 「 for(?i=0; ?i<10; ?i++) 」 ?"i=0;"…ここにはループのスタート値(初期値)を定義します。 例えばここを"i=8"にすると0からのスタートではなく8からのスタートになるので ループ回数は10回ではなく「i=8」と「i=9」の2回しかループしなくなります。 ちなみに今回は変数"i"を使用していますが好きな変数名でかまいません。 またint型でなくbyte型でも構いませんがfloat型などの小数型は使えません。 ?"i<10;"…ループ繰り返し条件式です。 今回の例では「iの値が10より小さい(10は含まれず9以下)場合はループを繰り返す」という式になっています。 例えば「i<=10」とすると 「iの値が10以下場合はループを繰り返す」となり10も含まれます。 ?"i++"…ループに使用している変数の増え方を指定します。 この例の場合はiが1ずつ加算(増える)されていきます。 「i=i+1」と同じです。 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/698
699: 名前は開発中のものです。 [sage] 2017/12/08(金) 02:06:02.96 ID:rY92HIWe 次に下の例を見てください。 [例] int i=0; for(i=10; i>0; i--){ Debug.Log("i=" + i ); } これはスタート値10から始まり、0に向かって1ずつiの値を減らしていっています。 実行結果は「i=10」「i=9」…「i=1」となります。 初心者が間違えやすいのが「i>0;」部分を終了条件と思う事です。 ここは終了条件ではなく『継続条件』です。 この部分の式が成立している間 for文 は繰り返しを実行し続けると思ってください。 上の例を言葉で表すと 「iの中身が0より大きい場合、繰り返してください」となります。 [例] int i=0; for(i=10; ; i--){ Debug.Log("i=" + i ); } これは「継続条件」を記述していない例です。 これでもエラーにはなりませんが絶対に実行しないでください。 この場所でプログラムが永遠と繰り返され続けUnityがフリーズしてしまいます。 これを『無限ループ』と呼びます。 無限ループが発生するとUnityを強制終了しないと終わらせられなくなります。 強制終了のやり方が分からない人は絶対に実行しないでください。 このように継続条件式を書く部分はとても重要です。 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/699
700: 名前は開発中のものです。 [sage] 2017/12/08(金) 02:18:02.11 ID:rY92HIWe [例] for(int i=0; i<10; i++){ Debug.Log("i=" + i ); } これはiの宣言を for文 の中で一緒に行っている例です。 この記述が一番使います。 このiはfor文内の"{ }"の中だけ有効でループが終わると自動的に消滅します。 この点がfor文外で宣言した場合と異なるので注意が必要です。 つまり以下の例はエラーになります。 [例] for(int i=0; i<10; i++){ Debug.Log("i=" + i ); } Debug.Log("i=" + i ); //←"i"消滅後なのでここでエラーとなる。 👀 Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f) http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/700
701: 名前は開発中のものです。 [sage] 2017/12/08(金) 02:33:53.86 ID:rY92HIWe [例] for(int i=0; i<10; i=i+2){ Debug.Log("i=" + i ); } これは三番目の増減値を1ではなく2にした例です。 「i=0」「i=2」「i=4」…「i=10」のように表示されます。 "i=i+2"部分は"i+=2"のように省略系も使用できます。 [例] for(int y=0; y<3; y++){ for(int x=0; x<3; x++){ Debug.Log( x + ":" + y ); } } 多重ループの例です。 ループ制御はループ中にさらにループさせることが可能です。 上の例の場合は 「0:0」「1:0」「2:0」 「0:1」「1:1」「2:1」 「0:2」「1:2」「2:2」 のように表示されます。 2DのJRPGやシミュレーションのフィールドマップや、手動であたり判定を行う時に使用したりします。 Rock54が出たから while文 は次回に持ち越し 今回は以上だクソども http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/701
702: 名前は開発中のものです。 [sage] 2017/12/08(金) 02:35:04.69 ID:Urki8ZVQ 最初から条件式が偽の場合の説明がないやん http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/702
703: 名前は開発中のものです。 [sage] 2017/12/08(金) 09:34:46.35 ID:Qga/mJqt インポート時、プロジェクトの cs ファイル変更時におきる Compiling Script というプログレッシブバーや、右下のぐるぐるがとまらない の処理が10分たっても終わりません。 mono.exe を kill すると復帰するのですが、そのあとメッセージなしのエラーが表示されます。 対策あったら教えてください。お願いします。 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/703
704: 名前は開発中のものです。 [sage] 2017/12/08(金) 10:04:46.10 ID:vndbYB6g >>703 対策案ですが、アセットを買ってみたらどうですか? http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/704
705: 名前は開発中のものです。 [sage] 2017/12/08(金) 10:07:17.61 ID:Qga/mJqt >>704 どのアセットですか? http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/705
706: 名前は開発中のものです。 [sage] 2017/12/08(金) 10:20:09.46 ID:0uuW61/P まーた中身を理解しないままパクッて使おうとしてるキムチか http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/706
707: 名前は開発中のものです。 [sage] 2017/12/08(金) 12:50:56.59 ID:v80JBwFv プロジェクトウィンドウでC#スクリプトファイルを作成した際に、アイコンが通常のC#ではなく歯車になることがあります。 その条件と理由を教えて下さい。 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/707
708: 名前は開発中のものです。 [sage] 2017/12/08(金) 20:16:19.57 ID:q0nmqcMI >>701 ありがとうございます!! ジェネリック関数の講義が待ち遠しい。 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/708
709: 名無し@キムチ [] 2017/12/09(土) 08:10:05.76 ID:1JEBIHPe やったー!!外部オーディオ鳴らすのに成功したーーーーっ!!!! 最初のりたまブログのこのコード見たけどダメだった・・・ IEnumerator StreamPlayAudioFile(string fileName) { //ソース指定し音楽流す //音楽ファイルロード using(WWW www = new WWW("file:///" + fileName)) { //読み込み完了まで待機 yield return www; audioSource.clip = www.GetAudioClip(true, true); audioSource.Play(); } } いろいろ試してみたけどダメで、挫折しそうになったが、 audioSource.clip = www.GetAudioClip(true, true); の前の行に、 audioSource = GetComponent<AudioSource>(); というのを付け加えて、オブジェクトに空のオーディオソースコンポーネントを追加したところ、 音楽が鳴ったぁぁぁあああああーーーーーーーーっ!!!!!!! いやあ、当方って天才かも!?(マジで) みなさぁーーーーん、オーディオはコンポーネントで追加しなくても(空のコンポーネントは必要だけど)、 外から読み込んで使えるので、参考にしてくださいね。 (これはユーザーに自分の好きなゲームBGMを使ってもらうことができるすごい方法です!) いやあ、当方って天才!!!!!!!! http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/709
710: 名前は開発中のものです。 [sage] 2017/12/09(土) 12:22:44.90 ID:8nWowzmq スレチだったらごめん。 アクションゲームを作るために「ゲーム制作のための数学」系の本を 一冊買っておきたいんだけど、何かおすすめあります? もしくはアルゴリズムの参考になるアセットがあったら教えてほしい。 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/710
711: 名前は開発中のものです。 [sage] 2017/12/09(土) 13:07:47.43 ID:X9y8lbqo >>710 アクションゲームの完成プロジェクトアセットを購入しましょう http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/711
712: 名前は開発中のものです。 [sage] 2017/12/09(土) 15:04:45.02 ID:Ia5bSAGk >>708 残念ながらジェネリック関数を扱う予定はなし >>710 市販品で例えるとどんなアクションゲーム? Unityは大抵のゲームアルゴリズムが既にシステム関数(メソッド)にまとめられて 1行書き込む(呼び出す)だけで使用できちゃったりするから覚える必要ない場合が多い http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/712
713: 名前は開発中のものです。 [sage] 2017/12/09(土) 16:49:05.54 ID:G7HaLFZX >>710 2Dか3Dかで変わってきます http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/713
714: 名前は開発中のものです。 [sage] 2017/12/09(土) 16:59:09.75 ID:8nWowzmq >>711-713 ごめん、2Dです。 マリオとかメトロイドヴァニア系のアクションをを作る予定ですが、ショットをちゃんとした物理的な挙動にしたいのと、 あと飛行タイプの敵とか動く足場とかを∞←こういう軌道で動かしたりしたいんですよね。 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/714
715: 名前は開発中のものです。 [sage] 2017/12/09(土) 17:05:16.75 ID:x1Unwj8Y unityの2Dでマリオ3みたいなやつでお手本になるゲームないでしょうか マリオランみたいに一方にしか移動しないようなのじゃなくて http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/715
716: 名前は開発中のものです。 [] 2017/12/09(土) 17:27:29.06 ID:1JEBIHPe PC内にあるすべてのwav音を鳴らすテストです。 この機能を取り入れれば、当方のソフト「振付王」も大いなる飛翔を遂げそうです ↓ https://youtu.be/NGglm32__Wg http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/716
717: ダーク王鍬大使 ◆SoVpkB15jY [sage] 2017/12/09(土) 18:04:15.09 ID:bXsi3c78 >>716 キャラクターがすごく不気味でふ(^^ これがキムヨナでふか?(^^ http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/717
718: 名前は開発中のものです。 [] 2017/12/09(土) 20:05:37.92 ID:AnRI3nPF staticの変数(gameobject)をインスペクターから指定できないと知り、直接インスタンス化したいのですが、 Assets/Prefabsにあるprefabを指定するにはどうすれば良いでしょうか? Instantiate(GameObject.Find(?????)); http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/718
719: 名前は開発中のものです。 [sage] 2017/12/09(土) 20:14:33.20 ID:X9y8lbqo >>718 あなたにはプログラムの才能がないのでアセット購入することをオススメします http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/719
720: 名前は開発中のものです。 [sage] 2017/12/09(土) 20:16:11.59 ID:x1Unwj8Y unityの2Dでマリオ3みたいなやつでお手本になるゲームないでしょうか マリオランみたいに一方にしか移動しないようなのじゃなくて http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/720
721: ダーク王鍬大使 ◆SoVpkB15jY [sage] 2017/12/09(土) 20:21:04.14 ID:bXsi3c78 >>718 GameObject.Findはヒエラルキー上のものを探すためのものでふよ(^^ http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/721
722: ダーク王鍬大使 ◆SoVpkB15jY [sage] 2017/12/09(土) 20:36:13.31 ID:bXsi3c78 >>718 何をしたいのかよく分かりまふぇんがググって調べてきまひた(^^ public GameObject prefab;//これをフィールドに書く(^^ Instantiate(prefab, this.transform.position, Quaternion.identity);//これをvoid Start()内で実行する(^^ あとはインスペクタから使いたいプレファブをアタッチする(^^ これでスクリプトを張り付けてるオブジェクトの位置にprefabにアタッチしたPrefabを生成しまんこ(^^ http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/722
723: 名前は開発中のものです。 [] 2017/12/09(土) 20:55:03.78 ID:AnRI3nPF >>722 めちゃくちゃ言葉足らずですいません。 他スクリプトから呼び出すためにそのスクリプトをstaticで構成しました。 ⑴staticを使っていてもインスタンペクターからプレファブを指定する方法 ⑵Resouse.Loadを使わずにAssetフォルダにアクセスする方法 (3)別スクリプトから呼び出す場合でもstaticにしなくて良い方法 この中のどれかを募集中です。 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/723
724: 名前は開発中のものです。 [sage] 2017/12/09(土) 21:06:17.43 ID:X9y8lbqo >>723 アセット購入を募集していませんか? http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/724
725: ダーク王鍬大使 ◆SoVpkB15jY [sage] 2017/12/09(土) 21:08:54.73 ID:bXsi3c78 (3)別スクリプトから呼び出しならstatic使わなくてもできまふよ(^^ どっかのオブジェクトにスクリプトがくっ付いてる場合(^^ 呼び出される側 public int うんち 呼び出す側 変数名 = GameObject.Find("ヒエラルキーのオブジェクト名").GetComponent<オブジェクトにくっ付いてるスクリプト名>().スクリプトの変数名、この場合はうんち; 多分これで出来ると思いまんこ(^^ http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/725
726: 名前は開発中のものです。 [sage] 2017/12/09(土) 21:52:29.85 ID:+Fgkmrfl ファイアーエムブレムのようなゲームが作りたくて参考書などを見ながらAI作ってたのですが上手く行きません 数千円以内で買えるアセットでよさげなのないでしょうか http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/726
727: 名前は開発中のものです。 [sage] 2017/12/09(土) 21:53:01.42 ID:G7HaLFZX 3Dで基礎から勉強したければ、 難:「実例で学ぶゲーム3D数学」 中:「ゲーム開発のための数学・物理学入門」 易:「ゲームアプリの数学 Unityで学ぶ基礎からシェーダーまで」 2Dでアルゴリズムのアイデアを得たければ、 「アクションゲームアルゴリズムマニアックス」 「アクションゲームプログラミング」 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/727
728: 名前は開発中のものです。 [sage] 2017/12/09(土) 21:59:20.31 ID:G7HaLFZX >>723 Staticは他のオブジェクト間で共有したいものに使うので、 ただ他のオブジェクトのコンポーネントを使いたいだけだったら、 Staticを付けなくても、呼び出して利用はできます http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/728
729: 名前は開発中のものです。 [sage] 2017/12/09(土) 22:47:51.06 ID:Ia5bSAGk どうも。 気分がノッたら講義のお時間です。 "while文" の予定でしたが変更して "for文" の続きです。 "for文" は配列を扱う時に適しています。 例えば次のような文字列型配列があったとします。 例 string[] mes = {"ようこそ", "ねらーの町へ", "ゆっくりしていってね!"}; この中身を全て表示したい場合、"for文" を使わない場合は次のようになります。 例 string[] mes = {"ようこそ", "ねらーの町へ", "ゆっくりしていってね!"}; Debug.Log( mes[0] ); Debug.Log( mes[1] ); Debug.Log( mes[2] ); 表示したい数だけDebug.Logが必要になっていきます。 今は3つだからいいですがこれが100個あった場合は100個Debug.Logが必要になってしまいます。 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/729
730: 名前は開発中のものです。 [sage] 2017/12/09(土) 22:48:34.64 ID:Ia5bSAGk 次に for文 を使用した場合の例です。 例 string[] mes = {"ようこそ", "ねらーの町へ", "ゆっくりしていってね!"}; for( int i=0; i<3; i++ ){ Debug.Log( mes[i] ); } for文 を使用すると100個あってもこの4行だけで済みプログラムをすっきりとまとめられます。 例 string[] mes = {"ようこそ", "ねらーの町へ", "ゆっくりしていってね!"}; for( int i=0; i<mes.Length; i++ ){ Debug.Log( mes[i] ); } for文の2番目を "i<3" と定数(この場合、「3」を動かない数字、定数と呼びます)にするのではなく "i<mes.Length" にすることで自動的に配列数だけループしてくれるようになり便利です。 "mes.Length" には配列の最大値が格納されています。 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/730
731: 名前は開発中のものです。 [sage] 2017/12/09(土) 22:53:43.28 ID:Ia5bSAGk また、配列処理に特化した専用のfor文といえる "foreach文" というのもありますが for文で同じ事が出来る為講義ではあえて扱いません。 興味がある方は下のリンク先で確認してください。 今のあなたならリンク先の文章をなんとなく理解できる事でしょう。 配列での foreach の使用 (C# プログラミング ガイド) https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/arrays/using-foreach-with-arrays 本日は以上だクソども http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/731
732: 名前は開発中のものです。 [sage] 2017/12/09(土) 23:01:42.72 ID:Ia5bSAGk >>720 全13回の講座。 焦らずこれをじっくりやるといい。 http://hiyotama.hatenablog.com/entry/2015/06/12/153523 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/732
733: 名前は開発中のものです。 [sage] 2017/12/09(土) 23:07:35.86 ID:Ia5bSAGk >>714 メトロイドヴァニアをYoutubeで拝見したがいきなりこれは難しいよ。 物理的な挙動に関してはUnityは物理エンジンが勝手にやってくれるので自分でプログラムする必要がない。 うまく伝わらない気はするが例えば 「このボールは1kg」「風の抵抗は受けない」「重力の影響は受ける」 みたいに画面を見ながら設定し 斜め上にむかって発射すれば勝手に本物のボールのように弧を描いて飛ぶ。 物理エンジンは、もともと自分でプログラムしないといけなかった事を勝手にやってくれる。 欠点として非リアル的な動きをしたい時に重力とかに逆らったりしなくちゃいけなくて 何度も何度もテストを繰り返さないといけないくなる。 ∞のような動きはsin関数、cos関数で実現できる。 俺は本を買って学習してる訳ではないのでオススメを教えられないです。 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/733
734: 名前は開発中のものです。 [sage] 2017/12/09(土) 23:17:08.96 ID:0z0JcPwI >>731 ありがとうございます!!! http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/734
735: 名前は開発中のものです。 [sage] 2017/12/09(土) 23:28:03.66 ID:MExT9ytU これでまた、staticおじさんが一人この世から消えたのか http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/735
736: 名前は開発中のものです。 [sage] 2017/12/10(日) 09:21:41.45 ID:rk89KMyG static変数にする static関数にする staticゲームオブジェクトにする 詰む http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/736
737: 名前は開発中のものです。 [sage] 2017/12/10(日) 11:44:53.32 ID:ZDcJFyIw >>723 そういう用途でstaticにするのは辞めたほうが…… シングルトンにしてDontDestroyと思う それはそれとしてインスペクターのをstatic変数に反映させたいだけなら 責任は持ちません public static GameObject hoge; public GameObject hogehoge; void awake(){ if(hogehoge != null) hoge = hogehoge; } http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/737
738: 名前は開発中のものです。 [sage] 2017/12/10(日) 11:48:33.38 ID:jcS8iLKb staticをpublicでインスペクターから変更できるようにしてしまうと、 複数のオブジェクトで同時に同じstatic変数を変更してしまう恐れがあるから、 シングルトン機能がないと、どの設定値を参照するか不定になりそうで怖い・・・ 設定値は複数オブジェクト間のインスペクター上で連動するのかな? http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/738
739: 名前は開発中のものです。 [sage] 2017/12/10(日) 13:12:35.06 ID:s0gCGNcz ここはプログラムの初心者ばかりなので 素直にアセットを買って作りましょう http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/739
740: 名前は開発中のものです。 [sage] 2017/12/10(日) 13:34:04.81 ID:w46kXA82 ・変更できない定数 ・グローバルDBで管理(public) ・クラスの内部だけで決められた使い方だけをする構造上の黒子(private) このうちのどれかに当てはまらないなら static はやめたほうがいい http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/740
741: 名前は開発中のものです。 [] 2017/12/10(日) 17:15:40.51 ID:51pDRWFr >>737 >>738 >>740 ありがとうございます。 staticで構成するのはやめようと思います 話は変わりますが、っていうか変わってないんですが Ascript: public void Hoge(){ StartCoroutine(Bscript.Bfunction()); } Bscript public IEnumerator Bfunction(){ Debug.Log("hogehoge"); yield return null; } このスクリプトで「静的でないフィールド〜〜〜」というエラーが出るのはなぜでしょうか? これがきっかけでstaticにするようになったのですが http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/741
742: 名前は開発中のものです。 [sage] 2017/12/10(日) 17:20:13.69 ID:SGu7Clqn >>741 その表記を見ただけでオブジェクト指向を微塵も理解してないと分かる C#の基本を解説するサイトなんていくらでもあるから少なくともclassの存在くらい学ぼう http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/742
743: 名前は開発中のものです。 [sage] 2017/12/10(日) 17:50:24.06 ID:s0gCGNcz >>741 だから、あなたはプログラマーには向かないので アセットを買って幸せになりましょう! http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/743
744: 名前は開発中のものです。 [sage] 2017/12/10(日) 18:02:07.77 ID:s1u45m25 >>741 ゲットコンポーネントの事をもうちょっと理解した方が良いと思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/744
745: 名前は開発中のものです。 [] 2017/12/10(日) 20:14:32.33 ID:RELYBK2b >>742 こういうとこで質問したことないんでどこまで省いていいか全然わからないです;; クラスは何もいじっていないので public class XXXX : MonoBehaviourのままです。 >>744 GetComponent?ゲットコンポーネントってどこからでてきました? http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/745
746: 名前は開発中のものです。 [sage] 2017/12/10(日) 20:23:19.38 ID:hR3NFn4T スクリプト(コンポーネント)は同じとこに書いてないもんは知りませ〜ん http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/746
747: 名前は開発中のものです。 [sage] 2017/12/10(日) 20:46:48.97 ID:s1u45m25 >>745 とりあえず「他のスクリプトのメソッドを使う unity」で検索してみろ。それで理解できなかったら向いてない http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/747
748: 名前は開発中のものです。 [sage] 2017/12/10(日) 21:11:13.87 ID:gqP0KwJW >>745 言語知識がある程度でもあるならまだしもそうじゃないなら基本的には何も省略しないで http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/748
749: 名前は開発中のものです。 [sage] 2017/12/10(日) 21:35:27.73 ID:s0gCGNcz だから、アセットを買えばいいんですよ スクリプト出来なんでしょ? http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/749
750: 名前は開発中のものです。 [sage] 2017/12/10(日) 22:14:38.78 ID:s1u45m25 >>741 静的じゃないから〜ってエラーを見て、staticおじさんになっちゃったのか。 そのエラーの意味は「君が使おうとしているモノは最初から存在しない(静的でない)のでなんとかしてください」って意味だから「staicにしろ」って意味じゃないぞ http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/750
751: 名前は開発中のものです。 [] 2017/12/10(日) 22:16:05.06 ID:51pDRWFr >>747 >>748 >>750 ありがとうございます。 アタッチするオブジェクトに関連してないとアタッチしてはいけないと勝手に思い込んでいました。 >>741で言えば カメラなりなんなりにBscriptをアタッチして StartCoroutine(カメラ.GetComponent(Bscript).Bfunction()); って感じにすればよかったんですね http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/751
752: 名前は開発中のものです。 [sage] 2017/12/10(日) 22:41:19.18 ID:s1u45m25 >>751 目標がありそれに向かってコーディングしてることは分かりますし、それは上達への近道です。しかしあなたの書いているコードはあまりにも支離滅裂なので簡単な内容からしっかり学習してください。他のスクリプトのコルーチン使うとかめんどくさすぎて頭おかしいです http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/752
753: 名前は開発中のものです。 [sage] 2017/12/10(日) 23:01:38.15 ID:hR3NFn4T まあプログラムなんて技量あげるうちに過去コードを色々短縮出来るのが楽しいから… http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/753
754: 名前は開発中のものです。 [sage] 2017/12/10(日) 23:47:55.77 ID:CuU55Myq もともとは、AsstesフォルダにあるPrefabを、スクリプト上で呼び出したかっただけだよね? Sceneに配置していないPrefabを、GameObjectとして呼び出したいんだよね?? 例えば、SceneにPlayerキャラクタが既にいて、ボタン入力に応じて、 Assets内にあるShotキャラクタを呼び出して、弾丸として発射するみたいな・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/754
755: 名前は開発中のものです。 [sage] 2017/12/11(月) 00:11:47.56 ID:SkZjimvo <スクリプトAで、Assets内のプレハブBを、ゲームオブジェクトCとして取得する方法> Scece上に配置したゲームオブジェクトXに、下記のスクリプトAを登録しておきます。 public class A : MonoBehaviour { public GameObject B; // Use this for initialization void Start () { GameObject C = (GameObject)Instantiate(B); } } Inspector上でゲームオブジェクトBを登録できるので、 Assets内のプレハブBを登録しておきます。 「Assetss」を押すと一覧が出ます。 動的にBのインスタンスを生成して、ゲームオブジェクトCとして格納します。 以下、Inspector上で登録しておいたゲームオブジェクトBは、 ゲーム内ではゲームオブジェクトCとして実体化されているので、 移動させたり、回転させたり、いろいろできます。 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/755
756: 名前は開発中のものです。 [sage] 2017/12/11(月) 00:30:42.08 ID:SkZjimvo C = (GameObject)Instantiate(B) だと、スクリプトを登録したオブジェクト上に生成されてしまいます。 生成される際の 位置を、Vector3 V = new Vector3(x, y, z) 向きを、Quaternion Q = Quaternion.Euler(angleX, angleY, angleZ) 親を、transform T = parent.transform としたい場合は、 C = (GameObject)Instantiate(B, V, Q, T) とします。 親Tの子として、向きQで、位置Vに、 Bのインスタンスが、オブジェクトCとして生成されます。 BにRigidbodyを登録しておけば、 Rigidbody D = C.GetComponent < Rigidbody2D > によって、CのコンポーネントからRigidbodyを取得して、 変数DにRigidbodyを格納しておくこともできます。 以降は、物理演算ができるようになり、 D.velocity = new Vector3(vx, vy, vz) のようにして速度を変更したりできます。 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/756
757: 名前は開発中のものです。 [sage] 2017/12/11(月) 00:39:32.37 ID:SkZjimvo 誤 Rigidbody D = C.GetComponent < Rigidbody2D > 正 Rigidbody D = C.GetComponent < Rigidbody > 普段、2Dばっかりやっているから間違えた・・・ 要するに、 ?Hierarchyになくても、Assetsからでも呼び出せる (GameObject.Findは、Scene内から探すためダメです) ?Staticにしなくても、Inspector上からPrefabを登録できる (Inspector上で設定したかったら「public」です) ?スクリプトを登録する相手は、何でも良い (カメラでも、空のオブジェクトでも・・・) ただ、あるキャラクタから発射するつもりなら、 そのキャラクタにスクリプトを登録しておけば、 発射位置が、そのキャラクタの現在地になります。 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/757
758: 名前は開発中のものです。 [] 2017/12/11(月) 07:52:58.63 ID:Lx/f51q7 レベルデザインしてるんですが、フリーでおすすめのアセットパックってないですか? 人工物や自然物がそれなりに入ってるのがほしいですが http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/758
759: 名前は開発中のものです。 [sage] 2017/12/11(月) 11:46:03.41 ID:QvFVBkNr >>758 フリーアセットではなく、有料アセットを購入しましょう http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/759
760: 名前は開発中のものです。 [sage] 2017/12/11(月) 13:13:39.39 ID:xcDA2XWm 車の排気ガスでパーティクルを使おうと思ってます 車の後方から煙が出る形にしたいんですが、 1 車のオブジェクトにパーティクルをaddして良いのか 2 どうやってパーティクル位置を変更するのか(車の後方に) の最初の2点で躓いてます どなたか教えて頂きたいです。 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/760
761: 名前は開発中のものです。 [sage] 2017/12/11(月) 13:18:21.91 ID:HEOTRILb 車に空の子オブジェクトを追加してそこにパーティクルを追加すればいいべ そういうことじゃなくて? http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/761
762: 名前は開発中のものです。 [sage] 2017/12/11(月) 13:52:42.53 ID:QvFVBkNr >>760 車の排気ガスのアセットをかうと良いですよ http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/762
763: 名前は開発中のものです。 [sage] 2017/12/11(月) 14:25:47.65 ID:xcDA2XWm >>761 車とは別に新しくオブジェクト作って、 それにパーティクル追加してあとから車と同期(車と一緒に動くように)すればいいって事ですか? http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/763
764: ダーク王鍬大使 ◆SoVpkB15jY [sage] 2017/12/11(月) 14:30:15.62 ID:V8qj051b パーティクルを車の子オブジェクトにして位置と向きをインスペクターで変えてくらふぁい(^^ http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/764
765: ダーク王鍬大使 ◆SoVpkB15jY [sage] 2017/12/11(月) 14:31:22.80 ID:V8qj051b ってよく見たら>>761に答えが書いてありまひた(^^ お節介失礼しまんこ(^^ ボッキング!(^^ http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/765
766: 名前は開発中のものです。 [sage] 2017/12/11(月) 14:58:00.33 ID:HEOTRILb >>763 車の子オブジェクトにすればわざわざ同期なんて取らなくても相対位置と向きを保ったまま車と一緒に動いてくれるでしょう http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/766
767: 名前は開発中のものです。 [sage] 2017/12/11(月) 16:02:51.94 ID:02QPz9bc このスレの人ってまさか車のモデルをそのままヒエラルキーに配置してそこにスクリプト直付けしてるの? 普通Create Emptyで作った空のオブジェクトの下に作るよね? http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/767
768: 名前は開発中のものです。 [sage] 2017/12/11(月) 16:34:52.69 ID:T/JrBtRm 全体的に、自分で色々工夫してみることをしないで人に答えを求める輩が多い気はするね。 プログラミングに答えはなくて目的の結果になる方法はいくつもあるのに他人のやり方を真似したがる人が多すぎるねここ。 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/768
769: 名前は開発中のものです。 [sage] 2017/12/11(月) 16:36:31.43 ID:B36sEdco 人それぞれ。結果が満足なら中身なぞどうてもいい。 自分なりの作り易さを模索するだけさ。 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/769
770: 名前は開発中のものです。 [sage] 2017/12/11(月) 16:38:59.95 ID:VIjb3sER TanksにLeftDustTrailとRightDustTrailって入ってるじゃろ http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/770
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 232 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.017s