[過去ログ]
【3Dゲームエンジン】Unity質問スレッド32 (1002レス)
【3Dゲームエンジン】Unity質問スレッド32 http://mevius.5ch.net/test/read.cgi/gamedev/1509307535/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
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
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 249 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.013s