1 名前:名無し@キムチ [2017/10/30(月) 05:05:35.00 ID:xnHTCaF3.net] フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。 プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他 次スレは>>950 以降にできるだけ早く(できれば回答者が回答した後にでも余裕を持って)建てて下さい。 ■Unity 2ch Wiki(まとめ、過去ログ、リンク集) www24.atwiki.jp/unity2ch/ ●リンク ・Unity(日本公式サイト) unity3d.com/jp ・マニュアル docs.unity3d.com/ja/current/Manual/index.html ・チュートリアル unity3d.com/jp/learn/tutorials ・スクリプトリファレンス docs.unity3d.com/ja/current/ScriptReference/index.html ・FAQ unity3d.com/jp/unity/faq ・MSDN msdn.microsoft.com/ja-jp/ms348103 ←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。 前スレ 【3Dゲームエンジン】Unity質問スレッド31 https://mevius.5ch.net/test/read.cgi/gamedev/1504366121/
741 名前:名無し@キムチ [2017/12/09(土) 08:10:05.76 ID:1JEBIHPe.net] やったー!!外部オーディオ鳴らすのに成功したーーーーっ!!!! 最初のりたまブログのこのコード見たけどダメだった・・・ IEnumerator StreamPlayAudioFile(string fileName) { //ソース指定し音楽流す //音楽ファイルロード using(WWW www = new WWW("file:///" + fileName)) { //読み込み完了まで待機
742 名前: yield return www; audioSource.clip = www.GetAudioClip(true, true); audioSource.Play(); } } いろいろ試してみたけどダメで、挫折しそうになったが、 audioSource.clip = www.GetAudioClip(true, true); の前の行に、 audioSource = GetComponent<AudioSource>(); というのを付け加えて、オブジェクトに空のオーディオソースコンポーネントを追加したところ、 音楽が鳴ったぁぁぁあああああーーーーーーーーっ!!!!!!! いやあ、当方って天才かも!?(マジで) みなさぁーーーーん、オーディオはコンポーネントで追加しなくても(空のコンポーネントは必要だけど)、 外から読み込んで使えるので、参考にしてくださいね。 (これはユーザーに自分の好きなゲームBGMを使ってもらうことができるすごい方法です!) いやあ、当方って天才!!!!!!!! [] [ここ壊れてます]
743 名前:名前は開発中のものです。 mailto:sage [2017/12/09(土) 12:22:44.90 ID:8nWowzmq.net] スレチだったらごめん。 アクションゲームを作るために「ゲーム制作のための数学」系の本を 一冊買っておきたいんだけど、何かおすすめあります? もしくはアルゴリズムの参考になるアセットがあったら教えてほしい。
744 名前:名前は開発中のものです。 mailto:sage [2017/12/09(土) 13:07:47.43 ID:X9y8lbqo.net] >>711 アクションゲームの完成プロジェクトアセットを購入しましょう
745 名前:名前は開発中のものです。 mailto:sage [2017/12/09(土) 15:04:45.02 ID:Ia5bSAGk.net] >>709 残念ながらジェネリック関数を扱う予定はなし >>711 市販品で例えるとどんなアクションゲーム? Unityは大抵のゲームアルゴリズムが既にシステム関数(メソッド)にまとめられて 1行書き込む(呼び出す)だけで使用できちゃったりするから覚える必要ない場合が多い
746 名前:名前は開発中のものです。 mailto:sage [2017/12/09(土) 16:49:05.54 ID:G7HaLFZX.net] >>711 2Dか3Dかで変わってきます
747 名前:名前は開発中のものです。 mailto:sage [2017/12/09(土) 16:59:09.75 ID:8nWowzmq.net] >>712-714 ごめん、2Dです。 マリオとかメトロイドヴァニア系のアクションをを作る予定ですが、ショットをちゃんとした物理的な挙動にしたいのと、 あと飛行タイプの敵とか動く足場とかを∞←こういう軌道で動かしたりしたいんですよね。
748 名前:名前は開発中のものです。 mailto:sage [2017/12/09(土) 17:05:16.75 ID:x1Unwj8Y.net] unityの2Dでマリオ3みたいなやつでお手本になるゲームないでしょうか マリオランみたいに一方にしか移動しないようなのじゃなくて
749 名前:名前は開発中のものです。 [2017/12/09(土) 17:27:29.06 ID:1JEBIHPe.net] PC内にあるすべてのwav音を鳴らすテストです。 この機能を取り入れれば、当方のソフト「振付王」も大いなる飛翔を遂げそうです ↓ https://youtu.be/NGglm32__Wg
750 名前:ダーク王鍬大使 mailto:sage [2017/12/09(土) 18:04:15.09 ID:bXsi3c78.net] >>717 キャラクターがすごく不気味でふ(^^ これがキムヨナでふか?(^^
751 名前:名前は開発中のものです。 [2017/12/09(土) 20:05:37.92 ID:AnRI3nPF.net] staticの変数(gameobject)をインスペクターから指定できないと知り、直接インスタンス化したいのですが、 Assets/Prefabsにあるprefabを指定するにはどうすれば良いでしょうか? Instantiate(GameObject.Find(?????));
752 名前:名前は開発中のものです。 mailto:sage [2017/12/09(土) 20:14:33.20 ID:X9y8lbqo.net] >>719 あなたにはプログラムの才能がないのでアセット購入することをオススメします
753 名前:名前は開発中のものです。 mailto:sage [2017/12/09(土) 20:16:11.59 ID:x1Unwj8Y.net] unityの2Dでマリオ3みたいなやつでお手本になるゲームないでしょうか マリオランみたいに一方にしか移動しないようなのじゃなくて
754 名前:ダーク王鍬大使 mailto:sage [2017/12/09(土) 20:21:04.14 ID:bXsi3c78.net] >>719 GameObject.Findはヒエラルキー上のものを探すためのものでふよ(^^
755 名前:ダーク王鍬大使 mailto:sage [2017/12/09(土) 20:36:13.31 ID:bXsi3c78.net] >>719 何をしたいのかよく分かりまふぇんがググって調べてきまひた(^^ public GameObject prefab;//これをフィールドに書く(^^ Instantiate(prefab, this.transform.position, Quaternion.identity);//これをvoid Start()内で実行する(^^ あとはインスペクタから使いたいプレファブをアタッチする(^^ これでスクリプトを張り付けてるオブジェクトの位置にprefabにアタッチしたPrefabを生成しまんこ(^^
756 名前:名前は開発中のものです。 [2017/12/09(土) 20:55:03.78 ID:AnRI3nPF.net] >>723 めちゃくちゃ言葉足らずですいません。 他スクリプトから呼び出すためにそのスクリプトをstaticで構成しました。 ⑴staticを使っていてもインスタンペクターからプレファブを指定する方法 ⑵Resouse.Loadを使わずにAssetフォルダにアクセスする方法 (3)別スクリプトから呼び出す場合でもstaticにしなくて良い方法 この中のどれかを募集中です。
757 名前:名前は開発中のものです。 mailto:sage [2017/12/09(土) 21:06:17.43 ID:X9y8lbqo.net] >>724 アセット購入を募集していませんか?
758 名前:ダーク王鍬大使 mailto:sage [2017/12/09(土) 21:08:54.73 ID:bXsi3c78.net] (3)別スクリプトから呼び出しならstatic使わなくてもできまふよ(^^ どっかのオブジェクトにスクリプトがくっ付いてる場合(^^ 呼び出される側 public int うんち 呼び出す側 変数名 = GameObject.Find("ヒエラルキーのオブジェクト名").GetComponent<オブジェクトにくっ付いてるスクリプト名>().スクリプトの変数名、この場合はうんち; 多分これで出来ると思いまんこ(^^
759 名前:名前は開発中のものです。 mailto:sage [2017/12/09(土) 21:52:29.85 ID:+Fgkmrfl.net] ファイアーエムブレムのようなゲームが作りたくて参考書などを見ながらAI作ってたのですが上手く行きません 数千円以内で買えるアセットでよさげなのないでしょうか
760 名前:名前は開発中のものです。 mailto:sage [2017/12/09(土) 21:53:01.42 ID:G7HaLFZX.net] 3Dで基礎から勉強したければ、 難:「実例で学ぶゲーム3D数学」 中:「ゲーム開発のための数学・物理学入門」 易:「ゲームアプリの数学 Unityで学ぶ基礎からシェーダーまで」 2Dでアルゴリズムのアイデアを得たければ、 「アクションゲームアルゴリズムマニアックス」 「アクションゲームプログラミング」
761 名前:名前は開発中のものです。 mailto:sage [2017/12/09(土) 21:59:20.31 ID:G7HaLFZX.net] >>724 Staticは他のオブジェクト間で共有したいものに使うので、 ただ他のオブジェクトのコンポーネントを使いたいだけだったら、 Staticを付けなくても、呼び出して利用はできます
762 名前:名前は開発中のものです。 mailto:sage [2017/12/09(土) 22:47:51.06 ID:Ia5bSAGk.net] どうも。 気分がノッたら講義のお時間です。 "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が必要になってしまいます。
763 名前:名前は開発中のものです。 mailto:sage [2017/12/09(土) 22:48:34.64 ID:Ia5bSAGk.net] 次に 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" には配列の最大値が格納されています。
764 名前:名前は開発中のものです。 mailto:sage [2017/12/09(土) 22:53:43.28 ID:Ia5bSAGk.net] また、配列処理に特化した専用のfor文といえる "foreach文" というのもありますが for文で同じ事が出来る為講義ではあえて扱いません。 興味がある方は下のリンク先で確認してください。 今のあなたならリンク先の文章をなんとなく理解できる事でしょう。 配列での foreach の使用 (C# プログラミング ガイド) https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/arrays/using-foreach-with-arrays 本日は以上だクソども
765 名前:名前は開発中のものです。 mailto:sage [2017/12/09(土) 23:01:42.72 ID:Ia5bSAGk.net] >>721 全13回の講座。 焦らずこれをじっくりやるといい。 hiyotama.hatenablog.com/entry/2015/06/12/153523
766 名前:名前は開発中のものです。 mailto:sage [2017/12/09(土) 23:07:35.86 ID:Ia5bSAGk.net] >>715 メトロイドヴァニアをYoutubeで拝見したがいきなりこれは難しいよ。 物理的な挙動に関してはUnityは物理エンジンが勝手にやってくれるので自分でプログラムする必要がない。 うまく伝わらない気はするが例えば 「このボールは1kg」「風の抵抗は受けない」「重力の影響は受ける」 みたいに画面を見ながら設定し 斜め上にむかって発射すれば勝手に本物のボールのように弧を描いて飛ぶ。 物理エンジンは、もともと自分でプログラムしないといけなかった事を勝手にやってくれる。 欠点として非リアル的な動きをしたい時に重力とかに逆らったりしなくちゃいけなくて 何度も何度もテストを繰り返さないといけないくなる。 ∞のような動きはsin関数、cos関数で実現できる。 俺は本を買って学習してる訳ではないのでオススメを教えられないです。
767 名前:名前は開発中のものです。 mailto:sage [2017/12/09(土) 23:17:08.96 ID:0z0JcPwI.net] >>732 ありがとうございます!!!
768 名前:名前は開発中のものです。 mailto:sage [2017/12/09(土) 23:28:03.66 ID:MExT9ytU.net] これでまた、staticおじさんが一人この世から消えたのか
769 名前:名前は開発中のものです。 mailto:sage [2017/12/10(日) 09:21:41.45 ID:rk89KMyG.net] static変数にする static関数にする staticゲームオブジェクトにする 詰む
770 名前:名前は開発中のものです。 mailto:sage [2017/12/10(日) 11:44:53.32 ID:ZDcJFyIw.net] >>724 そういう用途でstaticにするのは辞めたほうが…… シングルトンにしてDontDestroyと思う それはそれとしてインスペクターのをstatic変数に反映させたいだけなら 責任は持ちません public static GameObject hoge; public GameObject hogehoge; void awake(){ if(hogehoge != null) hoge = hogehoge; }
771 名前:名前は開発中のものです。 mailto:sage [2017/12/10(日) 11:48:33.38 ID:jcS8iLKb.net] staticをpublicでインスペクターから変更できるようにしてしまうと、 複数のオブジェクトで同時に同じstatic変数を変更してしまう恐れがあるから、 シングルトン機能がないと、どの設定値を参照するか不定になりそうで怖い・・・ 設定値は複数オブジェクト間のインスペクター上で連動するのかな?
772 名前:名前は開発中のものです。 mailto:sage [2017/12/10(日) 13:12:35.06 ID:s0gCGNcz.net] ここはプログラムの初心者ばかりなので 素直にアセットを買って作りましょう
773 名前:名前は開発中のものです。 mailto:sage [2017/12/10(日) 13:34:04.81 ID:w46kXA82.net] ・変更できない定数 ・グローバルDBで管理(public) ・クラスの内部だけで決められた使い方だけをする構造上の黒子(private) このうちのどれかに当てはまらないなら static はやめたほうがいい
774 名前:名前は開発中のものです。 [2017/12/10(日) 17:15:40.51 ID:51pDRWFr.net] >>738 >>739 >>741 ありがとうございます。 staticで構成するのはやめようと思います 話は変わりますが、っていうか変わってないんですが Ascript: public void Hoge(){ StartCoroutine(Bscript.Bfunction()); } Bscript public IEnumerator Bfunction(){ Debug.Log("hogehoge"); yield return null; } このスクリプトで「静的でないフィールド〜〜〜」というエラーが出るのはなぜでしょうか? これがきっかけでstaticにするようになったのですが
775 名前:名前は開発中のものです。 mailto:sage [2017/12/10(日) 17:20:13.69 ID:SGu7Clqn.net] >>742 その表記を見ただけでオブジェクト指向を微塵も理解してないと分かる C#の基本を解説するサイトなんていくらでもあるから少なくともclassの存在くらい学ぼう
776 名前:名前は開発中のものです。 mailto:sage [2017/12/10(日) 17:50:24.06 ID:s0gCGNcz.net] >>742 だから、あなたはプログラマーには向かないので アセットを買って幸せになりましょう
777 名前:I [] [ここ壊れてます]
778 名前:名前は開発中のものです。 mailto:sage [2017/12/10(日) 18:02:07.77 ID:s1u45m25.net] >>742 ゲットコンポーネントの事をもうちょっと理解した方が良いと思います。
779 名前:名前は開発中のものです。 [2017/12/10(日) 20:14:32.33 ID:RELYBK2b.net] >>743 こういうとこで質問したことないんでどこまで省いていいか全然わからないです;; クラスは何もいじっていないので public class XXXX : MonoBehaviourのままです。 >>745 GetComponent?ゲットコンポーネントってどこからでてきました?
780 名前:名前は開発中のものです。 mailto:sage [2017/12/10(日) 20:23:19.38 ID:hR3NFn4T.net] スクリプト(コンポーネント)は同じとこに書いてないもんは知りませ〜ん
781 名前:名前は開発中のものです。 mailto:sage [2017/12/10(日) 20:46:48.97 ID:s1u45m25.net] >>746 とりあえず「他のスクリプトのメソッドを使う unity」で検索してみろ。それで理解できなかったら向いてない
782 名前:名前は開発中のものです。 mailto:sage [2017/12/10(日) 21:11:13.87 ID:gqP0KwJW.net] >>746 言語知識がある程度でもあるならまだしもそうじゃないなら基本的には何も省略しないで
783 名前:名前は開発中のものです。 mailto:sage [2017/12/10(日) 21:35:27.73 ID:s0gCGNcz.net] だから、アセットを買えばいいんですよ スクリプト出来なんでしょ?
784 名前:名前は開発中のものです。 mailto:sage [2017/12/10(日) 22:14:38.78 ID:s1u45m25.net] >>742 静的じゃないから〜ってエラーを見て、staticおじさんになっちゃったのか。 そのエラーの意味は「君が使おうとしているモノは最初から存在しない(静的でない)のでなんとかしてください」って意味だから「staicにしろ」って意味じゃないぞ
785 名前:名前は開発中のものです。 [2017/12/10(日) 22:16:05.06 ID:51pDRWFr.net] >>748 >>749 >>751 ありがとうございます。 アタッチするオブジェクトに関連してないとアタッチしてはいけないと勝手に思い込んでいました。 >>742 で言えば カメラなりなんなりにBscriptをアタッチして StartCoroutine(カメラ.GetComponent(Bscript).Bfunction()); って感じにすればよかったんですね
786 名前:名前は開発中のものです。 mailto:sage [2017/12/10(日) 22:41:19.18 ID:s1u45m25.net] >>752 目標がありそれに向かってコーディングしてることは分かりますし、それは上達への近道です。しかしあなたの書いているコードはあまりにも支離滅裂なので簡単な内容からしっかり学習してください。他のスクリプトのコルーチン使うとかめんどくさすぎて頭おかしいです
787 名前:名前は開発中のものです。 mailto:sage [2017/12/10(日) 23:01:38.15 ID:hR3NFn4T.net] まあプログラムなんて技量あげるうちに過去コードを色々短縮出来るのが楽しいから…
788 名前:名前は開発中のものです。 mailto:sage [2017/12/10(日) 23:47:55.77 ID:CuU55Myq.net] もともとは、AsstesフォルダにあるPrefabを、スクリプト上で呼び出したかっただけだよね? Sceneに配置していないPrefabを、GameObjectとして呼び出したいんだよね?? 例えば、SceneにPlayerキャラクタが既にいて、ボタン入力に応じて、 Assets内にあるShotキャラクタを呼び出して、弾丸として発射するみたいな・・・
789 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 00:11:47.56 ID:SkZjimvo.net] <スクリプト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として実体化されているので、 移動させたり、回転させたり、いろいろできます。
790 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 00:30:42.08 ID:SkZjimvo.net] 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) のようにして速度を変更したりできます。
791 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 00:39:32.37 ID:SkZjimvo.net] 誤 Rigidbody D = C.GetComponent < Rigidbody2D > 正 Rigidbody D = C.GetComponent < Rigidbody > 普段、2Dばっかりやっているから間違えた・・・ 要するに、 @Hierarchyになくても、Assetsからでも呼び出せる (GameObject.Findは、Scene内から探すためダメです) AStaticにしなくても、Inspector上からPrefabを登録できる (Inspector上で設定したかったら「public」です) Bスクリプトを登録する相手は、何でも良い (カメラでも、空のオブジェクトでも・・・) ただ、あるキャラクタから発射するつもりなら、 そのキャラクタにスクリプトを登録しておけば、 発射位置が、そのキャラクタの現在地になります。
792 名前:名前は開発中のものです。 [2017/12/11(月) 07:52:58.63 ID:Lx/f51q7.net] レベルデザインしてるんですが、フリーでおすすめのアセットパックってないですか? 人工物や自然物がそれなりに入ってるのがほしいですが
793 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 11:46:03.41 ID:QvFVBkNr.net] >>759 フリーアセットではなく、有料アセットを購入しましょう
794 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 13:13:39.39 ID:xcDA2XWm.net] 車の排気ガスでパーティクルを使おうと思ってます 車の後方から煙が出る形にしたいんですが、 1 車のオブジェクトにパーティクルをaddして良いのか 2 どうやってパーティクル位置を変更するのか(車の後方に) の最初の2点で躓いてます どなたか教えて頂きたいです。
795 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 13:18:21.91 ID:HEOTRILb.net] 車に空の子オブジェクトを追加してそこにパーティクルを追加すればいいべ そういうことじゃなくて?
796 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 13:52:42.53 ID:QvFVBkNr.net] >>761 車の排気ガスのアセットをかうと良いですよ
797 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 14:25:47.65 ID:xcDA2XWm.net] >>762 車とは別に新しくオブジェクト作って、 それにパーティクル追加してあとから車と同期(車と一緒に動くように)すればいいって事ですか?
798 名前:ダーク王鍬大使 mailto:sage [2017/12/11(月) 14:30:15.62 ID:V8qj051b.net] パーティクルを車の子オブジェクトにして位置と向きをインスペクターで変えてくらふぁい(^^
799 名前:ダーク王鍬大使 mailto:sage [2017/12/11(月) 14:31:22.80 ID:V8qj051b.net] ってよく見たら>>762 に答えが書いてありまひた(^^ お節介失礼しまんこ(^^ ボッキング!(^^
800 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 14:58:00.33 ID:HEOTRILb.net] >>764 車の子オブジェクトにすればわざわざ同期なんて取らなくても相対位置と向きを保ったまま車と一緒に動いてくれるでしょう
801 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 16:02:51.94 ID:02QPz9bc.net] このスレの人ってまさか車のモデルをそのままヒエラルキーに配置してそこにスクリプト直付けしてるの? 普通Create Emptyで作った空のオブジェクトの下に作るよね?
802 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 16:34:52.69 ID:T/JrBtRm.net] 全体的に、自分で色々工夫してみることをしないで人に答えを求める輩が多い気はするね。 プログラミングに答えはなくて目的の結果になる方法はいくつもあるのに他人のやり方を真似したがる人が多すぎるねここ。
803 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 16:36:31.43 ID:B36sEdco.net] 人それぞれ。結果が満足なら中身なぞどうてもいい。 自分なりの作り易さを模索するだけさ。
804 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 16:38:59.95 ID:VIjb3sER.net] TanksにLeftDustTrailとRightDustTrailって入ってるじゃろ
805 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 16:39:28.70 ID:T/JrBtRm.net] 他で例えると 攻略本無いとゲームを出来ない人とか うまいラーメン本に紹介されてるラーメン屋にしかいけない人とか ジグソーパズルを買って全部人に作らせてる人とか 何かしら他人の助けがないとダメで自分で工夫できない人というか そんなのに似てる気がする
806 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 16:41:13.85 ID:T/JrBtRm.net] そんな俺はUnityはプラモとかDIYと同じだと思っている
807 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 16:44:46.62 ID:VIjb3sER.net] チュートリアルで例(ひな型?)が示されてるのに、やってないだけだよ やって気付かないってのはありえない
808 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 17:01:29.50 ID:xcDA2XWm.net] このスレっていっつもマウント取るか嫌味しか言わない上級者様ばっかだよね なんで質問スレにいるの? 自分なりに試行錯誤して分からない結果聞きに来てる初心者の自分からしたら意味が分からない
809 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 17:08:45.71 ID:B36sEdco.net] >>775 捻くれたやつなんかスルーしとけ。教えてくれた人にはお礼を言う。 他人の成長が怖くて、少しでも時間を削ろうとしてるのさ。
810 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 17:13:36.54 ID:Gwv7NuWB.net] パソコン買ったらパソコンの使い方講座が無料でついてきたにも関わらず、 そんなの要らない自分で出来るって無視したのお前やろ だったら人に聞かずにやるのが筋ってもんじゃあないの?
811 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 17:16:53.36 ID:xcDA2XWm.net] >>776 そうだね、ありがとう 最初から堅苦しいマニュアル一から読んで自分の手動かそうとしない奴らの作ってるゲームが面白いとは全く思えないんだけどなあ
812 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 17:20:38.93 ID:HEOTRILb.net] >>775 "同期"なんて用語を知ってるのに子オブジェクトが分からないという、なかなか不思議な学習曲線を辿ってるみたいだから理解されなくてもまぁ仕方ないかも チュートリアルどれくらいやった?
813 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 17:21:19.77 ID:7znfHEz6.net] 効率を求めた結果、本末転倒になってりゃ世話ない
814 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 17:36:21.95 ID:rG1bqsx7.net] 少しここ覗いてたけど、質問しようなんて気にならない Unityを使ってる知り合いを作る方が早いしためになるからそうしたわ
815 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 18:05:09.66 ID:rJi7rAoj.net] Transform c = transform.GetChild(0).GetChild(0); Transform b = transform.GetChild(0); Transform a = transform; a.parent = b; b.parent = c; これ動かしても親子変わらないのは仕様ですか?
816 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 18:18:16.44 ID:02QPz9bc.net] そうだぞ 引きこもりのお前らを社会に戻すために俺はここで嫌味を書き込んでいる さっさとエンジニアの知り合いを作りたまえ
817 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 18:26:44.90 ID:6snW9ojT.net] あんたいいやつだな
818 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 18:32:42.55 ID:v+pV5X5w.net] 車の排気ガスについて、 移動した車に付いていくアニメーション的な排気ガスにするパターンと 排気ガス自体は、移動前の車の位置に留まり、その場でフェードアウトしていき、 移動した車が次々に新たな位置に排気ガスを生成していくパターンが有ると思う 前者は、アフターバーナーみたいな、付いていくタイプ 後者は、飛行機雲みたいな、置いてくるタイプ 子オブジェクトとして生成するか、 独立オブジェクトして生成するかは、好みによるのでは・・・
819 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 18:40:23.63 ID:T/JrBtRm.net] 初心と無能を間違えてはいけない 基礎を勉強し身につけた者だけが初心を名乗れる 基礎をやらず教えて君は無能だよ 取説読まない 何もやらない 全部すぐ人に頼る これは初心者じゃない 教習所に通わずいきなり車を運転しようとしてるやつ これも初心者じゃない 初心 これの意味をもっとよく考えてから質問しよう プラモ買って説明書読まない組んでて 途中で出来ないから作り方教えてくれという自称初心者がいたらどう思う? 説明書をまず読めと思わないか? 質問の質
820 名前:があまりにも低すぎるのが問題 [] [ここ壊れてます]
821 名前:名無し@キムチ [2017/12/11(月) 19:11:07.14 ID:bqjs8mgU.net] >>783 エンジニアよりキムヨナと知り合いたいな・・
822 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 19:11:25.30 ID:6tubAqHL.net] >>782 root同士じゃないと出来ない組み合わせなかったっけ? cとbを c.transform.parent = null; b.transform.parent = null; で親子解除すれば出来る
823 名前:名無し@キムチ [2017/12/11(月) 19:16:57.23 ID:bqjs8mgU.net] >>786 初心者とはそんな難しいもののことではない。 単純にビギナーのことだ。
824 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 19:20:05.88 ID:rG1bqsx7.net] そういえばUnity初心者スレってないのな
825 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 19:32:44.82 ID:T/JrBtRm.net] >>789 ビギナーは英語で初心者という意味 >初心者とはそんな難しいもののことではない。 >単純に初心者のことだ。 自分の発言が情けないほど意味不明になると思わない? 基礎を学ばずにいるとこうやって無能を晒し恥をかくだけ 分かりやすい例になってくれてありがとう!
826 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 20:07:01.75 ID:qY5Wc6Xa.net] チュートリアルすらやってないドキュンとか、 補助輪取れないアホは無視でいい
827 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 20:22:52.74 ID:g06Ln43v.net] >>786 完全にクレーマーw
828 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 20:52:55.52 ID:u584Mmdp.net] >>786 では質問、外部サイトの情報をスクレイピングして情報を抽出するゲームを作成しています。 読み出すサイトの文字コードに合わせてSystem.Text.Encodingクラスを用いて変換しているのですが、エディタ上で動かすと正しく動きますが、実機にビルドするとsjisやeucjpなどでエラーとなります。これは何故でしょうか?
829 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 21:01:24.21 ID:u584Mmdp.net] さて>>794 の答え合わせだ。 スタンドアロンプレイヤーはデフォルトでI18n.dllとI18n.CJK.dllを内包しないから、これらをアセット内にぶち込めば解決するが正解な どうせ質問がちょっと知識や経験が必要な領域になると皆スルーして俺しか答えなくなるんだから仲良くしとけ >>785 それはヒエラルキー構造もスクリプトも変更する必要はなく、パーティクルのSimulation Spaceを変えるだけで実現可能だよ エミッタ(=ParticleSystem)自体はどちらであっても車本体の子オブジェクトにして問題ない
830 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 21:03:22.24 ID:wTfFWu/6.net] 2.5dのコマンドRPG作るのにplaymakerって使えますかね? ターン制の処理をこれにさせたいのですが買おうか迷ってます。
831 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 21:04:49.25 ID:pffoEIhS.net] 使える
832 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 21:08:29.22 ID:7N8aCxOe.net] 785は滑稽だな リテラシに慣れていないと、公式マニュアルを読んでも、キーワードを聞いても全く頭に入ってこない人もいる 一般的に言って誰にも苦手な分野はある。例えば日本の役所手続きが良い例 適性が無いとの非難があるかもしれないが、本来、道具は、適性とは無関係に操れるものであるべき ところで自由競争戦力スキルへの適応を2chで強要するのは傲慢無恥・視野偏狭で滑稽である(プ
833 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 21:09:37.13 ID:lT/DnU8s.net] ID:u584Mmdpに全部丸投げで解決だなw
834 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 21:15:59.64 ID:L0Sd+qXD.net] 趣味なんて出来なくても死ぬわけじゃないし、 乗れもしない一輪車に勝手に跨って勝手に傷だらけになってるだけじゃない 怪我と弁当は自分持ちで頼むよ
835 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 22:02:19.
] [ここ壊れてます]
836 名前:01 ID:SkZjimvo.net mailto: 詳しい人が降臨しているようなので質問! 角速度 Rigidbody.angularVelocity = new Vector3(a, b, c) による回転を1秒間行った場合の、 向き(角変位) Rigidbody.rotation を、あらかじめ計算でQuaternionを求めておきたいのですが、 Rigidbody.rotation = Quaternion.AngleAxis(angle, axis) で入力する場合、 float angle = いくつ? Vector3 axis = いくつ? に設定すれば良いのでしょうか?? 普段は実際に時間をかけて回転させるのですが、 ショートカット入力によって、瞬間的に向き変更したためです。 普段は速度velocityで移動させていたのを、 瞬間的に位置positionで変位させるのと同じ感じです。 [] [ここ壊れてます]
837 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 23:16:52.47 ID:T/JrBtRm.net] 初心者は基礎勉強を習得した後に応用問題などで躓く者 無能は怠慢で基礎勉強をせずに全てに躓く者 そして自分は初心者だと勘違いしてる者 無能と初心者は全然違う 初心者には教えるが怠け者なだけの無能には教えたくはないって人が多いと思う 質問する気になれないなんて者は来なくていいと思う そいつが消えた所でそいつが困るだけでこっちは何も困らない どうぞ勝手にお帰り下さいなんじゃないかな? ましてや自分は初心者だから教えてもらって当たり前なんて思ってる勘違いには特に 悔しいなら無能をやめて初心者になり 教えたい人が思わず教えてやりたくなるような質問したら?
838 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 23:21:47.98 ID:T/JrBtRm.net] >>795 質問ではなく相手を試す問題だと見抜かれてスルーされた事にそろそろ気づこうか >>798 悪いが発言内容が超明後日方向でずれてるから
839 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 23:28:43.27 ID:T/JrBtRm.net] >>795 と>>798 の2人は俺の考えに反対やら滑稽やらなら ニセ初心者のしょーもない今までの質問全てに全部答えてあげてないと 俺そういう場面見てないんだけど 今も俺にレスするよりそっちが先とおもうけど未処理の物が沢山あるよ 明日からもずっと頼むよお2人さん 俺の考えに反対で反論してくるのはそういうことだから
840 名前:名前は開発中のものです。 mailto:sage [2017/12/11(月) 23:32:55.29 ID:7N8aCxOe.net] ビッグアップル大丈夫か
841 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 00:07:46.96 ID:yWI4yO+J.net] まさかツッパリが足りずに弱音を吐いて「大目に見てくださいよ〜〜〜><」とか懇願してるわけじゃあるまいな
842 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 00:18:39.38 ID:awDx9SbB.net] 試行錯誤が大好きなら一生迷走しててええんやで 遠慮すんなよw
843 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 00:29:29.52 ID:K5+QKreg.net] >>801 偉そうに講釈垂れてる人が大勢いるのにこれにレスがつかないの酷すぎないか… キッチリ1秒後なら var r = Mathf.Rad2Deg; Rigidbody.rotation *= Quaternion.Euler(a * r, b * r, c * r); でどないでしょ
844 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 00:36:52.31 ID:K5+QKreg.net] >>801 rigidbody.rotation *= Quaternion.Euler(rigidbody.angularVelocity * Mathf.Rad2Deg) のほうが簡単か
845 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 02:09:47.10 ID:s3bcy12n.net] @angle = Vector3(a, b, c).magnitude * Mathf.Rad2Deg 3Dの場合、angularVelocityは、rad/秒で入力するので、 a,b,cはrad/秒で入れているはずだから、 angleは度での入力になるため、 * Mathf.Rad2Degで、rad→度の変換が必要ですね Aaxis = Vector3(a, b. c).normalized これをQuaternion.AngleAxisに入れると、1秒後の回転状態になります 試してみて下さい Quaternion.Eulerは、 Z軸回転→X軸回転→Y軸回転の連結回転になるので、 計算結果が、角速度での回転状態と合わないですよ angularVelocityは全軸同時回転ですから 回転ベクトル=
846 名前:回転角 * 回転軸ベクトル で計算しないとダメなはず [] [ここ壊れてます]
847 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 02:14:08.74 ID:K5+QKreg.net] なるほど 勉強になった ありがとう
848 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 04:00:52.95 ID:kM1br0bK.net] >>795 "unity shiftjis error"でぐぐって一番上に出てくる内容コピってどやってんじゃねーよw 仰られてる知識や経験は、その問題に関してはとくに必要なさそうです
849 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 06:49:36.70 ID:yWI4yO+J.net] 809 そういう「より優れた仕様奴隷状態」をドヤる話だと思ってたわ
850 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 07:26:11.46 ID:OlgvJzEy.net] >>812 うん、そのドヤ顔を期待してたw 全く待たずに回答投下してるのに顔真っ赤でスルーされた事に気づけとか書いてる奴がいたのには驚いたが だかな、この質問俺が数年前過去スレに質問して回答が得られなかった質問なんだわ、その後自己解決して方法も書いたはず 2017年4月のそのTIPS見て、同じようなことで困ってる奴多かったんだなと懐かしく思った記憶がある >>801 すまん、昨日は撒き餌撒いて寝てしまったので見てなかった 回答はついてる様なので省略するが、物理エンジンで動かす場合、摩擦やら他のオブジェクトとの衝突やらで結果がズレる可能性があることには注意な
851 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 07:26:33.24 ID:yWI4yO+J.net] 仕様奴隷「俺はこんなにも素晴らしい奴隷なんだ!もっと俺をこき使ってくれぇええ!!」(ドヤァアアア!!!)
852 名前:名前は開発中のものです。 [2017/12/12(火) 07:29:16.97 ID:QJDJOOiE.net] レベルデザインに使えるツール教えてください アセットでもいいです
853 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 07:34:12.06 ID:yWI4yO+J.net] 回転もデフォで減速するみたいだな いちいち生意気なんだよUnity
854 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 08:13:35.13 ID:tVhYuHY1.net] >>816 どんなのを求めているかわからないけどアセットでもいいなら ProBuilderなんてどうだい?
855 名前:名前は開発中のものです。 [2017/12/12(火) 09:37:16.36 ID:QJDJOOiE.net] >>818 アセットのセットみたいなのがほしいです フリーで
856 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 10:39:07.71 ID:qFAu6kJp.net] アセットじゃないけどスケッチアップなんてどうだい? CADツールだけどUnityでそのままスケッチアップ形式のファイルを読み込むことができるんだ そしてウェアハウスっていうUnityでいうアセットストアのようなところで他人の作ったオブジェクトをダウンロードできるんだ ただし無償版でどこまでできるか把握してないから 気になったら調べてごらんよ
857 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 11:37:29.41 ID:V4vKOuq6.net] VS for Macでコーディングしている人いる? 予測コーディングが効かなかったり、最近のアプデで日本語入力がリアルタイムで表示されなくなったり、子音の入力が反応悪かったり 色々ボロボロで進捗やばいんだけどMacでの開発に向いてるテキストエディタ何か無いかしら?
858 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 13:51:05.12 ID:awDx9SbB.net] >>812 どうせキムチだよw
859 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 15:35:32.47 ID:ICWFqCcb.net] >>821 neovim
860 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 17:04:49.48 ID:SinzmT6m.net] VS codeを使うといい for macは対応が不完全なゴミだがcodeはmacでも完璧に使える 金払ってもいいならRider
861 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 17:13:54.71 ID:md8fOJvX.net] VS codeの怒涛の更新ペースは何事かと思うw
862 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 18:36:56.62 ID:w86KIWp6.net] >>808 >>809 >>810 ありがとうございます! 両方やってみました Quaternion Q; Vector3 axis, Vdeg, Vrad; float angle, t; Rigidbody rb; void Start () { rb = GetComponent < Rigidbody > (); Vdeg
863 名前: = new Vector3(45, 30, 0); Vrad = new Vector3(45, 30, 0) * Mathf.Deg2Rad; Q = rb.rotation; } [] [ここ壊れてます]
864 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 18:37:14.48 ID:w86KIWp6.net] void FixedUpdate () { t = Time.time; if (t == 0) { rb.angularVelocity = Vrad; } else if (t == 1.0f) { Debug.Log ("t=" + t); Debug.Log ("angularVelocity:" + rb.rotation.eulerAngles); rb.angularVelocity = Vector3.zero; //angle = Vrad.magnitude * Mathf.Rad2Deg; //axis = Vrad.normalized angle = Vdeg.magnitude; axis = Vdeg.normalized; rb.rotation = Quaternion.AngleAxis (angle, axis); Debug.Log ("AngleAxis:" + rb.rotation.eulerAngles); rb.rotation = Quaternion.Euler(Vdeg); Debug.Log ("Euler1:" + rb.rotation.eulerAngles); rb.rotation = Q * Quaternion.Euler(Vdeg); Debug.Log ("Euler2:" + rb.rotation.eulerAngles); rb.rotation = Quaternion.Euler(Vdeg) * Q; Debug.Log ("Euler3:" + rb.rotation.eulerAngles); } }
865 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 18:41:32.25 ID:w86KIWp6.net] 結果です! angularVelocity = new Vector3(45, 30, 0) * Mathf.Deg2Rad を入力すると、 @angularVelocity:Vector3(42.4, 37.4, 15.0) 1秒ピッタリで止めるには、FixedUpdate内でないとダメのようですね Invoke("Stop", 1.0f)で呼び出すと、 angularVelocity:Vector3(43.1, 38.6, 15.7)と 1フレーム分くらいの遅延が生じる模様・・・ AAngleAxis:Vector3(42.4, 37.4, 15.0) BEuler1:Vector3(45, 30, 0) CEuler2:Vector3(45, 30, 0) DEuler3:Vector3(45, 30, 0) angularVelocityをEulerでQuaternionに入れちゃうと、 角速度による回転結果のQuaternionと少し違うようです・・・ AngleAxisでQuaternionに入れる方が正しいみたいですね
866 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 18:52:30.96 ID:w86KIWp6.net] >>817 回転が勝手に減速する話は本当ですか? AngularDrag = 0にしてない・・・とかではなくて?? RigidbodyをangularVelocityやAddTorqueで回転させて、 1秒ごとにangularVelocityを表示させても、 回転速度は落ちてないようなのですが・・・
867 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 20:43:24.56 ID:s3bcy12n.net] >>827 RigidbodyもRigidbody2Dも、 LinearDragは0が初期値だけど、 AngularDragは0.05が初期値なのが、 気に入らないということでは?
868 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 20:43:27.01 ID:WuPRAOqq.net] 今までモーションは、簡単だからmmdで作ってたけどx軸とy軸の計算違うような…… blenderに乗り換えた方がいいのだろうか。
869 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 20:56:14.28 ID:+nER52Ex.net] はい
870 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 21:01:44.29 ID:WuPRAOqq.net] やっぱか…… blenderの勉強してくるわ。 mmd使うとか俺ってほんとにバカ……
871 名前:名無し@キムチ [2017/12/12(火) 21:17:33.27 ID:pZVPZZmh.net] >>833 Blenderには気を付けたほうがいい Blender上では問題なくモーションしてても、unityに取り込んで動かすと、手が体に食い込んだりしているから。 何度か行ったり来たりする必要があるw
872 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 22:25:16.08 ID:oOD9NLJB.net] blender でもやっぱり同じようなこと起きると思うよ 表現力に不満がないならMMDにしとき
873 名前:名前は開発中のものです。 mailto:sage [2017/12/12(火) 22:32:44.76 ID:9L2xhVzt.net] else ifまで読んだ そんなか入るの?!
874 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 00:01:44.95 ID:/jokcbje.net] >>828 最初の回転状態が、 rotatiin =Quaternion.identityであれば、 1: rotation = Quaternion 2: rotation = rotation * Quaternion 3: rotation = Quaternion * rotation 1-3は全て同じ結果になります。 position = Vector3.zeroの場合、 1: position = Vector3 2: position = position + Vector3 1-2が同じ結果なのと一緒です。
875 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 00:07:16.00 ID:/jokcbje.net] rotationの場合も、positionの場合も、 1は、角変位や位置の絶対指定、 2-3は、角変位や位置の相対指定です。 rotatiin =Quaternion.identityでない場合、 position = Vector3.zeroでない場合、 1と、2-3で、結果が変わってきます。 しかも、rotationの場合、 2: rotation * Quaternionと 3: Quaternion * rotationでも、結果が変わってきます。 追加するQuaternionによる角変位の回転軸を、 transform軸を基準にした回転にする場合は2になり、 キャンバスのVector3軸を基準にした回転にする場合は3になります。
876 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 00:35:37.82 ID:/jokcbje.net] >>826-828 Invokeが呼び出しの際に1フレーム遅れるとわかっているのであれば、 1フレーム前の時間で呼び出させば大丈夫ですよ。 void Start () { rb
877 名前:.angularVelocity = new Vector3(45, 30, 0) * Mathf.Deg2Rad; Invoke ("Stop", 1 - Time.fixedDeltaTime); ←1フレーム前に呼び出し } void Stop () { Debug.Log ("1秒後のrotation:" + rb.rotation.eulerAngles); rb.angularVelocity = Vector3.zero; } 「1秒後のrotation:Vector3(42.4, 37.4, 15.0)」が出ましたよ。 >>810 の方法で求めた場合と一致する値です。 rb.angularVelocity = new Vector3(45, 30, 0) * Mathf.Deg2Rad angle = (rb.angularVelocity).magnitude * Mathf.Rad2Deg V = new Vector3(45, 30, 0) angle = V.magnitudeでも同じ結果になります。 [] [ここ壊れてます]
878 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 06:09:25.65 ID:EBksqhAl.net] >>835 そうなのか…… 大きい移動とかはスクリプトで制御するしかないのか。 ありがとう
879 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 18:54:39.99 ID:+IrYaRns.net] 趣味でUnity使ってゲーム制作してる人と友達になる方法教えてください
880 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 18:59:16.17 ID:w+IYDO+A.net] お断りします
881 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 19:00:06.72 ID:EBksqhAl.net] ツイッターでよくね? 現実で探そうとしてもなかなか見つからんもんだぞ。
882 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 19:11:19.37 ID:6lJsdJ22.net] transformのposition, rotation, scaleって、 なんでtransform.position,transform.rotation,transform.lossyscale になっていて、transform.scaleじゃないの??
883 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 19:23:08.89 ID:+IrYaRns.net] >>843 日本の活発な交流サイトとかはなさそうですね…ありがとうございます
884 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 19:54:49.63 ID:IotT1rVx.net] >>845 ツイッター FacebookのUnity寄り合い所 あとはリアルのイベント ゲームジャムやエンジニア向け勉強会に参加して交流、名刺交換、SNS垢の相互フォローなどすれば簡単に知り合いは増える ちゃんと進捗をSNS上で報告すれば質問とかも答えてもらえる イベントを探すならdoorkeeper、atnd、peatix
885 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 20:48:15.04 ID:/jokcbje.net] >>844 transform.lossyscale = Vector3.Scale(transform.parent.localscale, transform.localscale) つまり transform.lossyscale.x = transform.parent.localscale.x * transform.localscale.x transform.lossyscale.y = transform.parent.localscale.y * transform.localscale.y transform.lossyscale.z = transform.parent.localscale.z * transform.localscale.z localscaleは、インスペクター上で設定するスケールで、 lossyScaleは、自分のlocalscaleと親のlocalscaleの各成分の積になってます。 本当のscaleは、回転が入ると、Vector3ではなくて、3×3行列になってしまいます。 lossyScaleの場合は、回転前のスケールで、Vector3で表せるからだと思います。
886 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 20:58:06.39 ID:Kxr7McTA.net] >>847 おお、中の人?w
887 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 22:56:29.30 ID:/jokcbje.net] Unityでは、アフィン変換を行う4×4行列であるMatrix4x4が、 TRS(Vector3 position, Quaternion rotation, Vector3 lossy scale) によって構成されていて、 スケーリング→回転→移動の順に適用するようにしています。 最初にスケーリングを行うことで、 3×3行列の対角成分しか使わず、Vector3で済みます。 RigidbodyのinertiaTensorも一緒で、 本来は3×3行列が必要な慣性モーメントテンソルを、 慣性主軸系に限定することで、対角成分しか使わず、 Vector3の主慣性モーメントで済むようにしています。
888 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 23:01:57.61 ID:/jokcbje.net] >>848 Unity自体はそれほど詳しくないですが、 物理演算系とか、3D数学が専門なので。
889 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 23:04:15.99 ID:bbkFRctl.net] 神になった気分だ。 スキルアップした今、どんなジャンルの仮想世界を作れと言われても その詳細さえ教えてもらえれば 一瞬でどんなデータ構造/アルゴリズムで作ればいいかや どんなデザインパターンを使えばいいかが 一瞬で頭にひらめき、スラスラとコードを書きはじめることができ、 予期せぬバグとかがなければ短期間でそのソフトやツールを一人で作る自信がある。 この予期せぬバグとはふだん使ってない昔やったプログラミング言語の細かい文法関
890 名前:連のことだけで それはすぐ見直してカンを取り戻せばいいから全く問題ない。 [] [ここ壊れてます]
891 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 23:09:45.76 ID:Kxr7McTA.net] >>851 いいから、お前は早く作れ!w
892 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 23:11:16.24 ID:Kxr7McTA.net] >>850 専門?3d系プログラマ?
893 名前:名前は開発中のものです。 mailto:sage [2017/12/13(水) 23:36:39.33 ID:fbUZmcUU.net] transform.lossyscale.x = transform.parent.locssyScale.x * transform.localscale.x じゃないのか?
894 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 00:23:40.49 ID:AuQKwcV0.net] >>854 そうですね。 parentがrootとは限らないので、parentのlossyscaleじゃないとダメですね。 末枝側へ変換が累積していきますから。 親オブジェクト-子オブジェクトの2者関係だと、 親オブジェクトのlossyscale = localscaleなので、両方localscaleで大丈夫ですけど。 親オブジェクト-子オブジェクト-孫オブジェクトの3者関係だと、 孫オブジェクトの親オブジェクトである子オブジェクトのlossyscaleは、 親オブジェクトのlocalscale * 子オブジェクトのlocalscaleになってますから、 孫オブジェクトのlossyscale = 子オブジェクトのlossyscale * 孫オブジェクトのlocalscale = (親オブジェクトのlossyscale * 子オブジェクトのlocalscale) * 孫オブジェクトのlocalscale = 親オブジェクトのlocalscale * 子オブジェクトのlocalscale * 孫オブジェクトのlocalscale >>853 仕事じゃなくて学問の方で。 うっかりしてましたが、UnityはCamelCaseだから、localScale,lossyScaleが正しいのでしたね。
895 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 00:33:15.69 ID:AuQKwcV0.net] Scaleの積は、Vector3の各成分とVector3の各成分の積なので、 Vector3 * Vevtor3 は定義されていないから、 Vector3.Scale(Vector3, Vevtor3) という演算ですね。 いわゆる、アダマール積(シューア積,要素積)です。 Unityでは、アダマール積の逆関数が定義されていないので、 自分でVector3.Scaleの逆関数を定義するか、 アダマール積の逆数を自分で定義する必要がありますね。
896 名前:名前は開発中のものです。 [2017/12/14(木) 02:05:43.30 ID:tWpTkhe5.net] Vuforiaを使ってAR作りたいのですが実行するとマーカーは認識するもののカメラの映像が映らずに画面が黒くなります 誰か分かる方いらっしゃいますか...?
897 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 08:31:00.73 ID:fpuqjDVR.net] 専門ってのは専門学校の事だろw
898 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 08:46:47.19 ID:xj1b5N68.net] >>858 専門学校出身だったら行列の回転だとかをQuaternionとかでも適用して使えるんだろなー という煽りレス
899 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 11:08:53.86 ID:X1xy6sbZ.net] plus一ヶ月契約でもエッセンシャルパック2つってもらえますか? あるいは契約し続けないと使えなくなる感じかな
900 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 12:22:42.24 ID:JR7j67YV.net] >>859 Unityって、もともと回転行列じゃなくて、クォータニオンで回転しているんじゃないの??
901 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 13:13:10.01 ID:6Eg6sRVA.net] >>861 Matrix4x4というのがあってね... でも正直に言おう アレは何だ?!
902 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 15:25:57.18 ID:UIHENBZT.net] 数学難しいですね でも大丈夫!UNITYにはアセットが有りますよ! アセットを購入しましょう!
903 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 17:52:04.05 ID:V0Mq7RkO.net] >>863 お前ニセモノだな!
904 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 19:01:47.53 ID:EAIFpwQr.net] >>860 契約切れても有効だけどそもそもplus/pro自体12ヶ月継続必須だから前提が無理
905 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 19:21:23.88 ID:JR7j67YV.net] >>862 3次元のベクトルを回転させるのに、なんで4x4行列なの? 回転行列って、3x3行列じゃないの??
906 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 20:39:20.26 ID:AuQKwcV0.net] >>866 移動と回転とスケーリングができるように、 アフィン変換行列になっているからです。 Matrix4x4.TRS(position, rotation, scale) で4×4行列に入力できますが、 出力する時は、 Vector3 = Matrix4x4.MultiplyVector(Vector3) によって、Vector3で入力して、 Vector3で出力できるようになっています。
907 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 20:55:53.20 ID:N8/aZDnG.net] >>867 はえ〜すっごい‥
908 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 21:30:51.37 ID:AuQKwcV0.net] >>859
909 名前:回転行列MでベクトルV0を回転させて、ベクトルVにするには、 Z軸で30度回転する場合は、 Quaternion Q = Quaternion.Euler (0, 0, 30); Matrix4x4 M = Matrix4x4.TRS (Vector2.zero, Q, Vector2.one); Vector3 V0 = new Vector3(1, 2, 3); Vector3 V = M.MultiplyVector (V0); これを、QuaternionとVector3の演算で行うと、 Quaternion Q = Quaternion.Euler (0, 0, 30); Vector3 V0 = new Vector3(1, 2, 3); Vector3 V = Q * V0; [] [ここ壊れてます]
910 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 21:32:41.20 ID:AuQKwcV0.net] Matrix4x4 M = Matrix4x4.TRS (Vector2.zero, Q, Vector2.one); は間違いで、 Matrix4x4 M = Matrix4x4.TRS (Vector3.zero, Q, Vector3.one); が正しいです。
911 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 21:45:36.22 ID:AuQKwcV0.net] >>859 Quaternion QでベクトルV0を回転させて、ベクトルVにするには、 Z軸で30度回転する場合は、 Quaternion Q = Quaternion.Euler (0, 0, 30); Vector3 V0 = new Vector3(1, 2, 3); Quaternion Qv0 = Quaternion.identity; Qv0.Set(V0.x, V0.y, V0.z, 0); Quaternion Qv = Q * Qv0 * Quaternion.Inverse (Q); Vector3 V = new Vector3(Qv.x, Qv.y, Qv.z); こちらが、本来のQuaternion積でベクトルを回転させる方法です。 Unityでは、この面倒くさいQuaternion積の演算が、 「Quaternion * Vector3」だけでできるようになっています。
912 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 21:55:15.62 ID:AuQKwcV0.net] Vector3 = Quaternion * Vector3 は、行列積を意識していると思われます。 Vector3 = Matrix3x3 * Vector3 としたいところですが、 UnityにはMatrix3x3は用意されていません。 (3×3行列の乗算では、回転とスケーリングしかできないからです) Vector4 = new Vector4(Vector3, 1) で4次元ベクトルにしてから、 Vector4 = Matrix4x4 * Vector4 で計算して、 Vector3 = (Vector3)Vector4 で3次元ベクトルへ戻す必要があります。 最初に、Vector4 = (Vector4)Vector3 と手抜きをしてはいけません。 Vector4 = new Vector4(Vector3, 0) で代入されると、 アフィン変換の「移動」が乗算されなくなります。
913 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 23:49:37.69 ID:zts/k6NY.net] 行列なんか意識しないでも3dゲーム作れるようになったんだからすごい時代だよね 結構まえからだけど
914 名前:名前は開発中のものです。 mailto:sage [2017/12/14(木) 23:54:59.29 ID:N8/aZDnG.net] >>871 へー、なるほどなぁ‥
915 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 01:39:47.96 ID:TM1zyrgU.net] >>865 年契約の1ヶ月払いってだけなんですね ありがとうございます
916 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 04:19:45.41 ID:L6b+QAfA.net] なるほど よくわからん
917 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 11:35:10.31 ID:a5awPS/6.net] >>875 半額だったんでplusを年契約の年払いしたよ 売り上げ1千万以上なのに。 たかだか1万円ぐらいを月払いする奴いるの?
918 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 12:38:14.64 ID:c63jfGrC.net] 物理演算系の解説を希望! C#の経験あっても、そもそも物理演算は別物な気がする・・・ 物理演算は、2Dと3Dで若干仕様が違うし、なかなか体系的に物理演算を解説しているサイトも少ない せいぜい、velocityとAddForce止まりが多い 重力設定や衝突判定をUnityにまかせてしまうには、物理演算を使用するのが手っ取り早いんだけど、 物理演算だと、これまでのグラフィックス操作的な、プログラミングメソッドがあまり使えない (基本的に、positionやrotationを直接いじらないほうが良いみたい)
919 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 12:46:53.83 ID:bN2Y1bPS.net] アイテムを所持していればお化けを倒せるというシステムにしようと思っています。 それでそのアイテムを十字架の画像にしようと思っているのですが、日本人だったらアイコン見ただけで何となく意味が分かるだろうと思うのですが、海外の人でも抵抗なくスッと理解されるんでしょうか?
920 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 13:05:51.44 ID:DzxyY709.net] >>879 アセットを購入すればいいですよ
921 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 15:58:23.54 ID:59uPCR9L.net] >>879 海外のゲームを参考にすればわかりますよ
922 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 16:32:05.45 ID:kzY3QNw/.net] >>879 ゲームデザインにもよるけど そのアイテムの効果とお化けとの相互関係が分かるような物なら多分大丈夫かなぁ アイテム説明とかも結構重要だけども。
923 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 16:54:14.50 ID:bO73tzHJ.net] アイテム説明が一番確実
924 名前:だわな むしろ必須じゃないか? [] [ここ壊れてます]
925 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 20:05:01.07 ID:c63jfGrC.net] transform.LookAtだと、どうしてもオブジェクトのforward軸が対象を向いちゃう そうじゃなくて、オブジェクトのup軸を対象に向けたいんだけど、一体どうすれば・・・? transform.LookAtでオブジェクトのforward軸を対象に向けて、 その後にtransform.Rotateでx軸で90度して、up軸をforwardへ向けているんだけど、 2段階になっちゃって、無駄が多いし、その瞬間動作が表示されちゃう オブジェクトとtransform軸の対応を変更できれば、 オブジェクトのup軸方向を、forward軸に設定したいんだけど・・・
926 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 20:51:06.18 ID:PCtIHB7r.net] おぶじえくを最初から傾けておくか、小オブジェクトで対応するか、いくらでも方法あるだろうね。 ルックアット使わずにやるのも有りだし。
927 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 23:29:48.61 ID:nw+wySXa.net] >>884 目標の座標をVector3 targetとすると、 transform.right = targetでいけませんか? transform.LookAt(target) は、 transform.forward = target と同じになるはずです。
928 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 23:37:17.53 ID:nw+wySXa.net] もっとも汎用性のある方法は、 向き(transform.rotation)を、 向けたい軸(Vector3.right)を向かせたい相手(target)へ向ける回転 Quaternion.FromToRotation にしてしまう方法かと思います。 transform.rotation = Quaternion.FromToRotation(Vector3.right, target) になります。 例えば、左側をtargetに向けたい場合、 Vector3.right を、- Vector3.right に変更します。 (Vector3.right = - target でも勿論できます) ただ、Vector3.oneをtargetに向ける回転は、 transform軸への代入ではできず、 上記の汎用法を使うのが良いと思います。
929 名前:名前は開発中のものです。 mailto:sage [2017/12/15(金) 23:38:56.71 ID:nw+wySXa.net] >>884 読み間違えました。 up軸を向けるのでしたね。 @transform.up = target Atransform.rotation = Quaternion.FromToRotation(Vector3.up, target)
930 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 01:09:49.63 ID:yxJiRP9K.net] 先生、お元気ですか? ゲームの世界は感覚的すぎて戸惑います。 学び舎では多くを教わりましたが、教わった通りに自分が成長できているか分かりません。 ぼくは、自分の理想の世界観を語れるほどゲームを知らないということを知りました。 惹かれます。 ゲームを、もっと知りたいです。
931 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 02:04:26.56 ID:hBjssZ70.net] >>889 どこかで見た文章だけど、元ネタが思い出せない・・・
932 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 05:13:21.04 ID:nt3lwpZi.net] >>883 文字で説明しないと伝わらないUIはデザインとしてゴミ以下
933 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 10:52:27.48 ID:rc5ijf27.net] 質問です 友人がウインドウズで9人対9人のオンラインゲームを作りたいと言ってます それはつまり18人がオンライン接続してゲームするわけですが そんなことUnityでやれますか?
934 名前:ダーク王鍬大使 mailto:sage [2017/12/16(土) 12:23:08.13 ID:finBREYt.net] 出来まふよ(^^
935 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 14:06:22.45 ID:OPi28kIP.net] 何でできないって思うんだろうな
936 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 14:10:10.05 ID:2jMajkmZ.net] Unityは出来るけど彼らには出来ない 悲しいけどこれ、ゲーム制作なのよね
937 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 15:56:35.74 ID:fmqmdkMD.net] 無料で利用できる範囲は同時接続20人まで 21人〜50人まで月額4200円 51人〜200人まで月額15000円
938 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 16:08:28.62 ID:ovrxOZck.net] パーソナル版の使用条件として収益が〜ドル以下みたいな規約がありますが、 あれは自己申告なのでしょうかそれとも向こうでも逐一判断できる状態なんでしょうか。
939 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 16:56:22.84 ID:OPi28kIP.net] >>897 判断できる状態ってどんな状態? 自己申告だけどものすごく稼いでた
940 名前:ら嫌でも目に留まる [] [ここ壊れてます]
941 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 17:44:22.66 ID:YMI0KZPt.net] 「人生はゲームのようにプレーしろ。真理は恐ろしいものではない。」
942 名前:名無し@キムチ [2017/12/16(土) 19:19:52.45 ID:ODGviKVk.net] >>888 >up軸を向ける up軸を相手に向けるというのが、当方にはどんな状態なのか、ピンとこないです。 具体的には頭のてっぺんを相手に向けるということなのですか? それはどんなシチュエーションのゲームなんだろう? これから相手に頭突きをかますとか?それなら、頭だけを下げればいいわけだし・・・ 申し訳ないが、まるで映像が浮かんできません・・・www
943 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 22:30:34.88 ID:zgsa9dPV.net] 落ちものパズルを作成していて画面上部にオブジェクトを出現させて横軸のマウスの動きについてきてクリックでオブジェクトが落下。 というような仕様にしたいのですが、ランダムにオブジェクトを作成して画面上部に固定というのが出来ません。これの解決法が見つかりません。。。 どうかご教授お願いします。
944 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 22:50:27.94 ID:hBjssZ70.net] 例えば、太陽を中心に地球が公転をする時のようなイメージで、 常に同じ面(赤道面)を太陽に向けて公転する場合は、forwardを太陽に向かせればよいけど、 太陽の真上に北極星をおいて、北極側の地軸を常に北極星に向かせたまま公転する場合は、 up軸を北極星に向ける必要がある (実際の地球はそんな回転はしないけど、そういう状況を作りたいときに必要かも)
945 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 22:58:57.30 ID:hBjssZ70.net] あるいは、飛行機の宙返り飛行かも?! 普通、飛行機の前後にforward軸をとるはず transform.position += Vector3.forwardで前へ進み、 taransform.RotateionAroundで、上空に設定したループ中心回りを公転して宙返り その際、飛行機の背中(上下のup軸)はループ中心を向けていないといけない
946 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 23:03:43.75 ID:yxJiRP9K.net] 人生は神ゲーだ。 本気でがんばるとぎりぎり倒せるように絶妙のバランス調節がされた敵。 単純作業じゃ効率が悪いけど、工夫次第でどんどん効率を上げられる経験値システム。 リセット不可の緊張感。でもシレンとかよりずっと死ににくいからあんま気にする必要なし。つーか普通のゲームでもリセットなんて邪道じゃん。 全てのキャラが深い人間性と歴史を持って登場する、圧倒的リアリティ。 グラフィックが綺麗すぎ。多分、無限×無限ピクセルで、毎秒無限フレームで動いてる。色も多分無限色使える。夕焼けとかマジありえねー美しさ。 BGMの種類がほぼ無限。選曲も自由。自分で作った曲を流すこともできる。人間が作ったとは思えない、とんでもなく複雑で洗練されたシナリオ。 リアル出産システム採用。自分と、自分よりも大切に思える相手の遺伝子を半分ずつ受け継いだ、奇跡のようなキャラを生み出して、そいつに自由に色々教えて育てることができる。 すごく嬉しいし、ちょー楽しい。ネコっつー生き物が登場するんだけど、これがちょーかわいい。 食いきれねーほどの種類の料理があって、超うまいものが時々食える。 説明書が無く、仕様が明かされてないから、自分でデータとって仕様を推測するしかない。これがまたとんでもなく高度に洗練された仕様になってるっぽくて、なかなか正確には分からん。 だから、とりあえず大雑把に推定し、それに基づいて行動して、データを取りつつ徐々に予測値を修正していく必要がある。 これがまた楽しい。徐々に明らかになっていく世界観。 未だに明らかになってない謎が山盛り。友達と一緒に協力して遊べる。無料。 本気で自分を愛してくれるキャラがいたりする。ゲーム内で別なゲームやったりアニメ見たり出来る。 エロゲと違って、主人公の勝手な行動でフラグが立つことがない。 登場キャラと本当に心を 通わせることが出来る。信じがたいほど深い感動を味わえるイベントが結構ある。もちろん本気でやらないとフラグを無駄にするだけだが。 こんなとてつもない神ゲーを糞ゲーとか言ってる奴は、本気でこのゲームをやったことがない奴だけ。 まあ、一切がんばらずにクリアできるようなヌルゲーばかりやってる奴には、このゲームはちょいとハードかもしれんがな。でも一端ハマった奴はみんな、このゲームを辞めたくないって言ってるぜ
947 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 23:05:25.75 ID:hBjssZ70.net] いいや、違うな・・・ おそらく、2DでLookAtが使えないからかもしれない! 2Dだと、forwardはZ方向、つまり、奥方向が前になる 2DでLookAtすると、forwardを対象物に向けるため、 スプライトが画面に対して垂直に立っちゃうからかも? 例えば、振り子運動させる時、上方に振り子の中心点を設定して、 左下45度から右下45度へ向かってRotateAroundで公転した場合、 オブジェクト上方=up軸を振り子の中心点へ向けないといけない そもそも、2Dではup軸かright軸しか向きを変える際に利用できない・・・ (forward軸を変えたら、2Dでなくなってしまうから) これが理由のような気がするなあ
948 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 23:07:26.05 ID:hBjssZ70.net] >>901 物理は使う? 2Dなの3Dなの?? Gravityオフにしてオブジェクトを生成すれば、落ちないよ クリックしされたら、オブジェクトのGravityをオンにしたら良いんじゃ
949 名前:名前は開発中のものです。 mailto:sage [2017/12/16(土) 23:57:45.09 ID:zgsa9dPV.net] >>906 返信ありがとうございます。 物理は使っています。2Dで制作しています。 プログラムが書けなくてオブジェクトをランダムに生成してクリックでGravityをオンにするっていうようにするのが どうやればいいのかわからなくて・・・。
950 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 00:00:59.32 ID:CBpPFu99.net] 星型のアセットモデルをインポート ↓ Hierarchyに追加して任意の角度(星型が正面に来る)にする ↓ それをプレハブ化 してもInspector内でデフォルトの角度に戻ってしまいます(オブジェクトとして使用する分には任意の角度になるんですが) 星型の弾丸を作ろうと思ってるんですが、プレハブから弾丸にするとデフォルトの変な角度のまま発射されてしまうんですよね…
951 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 01:08:13.95 ID:Vn9M2BoC.net] >>907 プログラムを書けるようになって動かせるようになりたいってこと?
952 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 01:26:30.94 ID:K2bL8mhm.net] >>908 アセット内のプレハブの方のインスペクターで角度を指定すれば、 それをヒエラルキーに持っていっても角度は保たれているはず スクリプトで動的にプレハブprefabを生成する場合、 生成時に角度Quaternionを指定できる if?(Input.GetMouseButton?(0))?{ //クリック時 Vector3 position = new Vector3(Random.Range(-10.0f, 10.0f), 10, 0); //x座標をランダムに生成 Instantiate(prefab, transform.position, Quaternion.Euler(x, y, z)); //角度を指定してprefab生成 } このスクリプトをprefabに載せる
953 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 01:32:40.49 ID:
] [ここ壊れてます]
954 名前:K2bL8mhm.net mailto: 半角スペースが文字化けして?になっちゃった・・・ 左クリックされたら、 x座標を-10〜+10でランダム値 y座標を10 角度を(x度,y度,z度) prefabを生成 2Dだと、 Rigidbody2D Rb2D; Rb2D?=?GetComponent?<?Rigidbody?>?(); Rb2D.gravityScale = 1.0f; もいるね あらかじめ、prefabのRigidbody2Dで、 インスペクター上でGravityScaleは0にしておいてね; [] [ここ壊れてます]
955 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 02:01:14.46 ID:vcuEPHEk.net] 流石にコード無しでDTB作るのは難しいと思うからプログラムを学ぶかかける人を探さないと無理だと思うよ
956 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 02:16:48.31 ID:K2bL8mhm.net] public GameObject Obj; //prefabを指定しておく Rigidbody2D Rb2D; public class PrefabCode : MonoBehaviour { void Update() { if (Input.GetMouseButton(0)) { Vector3 position = new Vector3(Random.Range(-10.0f, 10.0f), 10, 0); GameObject Prefab = Instantiate(Obj, transform.position, Quaternion.Euler(x, y, z)); Rb2D = Prefab.GetComponent<Rigidbody2D>(); Rb2D.gravityScale = 1.0f; } }
957 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 02:23:43.91 ID:K2bL8mhm.net] PrefabCodeは、ヒエラルキーで作成した空の2Dオブジェクトにでも入れておいて もしかして、ランダムはオブジェクト自体か? オブジェクトの形が数種類あるとか? その場合は、ランダムでパターン番号0〜3とかを指定して、 if文で、違うprefabを生成する文を選択させるのが良いかも 空のオブジェクトのx座標を、マウスのx座標と揃え続けるコードも必要だな マウスオーバーイベントに書いておく必要ありそう prefabは空のオブジェクトの位置に生成されるから
958 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 02:48:52.06 ID:2l6FPzGg.net] これで作られたRPGってありますか ガチャゲーじゃない昔ながらのRPGです
959 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 03:03:25.27 ID:KEqZbS2o.net] >>915 いけにえと雪のセツナ
960 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 03:06:58.30 ID:2l6FPzGg.net] >>916 d セールになったら買ってみます
961 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 03:30:34.88 ID:anx13erV.net] 2Dアクションゲームを作成しようとしている初心者です。 tilemap collider2dをアタッチしたtilemapの平面フィールド上で、 rigidbody2dとbox collider2dをアタッチして重力と当たり判定を付与したGameObject(Player)を歩かせたところ、 タイルに引っかかる形で止まってしまいます。 これを回避するためにcapsule collider2d等で接地面を点にすると止まることはなくなります(僅かに減速する)が、 当たり判定を□で判定したい為、可能であればbox collider2dで実装したいと考えています。 tilemapを使用した際のこういった引っかかり挙動を抑えることは可能でしょうか。
962 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 10:25:06.96 ID:kJlZ2G7V.net] 足元はcapsuleかcircleにして、 もう1つboxで足元から数ピクセル上を覆えば良いのでは? collider2Dは1つという制約はないので、複合したら良いんじゃ
963 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 10:31:21.09 ID:kJlZ2G7V.net] >>900 >>888 ですが、基本的にforward軸はオブジェクトの前後方向にとっているのですが、 円状(球状)の軌道で旋回しており、その際にオブジェクトの上下方向を、 軌道の中心(球の中心)へ向けておきたいのです・・・ 人工衛星やスペースシャトルみたいな感じです 前方は進行方向を向けておいて、なおかつ上下は鉛直軸に揃えたいんです 前方が中心を向いちゃうと、上下に立った状態で周回してしまうので
964 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 10:36:09.95 ID:kJlZ2G7V.net] レスのアンカに引っ張られて間違えましたが、自分は883でした >>905 2Dだとtransform.LookAtが機能しないんですね! それじゃ、やっぱりforward以外の軸を向ける機能は大事ですね >>88
965 名前:6 ビックリです! transform軸に目標座標を入れると、軸がそっちを向くんですね! しかも、正規化して単位ベクトルにするひつようもないみたい そしたら、transform.LookAtいらなくない?! [] [ここ壊れてます]
966 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 16:14:44.68 ID:anx13erV.net] >>919 レスありがとうございます。 当たり判定に違和感がない数ピクセルの差でbox collider2dをアタッチすると引っかかりは生じます。 引っかからない程度に足元を円形にすると角で滑り落ちるようになってしまいます。 DirectionをHorizontalにした角の丸い棒状のcapsulecollider2dでプレイヤーの上下左右を被った場合(角のない箱のような形)は、 引っかかることはなくなりますが、やはりタイルに当たりはするので、極僅かに減速してPlayerが数pixcel浮くことがあります。 またその際、OnCollision〜2Dイベントを監視すると、タイルに当たって浮いた瞬間にタイルとの接触判定が一瞬途切れている為、 ジャンプ判定等にも影響が出てしまう(空中にいる判定が誤作動する)のでタイルとの判定自体を正しく動作させたいと考えています。
967 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 17:18:37.08 ID:CBpPFu99.net] 回転するステージを作ってます ステージにspawn位置を子オブジェクトとして設定して、そこから敵を出現させようと思ってるんですが spawn位置がステージに追従して回転せず、固定されたままになってしまいます オブジェクトをそのままステージの子にすると回転に追従できるんですが、 Spawnにスクリプトを設定してそこからオブジェクトを選んでくっつけるとどうもうまく行かず… なにか解決方法はありませんか?
968 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 17:19:26.92 ID:CBpPFu99.net] >>910 遅レスすいません、詳しくありがとうございます。試してみます。
969 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 17:21:12.36 ID:anx13erV.net] >>922 すみません自己解決しました。 edge collider2dを使用するか、box collider2dのedge radiusを0.001に設定することで、 タイルとの衝突(及びOnCollider系イベントの誤発生)はなくなりました。 参考:ttps://forum.unity.com/threads/rigidbody-getting-stuck-on-tiled-wall.220861/ ありがとうございました。
970 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 17:28:31.76 ID:0i7oG1oj.net] >>886 どういう原理なんだこれ????
971 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 20:19:28.23 ID:Vn9M2BoC.net] position とかと同じように代入できるんだね。リードオンリーだとばかり思ってた
972 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 20:36:30.69 ID:MPKxHq38.net] Unityの人達がどれほど「技術の民主化(デモクラタイズ)」とい うものに心を払っているかは、多分外部の人達には想像できな いと思います。この一点においいて、Unityは、世界中に沢山の ファンを生み出し、そしてエバンジェリズムを行うチームのメンバ ーも国境や政治制度を越えてひとつになれるのです。
973 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 20:43:06.69 ID:ttDBRzWh.net] その思想は非常に危険 それは即ち低賃金労働者の搾取がゲーム業界においても世界的に起こるようになるということと同義だからだ
974 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 21:44:56.77 ID:FNxE37S9.net] キケンかどうかは立ち位置によるし、資本主義では当たり前の話。
975 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 22:07:45.00 ID:K2bL8mhm.net] >>926 transform軸の座標は、自分のpositionをVector3.zeroとした時の相対座標で設定されている 自分のpositionが原点の場合は、transform軸の座標に目標のpositionを
976 名前:入れれば、 それが勝手に単位ベクトル化されて、方向ベクトルになるみたい でも、自分のpositionが原点でない場合は、 transform軸の座標に「target - trans.position」で自分の座標を引いておく必要がある だから、「target」だけを入れれば良いLookAtの方が簡単にできる(forward軸限定だけど) あと、LookAtは第2引数で、up軸の方向も指定できる (forward軸をtagetに向けた状態で、可能な限りup軸を指定方向に合わせてくれる) [] [ここ壊れてます]
977 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 22:12:13.99 ID:K2bL8mhm.net] >>923 Instantiateで生成する時に、ちゃんと親を指定してる?? 動的に生成したオブジェクトは、ステージとの親子関係が切れてない? Instantiate(Object, Position, Parent)
978 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 22:14:47.35 ID:K2bL8mhm.net] >>922 >>925 edge radiusなんて便利な機能が付いて、 矩形の判定枠の角を丸められるようになったんだね いつも、足の前後に円形判定をおいたり、 カプセルを横にして置いて、地形判定専用にしてたわ
979 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 22:57:38.86 ID:SNj3ir+c.net] ダメージを受ける毎に敵オブジェクトとかモデルが足元から徐々に(段階的に)赤くなって行くっていうのって、どういう原理で出来るんですか? 色々考えたんですけど思い付かなくて
980 名前:名前は開発中のものです。 mailto:sage [2017/12/17(日) 23:29:09.88 ID:tMMchmwv.net] けーすばいけーす
981 名前:名前は開発中のものです。 [2017/12/18(月) 04:52:21.33 ID:B3OUJM41.net] 歩くアニメーションがあってそれは実行すると前進するのですが これをその場で足踏みだけさせるように簡単に変更はできますか?
982 名前:名前は開発中のものです。 mailto:sage [2017/12/18(月) 08:05:53.43 ID:vc4Z0s4x.net] アニメーション再生するだけで前に動くことは無い 別のスクリプトでオブジェクトを進行方向に動かしているはず
983 名前:名前は開発中のものです。 mailto:sage [2017/12/18(月) 08:48:59.47 ID:WoyHjqZj.net] >>878 position等を直接いじったらそれはワープしてるのと同じだからね 移動や回転は事象に応じて物理エンジンがするものと考えれば、いろいろ扱いやすくなると思うよ
984 名前:名前は開発中のものです。 mailto:sage [2017/12/18(月) 09:27:02.70 ID:mba+3hiD.net] >>936 apply root motion
985 名前:名前は開発中のものです。 mailto:sage [2017/12/18(月) 10:23:29.76 ID:B3OUJM41.net] >>939 apply root motionを指定しても動いてるんですよね。 >>937 歩く以外にもジャンプのアニメーションも上に飛び上がらないようにしたいとかです。
986 名前:名前は開発中のものです。 mailto:sage [2017/12/18(月) 10:32:53.07 ID:vc4Z0s4x.net] >>940 モーション自体の中で位置が動いてるなら簡単に動かないようにするのは無理 アニメーション編集してルートのトランスフォーム移動のキーを全部削除するしかない
987 名前:名前は開発中のものです。 mailto:sage [2017/12/18(月) 10:40:39.28 ID:B3OUJM41.net] >>941 やっぱりそれしかないんですね。 自分で削除することにします。ありがとうございました。
988 名前:名前は開発中のものです。 mailto:sage [2017/12/18(月) 12:00:11.97 ID:jBsoCflG.net] LateUpdateでモーション適用後のトランスフォームを変更できる ルートのボーンにLateUpdateで位置をlocalPosition=0,0,0にするコンポを付ければいい。
989 名前:名前は開発中のものです。 mailto:sage [2017/12/18(月) 12:43:15.93 ID:B3OUJM41.net] >>943 ありがとうございます。やってみます!
990 名前:名前は開発中のものです。 mailto:sage [2017/12/18(月) 13:36:58.58 ID:B3OUJM41.net] >>943 完璧に動作しました!ありがとうございました!!
991 名前:名前は開発中のものです。 mailto:sage [2017/12/18(月) 14:32:15.73 ID:B4iwR6Ld.net] https://twitter.com/SpaceBackyard/status/898870157979811840 リンクすみません。 こういうカーソル位置?というか左右にしたら画面が切り替わるのってどうやれば出来るんでしょう? マスクみたいな感じですか?
992 名前:名無し@キムチ [2017/12/18(月) 19:51:23.56 ID:iM2CjGiv.net] >>886 や>>943 は優良回答者ですね。 しったかのヘタレ回答者が多い中で、すごいです!!!
993 名前:名前は開発中のものです。 mailto:sage [2017/12/18(月) 20:19:13.70 ID:AjgZuUm6.net] >>947 貴方も回答者に成るんだよこれから。
994 名前:名無し@キムチ [2017/12/18(月) 22:22:26.73 ID:iM2CjGiv.net] >>948 ホントですね。頑張ります!
995 名前:名前は開発中のものです。 mailto:sage [2017/12/18(月) 22:2
] [ここ壊れてます]
996 名前:4:40.54 ID:zA/nszQ4.net mailto: 好きなオッパイは何カップですか? [] [ここ壊れてます]
997 名前:名前は開発中のものです。 mailto:sage [2017/12/18(月) 22:39:17.53 ID:9Bga0q6S.net] 越後製菓!
998 名前:名前は開発中のものです。 mailto:sage [2017/12/18(月) 23:04:07.96 ID:x75jC3YN.net] 最近、質問-回答がちゃんとなされて、質問スレとして機能していて、ビックリ! ちょっと前なら、アセットで解決!で終了だったのに・・・ スレで出た有用なQ&Aは、誰かどこかにまとめてくれないかね〜
999 名前:名前は開発中のものです。 mailto:sage [2017/12/18(月) 23:11:37.88 ID:x75jC3YN.net] 2DはLookAtが使えなくて今まで諦めてたけど、 まさかtransform.rightやtransform.upに直接代入して、 LookAtもどきができるとは、凄く役になったな〜 タイルチップで2D背景を作ってたけど、 左右移動時にタイルのつなぎ目で引っかかるから、 高さが同じタイルは、colliderを統合して、 高さが変わるところだけ、別colliderにしてたけど、 これからは、タイルチップ敷布でいけそうだな〜
1000 名前:名前は開発中のものです。 mailto:sage [2017/12/19(火) 00:07:08.24 ID:4Od9SmbT.net] ネトウヨ老害死ねばいいのに ゲ製コミュの印象悪くして皆の足引っ張りやがって 死ねよ不細工メタボ引き篭もりネトウヨ
1001 名前:名前は開発中のものです。 mailto:sage [2017/12/19(火) 00:27:04.18 ID:MvhMRTwq.net] まーた、ネトウヨキムチがコミュとか言っちゃって
1002 名前:名前は開発中のものです。 mailto:944 [2017/12/19(火) 03:06:23.03 ID:Ih0Nk694.net] 一応言っておきますが>>947 は自分じゃないですよ… 回答頂いた方には皆感謝してます。
1003 名前:955=944 mailto:sage [2017/12/19(火) 03:07:20.95 ID:Ih0Nk694.net] 名前欄ということです。すみません。
1004 名前:名前は開発中のものです。 mailto:sage [2017/12/19(火) 07:37:16.79 ID:4Od9SmbT.net] >>955 は?なんで俺が「キムチキムヨナ」連呼のネトウヨの最底辺メタボのゴミおっさんなんだよ?糖質が絡んでくるなや 「キムチキムヨナ」連呼のネトウヨの最底辺のゴミおっさんがどこで「コミュニティ」とか言ってやがるんだ? ゲ製コミュをネトウヨコミュニティと一緒にするなやカス共が >>956 「!」の使い方といい、文体といい、同じに見えるんだが? ネトウヨの最底辺のゴミおっさんが、わざわざ文体を真似てるってことか?
1005 名前:名前は開発中のものです。 mailto:sage [2017/12/19(火) 09:35:09.05 ID:VZwsAqll.net] なんか面倒な人に絡まれてるなぁ955 新スレ作るか。
1006 名前:名前は開発中のものです。 mailto:sage [2017/12/19(火) 09:36:44.16 ID:VZwsAqll.net] 新スレビルド完了です... 【3Dゲームエンジン】Unity質問スレッド33 mevius.5ch.net/test/read.cgi/gamedev/1513643755/
1007 名前:名前は開発中のものです。 mailto:sage [2017/12/19(火) 10:04:53.30 ID:4Od9SmbT.net] なぜ <準コテ「キムチ」で「キムヨナ」連呼> みたいなゴミを、素朴に「ゴミ」と言うことや ぱっと見で文体が同じに見えることを、素朴に「同じに見える」「一方が真似てる」と言うことが 面倒がられなければならないのか? 素朴な書き込みを面倒がり、ゴミ廃棄を面倒がる奴の方が、よっぽど面倒だぜ?
1008 名前:名前は開発中のものです。 mailto:sage [2017/12/19(火) 10:13:49.21 ID:hldyKkrz.net] unityにマップを作るtile機能ってあるけど一つのチップセットに対してBoxColliderとかの情報を付けるのってどうすればええんやろ
1009 名前:名前は開発中のものです。 mailto:sage [2017/12/19(火) 12:04:43.40 ID:m7Eb2COO.net] >>962 アセットをかうしか無いですよ!
1010 名前:名前は開発中のものです。 mailto:sage [2017/12/19(火) 14:27:52.29 ID:SpU5jUlI.net] >>951 正解
1011 名前:名前は開発中のものです。 mailto:sage [2017/12/19(火) 15:16:13.61 ID:ZiJMGaxN.net] キチガイがいると迷惑だから分類しないとね
1012 名前:名前は開発中のものです。 mailto:sage [2017/12/19(火) 15:56:19.98 ID:O0snqTpx.net] >>952 お前が幼稚園や保育園をお望みならそれでいいんじゃない? まともな小学生以上は自分でググって調べて解決してる そんな内容ばかりだ
1013 名前:名前は開発中のものです。 mailto:sage [2017/12/19(火) 16:33:46.69 ID:4R8uUpaI.net] アセットガイジはなんか売ってるんかなぁ…
1014 名前:名前は開発中のものです。 mailto:sage [2017/12/19(火) 18:11:13.26 ID:OC9tHkfS.net] >>953 むしろ2DでLookAtさせたいだけならオブジェクトAとBの角度を取って画像をRotateさせるだけでいいんじゃないん?w
1015 名前:名前は開発中のものです。 mailto:sage [2017/12/19(火) 19:22:46.77 ID:Jz5wVrA6.net] >>968 そんな難しいことしたくないじゃん
1016 名前:名前は開発中のものです。 mailto:sage [2017/12/19(火) 19:29:46.21 ID:oc7hao2D.net] >>968 自分をオブジェクトA Aのposition = transform.position 目標をオブジェクトB Bのposition = target とした場合に、 transform.right = target.position - transform.position と同じ作用になるようにするには、 >>958 の方法ではどうなる??
1017 名前:名前は開発中のものです。 [2017/12/19(火) 19:59:39.02 ID:IygWzju3.net] >>970 オブジェクト間の角度とる関数あるからしらべて
1018 名前:名前は開発中のものです。 mailto:sage [2017/12/19(火) 20:25:38.60 ID:v4JsSdmj.net] ベクトル間の角度を出す関数じゃなくて? ベクトル間の角度だと、原点を中心にした角度になるけど しかも、それで角度を出すと回転の向きがわからないから、 ベクトルの外積を求める必要もあるよね
1019 名前:名前は開発中のものです。 mailto:sage [2017/12/19(火) 22:09:39.44 ID:v4JsSdmj.net] >>968 自分でコードを出してみなよ〜 命題:オブジェクトAの向きを、オブジェクトBの方向へ向ける オブジェクトAの座標は任意(原点とは限らない) オブジェクトAの向きは任意(0度とは限らない) オブジェクトBの座標は任意(原点とは限らない) オブジェクトBの位置はVector3で「target」とする 2Dだから、forward軸をtargetへ向かせるLookAtは使用できない さて、969のコードを超える簡略化ができるのか?!どうか
1020 名前:名前は開発中のものです。 mailto:sage [2017/12/19(火) 22:16:40.59 ID:m7Eb2COO.net] アセットを購入すれば簡単簡単
1021 名前:名前は開発中のものです。 mailto:sage [2017/12/19(火) 22:17:29.27 ID:v4JsSdmj.net] そもそも角度って言っても、 それぞれのベクトルの偏角なのか、2つのベクトルのなす角なのか・・・ Rotate(0, 0, θ)で入れるには、 オブジェクトAからオブジェクトBへ向かうベクトルの偏角じゃないとダメだから、 オブジェクトAのベクトルとオブジェクトBのベクトルのなす角を求める Vector3.Angleを使っても、それじゃA→Bへの原点中心の公転角になっちゃうよ! rotationに入れるにはQuaternionである必要があるし、 オブジェクトAの最初の向きが0度じゃない場合も考慮しないといけないし・・・ どう考えても面倒じゃない??
1022 名前:名前は開発中のものです。 mailto:sage [2017/12/19(火) 22:59:56.79 ID:v4JsSdmj.net] アセットおじさんは、 なんていうアセットで、いくらで、どの機能を使うとできるのかも明記して欲しいね〜 「探せばあるかもよ」じゃね・・・
1023 名前:名前は開発中のものです。 mailto:sage [2017/12/20(水) 00:34:43.35 ID:TUVA4DF6.net] >>970 考えてみました。 Aに下記のスクリプトをセットします。 public class A : MonoBehaviour { GameObject obj; Vector3 target, position, direction; void Start () { obj = GameObject.Find ("B"); target = obj.transform.position; position = transform.position; direction = target - position; Invoke ("Rotate", 1.0f); } void Rotate(){ transform.right = direction; ←ここを置き換えるコードです。 } }
1024 名前:名前は開発中のものです。 mailto:sage [2017/12/20(水) 00:39:41.23 ID:TUVA4DF6.net] @Quaternion.FromToRotationを使用する方法1 transform.rotation = Quaternion.FromToRotation (Vector3.right, direction); AQuaternion.FromToRotationを使用する方法2 transform.rotation = transform.rotation * Quaternion.FromToRotation (transform.right, direction); BVector3.Angleを使用する方法1 transform.rotation = Quaternion.Euler(0, 0, Mathf.Sign(Vector3.Dot(Vector3.forward, Vector3.Cross(Vector3.right, direction))) *Vector3.Angle(Vector3.right, direction)); CVector3.Angleを使用する方法2 transform.rotation = transform.rotation * Quaternion.Euler(0, 0, Mathf.Sign(Vector3.Dot(transform.forward, Vector3.Cross(transform.right, direction))) *Vector3.Angle(transform.right, direction));
1025 名前:名前は開発中のものです。 mailto:sage [2017/12/20(水) 00:44:36.57 ID:TUVA4DF6.net] DVector3.Angleを使用する方法3(Rotateを使用) transform.Rotate (0, 0, Mathf.Sign(Vector3.Dot(Vector3.forward, Vector3.Cross(transform.right, direction))) *Vector3.Angle(transform.right, direction)); EMathf.Atan2を使用する方法1(Rotateを使用) transform.Rotate (0, 0, Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg - transform.rotation.eulerAngles.z); FMathf.Atan2を使用する方法2 transform.rotation = Quaternion.AngleAxis(Mathf.Atan2((direction.y, direction.x) * Mathf.Rad2Deg, Vector3.forward); うーん、どうやっても元よりも長いコードになってしまいます。 オブジェクトAの位置が原点だとか、オブジェクトAの向きが無回転だとか、 条件を付ければ、もう少し簡略化できますが・・・
1026 名前:名前は開発中のものです。 mailto:sage [2017/12/20(水) 01:00:49.24 ID:TUVA4DF6.net] Quaternion.FromToRotation(A, B)では、 回転方向を含めた回転状態を得られますが、 Vector3.Angle(A, B)では、
1027 名前:ベクトル間の角度しかわからず、向きがわかりません。 また、取得される角度は180度以下に限定されるため、 左向きに270度は、右向きに90度かもしれないということです。 回転方向は、Vector3.Cross(A, B)のZ成分が正か負かで判定します。 2Dでは、Mathf.Sign((Vector3.Cross(A, B)).z)でも良いのですが、 3Dでは、回転面がXY平面上とは限らないため、外積ベクトルと 正の向きにしたい軸との内積をとってから符号判定した方が確実です。 Atan2関数は、戻り値がradのため、度に直す必要があります。 また、相対回転であるRotateを使用する場合は、 求めた偏角から、現在の向きの回転角を引いておく必要があります。 rotationはQuaternionのため、eulerAnglesでオイラー角に戻しておき、 Z軸回転成分だけを取り出して減算します。 [] [ここ壊れてます]
1028 名前:名前は開発中のものです。 mailto:sage [2017/12/20(水) 08:42:36.26 ID:XTZUI7pU.net] 969です >>977-980 詳しく解説ありがとうございました! やっぱり、角度から行こうとすると結構面倒ですね〜
1029 名前:名前は開発中のものです。 mailto:sage [2017/12/20(水) 18:29:13.04 ID:XTZUI7pU.net] 汎用性を考えると、Quaternion.FromToRotationは良さそうですね これは、あるベクトルを別のベクトルにする回転を返すわけだから、 自分の向きを、自分のベクトルから目標とするベクトルへ向ける回転にするわけですか・・・
1030 名前:名前は開発中のものです。 mailto:sage [2017/12/20(水) 22:49:28.74 ID:TUVA4DF6.net] >>981 テラシュールブログ tsubakit1.hateblo.jp/entry/2014/08/02/030919 ここに、Quaternion.FromToRotationの使い方がうまくまとまってました。 >>var diff = (target.position - transform.position ).normalized; >>transform.rotation = Quaternion.FromToRotation( Vector3.up, diff); このサイトでは、diffは正規化されているようですが、 基本的に内部で強制的に単位ベクトルになるようなので、 target.position - transform.positioだけで大丈夫そうです。 なお、外積ベクトルを利用する場合は、大きさも影響してきますので、 方向ベクトルは単位ベクトルにしておいたほうが無難です。
1031 名前:名前は開発中のものです。 mailto:sage [2017/12/20(水) 22:56:36.28 ID:TUVA4DF6.net] なお、私の方法では、外積ベクトルとZ軸の内積をとっていますが、 最終的に符号のみを取り出しているので、大きさが影響しません。 Vector3.Reflect,Vector3.Project,Vector3.ProjectOnPlaneなど、 単位ベクトルに内積を乗算するタイプの関数では、 必ず正規化して単位ベクトルにしてから代入しないと、 計算結果が変わってきますので、注意が必要です。
1032 名前:名前は開発中のものです。 mailto:sage [2017/12/21(木) 12:35:15.03 ID:rQmWRShb.net] /⌒ヽ く/・ ⌒ヽ すうがくのことわからない | 3 (∪ ̄] く、・ (∩ ̄]  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
1033 名前:名前は開発中のものです。 mailto:sage [2017/12/21(木) 13:03:49.54 ID:nBeZymLn.net] 算数だぞ。
1034 名前:名前は開発中のものです。 mailto:sage [2017/12/21(木) 14:22:23.93 ID:8qhc65N4.net] 確実に高校数学 中学算数でベクトルは習わない(特定進学校は除く)
1035 名前:名前は開発中のものです。 mailto:sage [2017/12/21(木) 14:52:32.83 ID:nBeZymLn.net] >>987 つhttps://www.google.co.jp/amp/s/laurier.press/a/E1405072653842
1036 名前:名前は開発中のものです。 mailto:sage [2017/12/21(木) 17:37:17.76 ID:mWsXZ6ft.net] 年がいくつでも何処からでも学べるんちゃうんか
1037 名前:名前は開発中のものです。 mailto:sage [2017/12/21(木) 17:41:22.45 ID:ogJEBcpf.net] 年寄りは観念が固まってるから、4*4=4+4+4+4とか切り口を変えた柔軟な発想が出来ない
1038 名前:名前は開発中のものです。 mailto:sage [2017/12/21(木) 17:49:58.06 ID:uW9gzElK.net] 柔…軟…???
1039 名前:名前は開発中のものです。 mailto:sage [2017/12/21(木) 18:12:39.26 ID:p4DyS94v.net] なんだかんだと言ってもITはそれなりの頭がないと出来ない 中学、高校で数学が苦手だった奴にプログラミングはむかない そんな理由で糞IT専門学校卒の底辺IT奴隷だって素質があって他の業種からみれば高給与 まあ糞IT専門学校に逝っても半分以上は素質がなくて資格も
1040 名前:取れずIT関連企業にも就職できないんだけど [] [ここ壊れてます]
1041 名前:名前は開発中のものです。 mailto:sage [2017/12/21(木) 18:43:55.99 ID:d8WQwc80.net] Unityのプログラムを、コピペじゃなくて、 自分で考えて、組み立ててコードを書けるってことは、 それなりに数学的な素養があると思うんだよね〜 何も行列とかクォータニオンとかを数学的にきちんと理解していなくても、 「そのメソッドで何ができるか」を理解していれば、 たとえメソッドの内部はブラックボックスでも、それを組み合わせて、 ちゃんと機能するコードが書けるから・・・ ある意味、クラスによるカプセル化と一緒で、 オブジェクト指向の根幹になるんじゃないかな?
1042 名前:名前は開発中のものです。 mailto:sage [2017/12/21(木) 18:52:38.72 ID:d8WQwc80.net] もちろん、そのクラスや構造体の中で、 「数学的に何が行われているのか?」を理解していれば、 それを応用して、別のクラスを作ったり、 他の処理に応用することができるようになるとは思うけど・・・ 3D処理(描画じゃなくて動作)で必要なのは、 ベクトル、行列、複素数の拡張であるクォータニオン、 極座標、関数(特に、三角関数)、初等幾何学、 古典物理学(力学)くらいじゃないかな・・・ Unityでは、行列は基本内部処理だけで表に出ないから、 高校の数学UBくらいまでのレベルじゃなかろうか?
1043 名前:名前は開発中のものです。 [2017/12/21(木) 19:26:27.42 ID:J5wOBApL.net] >>989 >年がいくつでも何処からでも学べるんちゃうんか それを聞く時点でキミはすでに学べない。
1044 名前:名前は開発中のものです。 mailto:sage [2017/12/21(木) 20:31:14.43 ID:MUjb87iC.net] そんなんいらね。 三角関数を何となく使えるぐらいで十分。 あとはunityがやってくれる。
1045 名前:名前は開発中のものです。 mailto:sage [2017/12/21(木) 20:41:57.83 ID:m2pWnfBj.net] >>989 高校卒業してから20年くらい、今年初めからUnityを始めましたが、 独学でベクトルの外積やクォータニオン演算まで辿り着けたので、 興味さえあれば、何とかなるもんですよ。
1046 名前:名前は開発中のものです。 mailto:sage [2017/12/21(木) 20:52:09.10 ID:m2pWnfBj.net] 例えば、物理演算を使用する場合、Unityで設定できるのは、 速度velocityと力AddForce、角速度angularVelocityとトルクTorqueだけです。 (位置positionや角変位rotationは原則いじらないほうが良いです) すると、直線移動や自転だけなら設定が簡単ですが、 公転のような円運動を行うには、物理法則に準じた命令を与える必要があります。 物理演算では、transform.RotateAroundを使えないので、 そういう場合に自分で工夫して実装できるかどうかに関わってくると思います。
1047 名前:名前は開発中のものです。 mailto:sage [2017/12/22(金) 00:21:49.04 ID:ko83+b2p.net] 一番とっつきにくいのは回転運動だと思います。 Rigidbodyでは、ForceMode.Accelerationがあるので、 加速度Vector3 a(m/s/s)を得たい場合は、 AddForce(a, ForceMode.Acceleration)とするだけ、 角加速度Vector3 aa(rad/s/s)を得たい場合は、 AddTorque(aa, ForceMode.Acceleration)とするだけですが、 Rigidbody2Dでは、ForceMode.Accelerationがないので、 加速度Vector2 a(m/s/s)を得たい場合は、 AddForce(a * mass)としたり、 角加速度float aa(度/s/s)を得たい場合は、 AddTorque(aa * inertia * Mathf.Deg2Rad)とする必要があります。 要するに、ニュートンの運動方程式や、 オイラーの回転運動方程式を使う必要が出てきます。 速度は、2DはVector2 v(m/s)、3DはVector3 v(m/s)で分かりやすいですが、 角速度は、2Dはfloat w(度/s)、3DはVector3 w(rad/s)と単位が変わります。 Torqueではrad単位で入れないと、inertiaと乗算できないので面倒です。
1048 名前:名前は開発中のものです。 mailto:sage [2017/12/22(金) 02:24:21.72 ID:BHuKTyia.net] オイラーは、ドラマー♪
1049 名前:名前は開発中のものです。 mailto:sage [2017/12/22(金) 10:39:11.64 ID:GTvlornd.net] 10年は 夢のよう 100年は 夢また夢 1000年は 一瞬の光の矢 過ぎてく時間は怖くない 輝きを失う事が嫌なのです
1050 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 53日 5時間 33分 36秒
1051 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています