- 1 名前:名前は開発中のものです。 [2015/11/18(水) 00:53:16.90 ID:6AegDlBR.net]
- 3Dゲームエンジン「Unity」の質問に優しく答えるスレです。
Windows/Mac用。JavaScript/C#といった汎用言語を使用できるのが特徴です。 フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。 プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他 次スレは>>970を踏んだ方が建てること。ダメなら>>980か>>990が建てて下さい。 ■本スレ 【3Dゲームエンジン】Unity総合スレッド27 [転載禁止](c)2ch.net peace.2ch.net/test/read.cgi/gamedev/1441891966/ ■Unity 2ch Wiki(まとめ、過去ログ、リンク集) www24.atwiki.jp/unity2ch/ ●リンク ・Unity(日本公式サイト) unity3d.com/jp ・ユーザーガイド docs.unity3d.com/ja/current/Manual/UnityManualRestructured.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質問スレッド20 [転載禁止]©2ch.net peace.2ch.net/test/read.cgi/gamedev/1444194744/
- 409 名前:名前は開発中のものです。 [2015/12/05(土) 11:30:18.55 ID:A+8m8HuO.net]
- Unity5.1のカラーピッカーの質問です。
HSVの理解が足りてないのかもしれませんが、 HSV(0,255,255)とHSV(359,255,255)って別の色の筈ですよね? Unityのカラーピッカーで359を指定して、 一旦カラーピッカー閉じて開くと0に戻っていて、 なんだか359と0を同一にしているような気がします というかHexColor見ても、 HSV(0,255,255)でFF0000 HSV(359,255,255)でもFF0000 なので、 もしかして、UnityのHSVバグってます? それとも自分の計算と頭がバグってます? よろしくお願いします
- 410 名前:名前は開発中のものです。 mailto:sage [2015/12/05(土) 12:31:35.64 ID:0UL6qy5F.net]
- >>398
推測なんだが内部的にHSVの形では保存していないのだろう。 実際UnityEngineにはHSVカラーの構造体とかないしね。 HSVのインターフェース部分だけがHSV構造体をもってるだけで 実際にシリアライズされてるデータは変換されたColor32だったら 359=0という処理をしていても不思議ではない
- 411 名前:名前は開発中のものです。 [2015/12/05(土) 15:59:48.53 ID:vToW6z9I.net]
- 3Dサウンドに関して質問です。
動画のサウンドは3Dサウンドに対応していないのでしょうか?
- 412 名前:名前は開発中のものです。 mailto:sage [2015/12/05(土) 16:47:24.16 ID:ocXKSXt2.net]
- スマホ実機で実行してみたら画像がそれぞれにしょぼくなってました
画像の1つにオーバーライドにチェック入れてTruecolorにしたら 直ったけど全部の画像にこれやるのが普通なんでしょうか?
- 413 名前:名前は開発中のものです。 mailto:sage [2015/12/05(土) 17:36:38.15 ID:TKKOGjwy.net]
- >>401
複数選択で一度に変更できるよ フォルダ細かく分けてるとめんどいけど
- 414 名前:名前は開発中のものです。 mailto:sage [2015/12/05(土) 17:44:36.90 ID:ocXKSXt2.net]
- ありがとうございます!
まとめて変更できたとは メモリ使用量がちょっと心配だけど全部変更しちゃいます
- 415 名前:名前は開発中のものです。 mailto:sage [2015/12/05(土) 18:24:43.14 ID:6BZRm6u4.net]
- 複数のSpriteからAnimationClipを動的に生成したい
www.gaprot.jp/pickup/tips/unity5_for_2d/ > Sprite アニメーションの AnimationClip を作るには > UnityEditor パッケージに含まれているクラスを使う必要があり、 〜中略〜 > いざ Build を行う際には UnityEditor パッケージは Build の対象外となるため > Build が出来ないという結果で終わってしまいます。 上で話題になってた2D強化って、ここら辺の仕様も変わるんだろうか Clip数百個とか作りたくないなぁ
- 416 名前:名前は開発中のものです。 mailto:sage [2015/12/05(土) 21:40:07.17 ID:iKztX7xZ.net]
- >>394
よく見たら1.5ではなく1.15ぐらいでした。 数値的には納得いかないのですが、以下のコードにて無事に動作しました。 ありがとうございました。 private Vector2 JoyStick; void Update () { JoyStick = new Vector2 (Input.GetAxis("Horizontal") , Input.GetAxis("Vertical")); if (JoyStick.magnitude > 1) { JoyStick.Normalize (); } transform.position += -1* transform.forward * JoyStick.y * Time.deltaTime; transform.position += transform.right * JoyStick.x * Time.deltaTime; }
- 417 名前:名前は開発中のものです。 mailto:sage [2015/12/05(土) 22:52:19.63 ID:5cP0RmJy.net]
- >>391
>>397 もう解決したかもしれないけど。 「MonoDevelop-Unity 5.9 Preview Release」でググったら出てくる Unity Communityのやつをダウンロードすると幸せになれるかも。 上のフォーラムの「Minimun Requirements」に記載されているバージョンが あなたの使っているUnityの条件に合えばだけど。 今のところうちのEl Capitanでは普通に日本語打てるし動作も問題ない。 ちなみに数日待つとUnity5.3が出るけどそれには上のMonoDevelopが含まれるってさ。
- 418 名前:391 mailto:sage [2015/12/05(土) 23:56:34.22 ID:Ip323cCd.net]
- >>406
おおお!幸せになれました! そこのをダウンロードしてみて、開く前に情報を見たところ やっぱりなぜか「5.9.4」となってて、あーまたダメか…と思ったんですが こっちは開くことができ、日本語入力もできました! ありがとうございます!
- 419 名前:391 mailto:sage [2015/12/06(日) 00:04:50.30 ID:SqhYBxP8.net]
- ちなみに開いてからAbout MonoDevelopで確認するとちゃんと5.9.6になってる…謎
- 420 名前:398 mailto:sage [2015/12/06(日) 12:37:32.08 ID:Xo25Ei6c.net]
- >>399
ありがとうございます〜 コード書いてると、RGBよりHSVの方が出番多いような気もするので、 気持ち悪いなーと思ってしまいます
- 421 名前:名前は開発中のものです。 mailto:sage [2015/12/06(日) 12:53:57.93 ID:M7EELMn9.net]
- >>408
痛のほうも同様だy,多分中身は同じと思うコアの部分はね
- 422 名前:名前は開発中のものです。 mailto:sage [2015/12/06(日) 13:41:50.12 ID:uKAERiPd.net]
- ネット麻雀みたいなのを支えるBaasでやすいのってないかな?
Photon程のリアルタイム性がなくていい代わりに安くてUnityから使いやすいのがほしいんだけど・・・・だれか教えて!
- 423 名前:名前は開発中のものです。 mailto:sage [2015/12/06(日) 14:44:59.63 ID:698J1662.net]
- Google App Engineかな
Datastoreの使い方間違うと課金膨れ上がるけど、上手くやればユーザ増えるまでは無料枠で捌けると思うよ
- 424 名前:名前は開発中のものです。 mailto:sage [2015/12/06(日) 18:17:22.09 ID:uKAERiPd.net]
- Google App Engineは確かに忘れてました
料金を調べてみます 趣味でゲームを作ろうと思っているのですが毎月数万円マイナスだときついので安ければ安いほど助かるんです
- 425 名前:名前は開発中のものです。 [2015/12/06(日) 18:24:04.50 ID:tut05Xyo.net]
- void OnCollisionStay(Collision col)
{ if (col.gameObject.name == "Cube(Clone)") { Destroy(gameObject); } } このScriptを破棄したいオブジェクトAにアタッチして Cube(Clone)に接触したらオブジェクトAを破棄するようにしているのですが "2つ以上のCube(Clone)と接触したら破棄する"といった条件はどう書いたらいいですかね?
- 426 名前:名前は開発中のものです。 mailto:sage [2015/12/06(日) 19:02:41.83 ID:5yO0Yl9X.net]
- 新しいPCにUnity入れたんだけど30分毎に落ちる・・・
- 427 名前:名前は開発中のものです。 mailto:sage [2015/12/06(日) 19:23:47.40 ID:y/4U1a0N.net]
- >>414
いくつぶつかっている、みたいなのを判別してくれる便利関数はない。 自分でCollisionEnter,CollisionExitとかで数えるしかないな。
- 428 名前:名前は開発中の物です。 [2015/12/06(日) 19:45:59.82 ID:z4APy23j.net]
- >>387
すいません、スクリプト自体はコピペで書いてある文字は全然わからないです・・・。 下のスクリプトで動かしているのですが、どう書けば良いのでしょうか・・・ void Update () { if(animator) { float h = Input.GetAxisRaw("Horizontal"); float v = Input.GetAxisRaw("Vertical"); walking = true; if (h > 0) { directionX = 1; directionY = 0; } else if (h < 0){ directionX = -1; directionY = 0; } else if (v > 0) { directionX = 0; directionY = 1; } else if (v < 0){ directionX = 0; directionY = -1; } else { walking = false; } if (walking) { transform.Translate(new Vector3(directionX, directionY, 0) * Time.deltaTime * 0.5f); } animator.SetFloat("DirectionX", directionX); animator.SetFloat("DirectionY", directionY); animator.SetBool("Walking", walking);
- 429 名前:名前は開発中のものです。 [2015/12/06(日) 20:11:29.30 ID:M7dP0Kw0.net]
- クイズに答えるだけで「プログラミングの勉強」ができるWebサービスたちにハマる!
plus.appgiga.jp/masatolan/2014/07/29/53133/ 小学生でもゲーム制作を可能にするWeb統合エディタ「Tynker」が、 むしろ大人がハマると話題に! plus.appgiga.jp/masatolan/2015/06/05/56144/ 3Dゲームを直接ブラウザ上で制作・公開可能な「Goo Create」が楽しすぎる! plus.appgiga.jp/masatolan/2014/11/28/54632/ プログラミングの勉強を本気でWebゲーム化した「CodinGame」が時間泥棒確定! plus.appgiga.jp/masatolan/2014/10/03/53
- 430 名前:923/
スマホで、プログラミングが勉強できる3Dロボット対戦「Hakitzu」がヤバ過ぎる! http://plus.appgiga.jp/masatolan/2014/12/12/54802/ [] - [ここ壊れてます]
- 431 名前:名前は開発中のものです。 mailto:sage [2015/12/06(日) 20:39:51.98 ID:c7kqWhqV.net]
- 題名があると読まなくていい記事だと判断できて便利だな
- 432 名前:名前は開発中のものです。 mailto:sage [2015/12/06(日) 20:56:01.16 ID:mgi24f37.net]
- 自作のクラスの、他のクラスからの読み込みについて質問です。
2Dシューティングゲーム - 第04回 敵を作成しよう https://github.com/unity3d-jp-tutorials/2d-shooting-game/wiki/%E7%AC%AC04%E5%9B%9E-%E6%95%B5%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%82%88%E3%81%86 上記チュートリアルの「Spaceship.cs」は、 使う際は下記のようにインスタンス化?できています。(自分で試しても出来ました) //---------------------------------- public class Player : MonoBehaviour { // Spaceshipコンポーネント Spaceship spaceship; IEnumerator Start () { // Spaceshipコンポーネントを取得 spaceship = GetComponent<Spaceship> (); spaceship.Shot (transform); //--- 対して、今自分で作ったソースでは下記のようにしないと インスタンスがnullだと言われてエラー終了してしまいます。 //---------------------------------- public void Save() ←実際に使うメソッド { Spaceship spaceship = gameObject.AddComponent<Spaceship>(); spaceship.save(text); //--- この挙動?の違いはどこからくるのでしょうか。 ご教示お願いしますm(_ _)m
- 433 名前:名前は開発中のものです。 mailto:sage [2015/12/06(日) 22:07:18.04 ID:e8MyX0tc.net]
- >>420
GetComponent<T>()はそのスクリプトが動いているGameObjectにアタッチされているTコンポーネントを取得する、なければnullが返る。 AddComponent<T>()はそのスクリプトが動いているGameObjectにTコンポーネントをアタッチして追加されたものを返す。 つまりそのスクリプトが動いているGameObjectにSpaceshipコンポーネントがアタッチされていないだけだと思う とりあえずヒエラルキーでそのGameObjectを選択し、インスペクタからSpaceshipを追加すれば動くよ このような別のコンポーネントがないとまともに動かないスクリプトの場合、付け忘れを避けるために[RequireComponent(typeof(T))]をつけておくといい 余計なお世話かもしれないが学び始めなら公式のマニュアルとリファレンスは読む習慣をつけることをお勧めしとくよ わからない名前が出たらとりあえずググって公式のマニュアルとリファレンスを読めば自己解決出来るケースが増えるから自分のペースで開発出来る様になる いちいち躓いて人に聞いてたらゲーム作る前に嫌になって挫折しそうな気がするから自己解決の方法を多く持つのは習得への近道だと思うよ 調べてもわからない事が出てきたらまたここに聞きに来ればわかる範囲で答えるから頑張れ
- 434 名前:名前は開発中のものです。 [2015/12/06(日) 22:08:56.62 ID:tut05Xyo.net]
- >>416
ありがとうございます 下のScriptで無事出来ました〜 int hitNum = 0; //cubeと接触した回数 void OnCollisionEnter(Collision col) { if (col.gameObject.name == "Cube(Clone)") { hitNum += 1; //接触したら接触回数を1増やす if(hitNum >= 2) //接触回数が2回以上でオブジェクトを破棄 { Destroy(gameObject); } } }
- 435 名前:名前は開発中のものです。 [2015/12/06(日) 23:00:24.87 ID:jPU/1I8Z.net]
- ここまで丁寧に説明してくれる人がいる事と
それまでの無知全開の流れに良くも悪くもこのスレらしいなと思うのです
- 436 名前:名前は開発中のものです。 mailto:sage [2015/12/06(日) 23:02:21.00 ID:mgi24f37.net]
- >>421
チュートリアルの方調べたら、ご指摘の通りPlayerのprefabにスクリプトがアタッチされていました。 よくわかりました。 リファレンス、自分では調べたつもりなのですが折れるのが早いのかもしれません… マニュアルは途中まで読んで飽きてチュートリアルに移ってしまったので、 読破するようにしますorz 助かりました、ありがとうございます!
- 437 名前:名前は開発中のものです。 mailto:sage [2015/12/06(日) 23:11:08.96 ID:mgi24f37.net]
- リファレンスにバッチリ載ってますね…
なんで見なかったんだろうorz
- 438 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 00:03:16.79 ID:6i/uTLhj.net]
- >>424-425
マニュアルもリファレンスも全文読む必要はないというか読んでも最初はわからない単語だらけで理解出来ないで飽きると思う チュートリアルなどをやっててわからなくなったらその部分を見る方が実体験に基づいて調べるから見落としにくいし覚えやすい 個人的には調べたついでに類似メソッドとの違いを把握出来るとより好ましいと思う 例えばGetComponent<T>を調べたらGetComponents<T>やGetComponentInChildren<T>などを理解しておくと応用が利くといった具合 小さなことから少しずつ覚えて行けばそのうち全体が把握出来る様になるさ
- 439 名前:名前は開発中のものです。 [2015/12/07(月) 00:38:10.47 ID:nzWuz8jB.net]
- 複数のオブジェクトを仮置きしておいたのを、
いっぺんに指定のprefabに置き換える方法ってありますか?
- 440 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 01:17:30.55 ID:kAr350d2.net]
- >>417
少なくともコピペしたコードが何をしてるのか理解しようとしてみましょう そうすればできることがどんどん増えていきますよ transform.Translate(new Vector3(directionX, directionY, 0) * Time.deltaTime * 0.5f); ここで移動後の位置を設定してるのはわかるよね? この「Vector3(directionX, directionY, 0)」がX,Y,Zの指定です で、ここのZ(今「0」が設定されてる)を直接変えたいところだけど、 「Time.deltaTime * 0.5f」がかけてあり、0.5秒あたりの移動量で設定されてるから、 このtransform.Translateの処理直後に↓これ突っ込んでみたらと Vector3 pos = transform.position;//今いる場所のxyz pos.z = 1f - pos.y / 100;//z変更。キャラ描画の奥行き基点を1.0としてyで計算 transform.position = pos;//変更したxyzを上書き プレイヤー以外のキャラが動くならそちらの処理にも対処入れておかないといけないね あと2Dということはマップチップも配置してるよね? ならばマップチップの座標にもZが要るかもね(マップチップは層が違うから基点を変える必要ありです) マップなどはレイヤーで管理してるとは思うけど…影響がでるなら配置時に設定が必要 そもそもz使って管理するのがメカニムと相性良いかどうかは微妙だけど、作り次第かな
- 441 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 01:19:27.31 ID:Uj4/ZsVJ.net]
- >>427
置き換えられる側のStartやAwakeで置き換えればいいんでないの? Editorの話?
- 442 名前:名前は開発中のものです。 [2015/12/07(月) 03:17:41.06 ID:2ZS+ix9z.net]
- Editor想定でザクッと書いてみた
using UnityEngine; using UnityEditor; public class ReplaceToPrefab : EditorWindow { [MenuItem(
- 443 名前:名前は開発中のものです。 [2015/12/07(月) 03:28:42.76 ID:2ZS+ix9z.net]
- ミスったので以下に置いてきた
www.dotup.org/uploda/www.dotup.org642133.txt.html なお、ヒエラルキー上での順序等細かなことはしていない適宜修正されたし
- 444 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 03:42:13.20 ID:2ZS+ix9z.net]
- >>431
自己レスすまん使い方書き忘れ、眠くてダメぽ ソース読めばわかると思うが、一応以下使い方 メニュー>Window>ReplaceToPrefabという項目を選択 出てきたウインドウで置換先のプレハブを指定する ヒエラルキーで置き換えたいオブジェクトを全て選択 Replaceボタンをクリックで置き換える テキトーに書いたためアンドゥが出来ない 細心の注意を払いつつ自己責任で使ってくれ
- 445 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 12:28:22.25 ID:OKonrqZH.net]
- 質問です。
c#初心者で勉強中なのですが、よく使うであろう処理を関数にしてみようと思いました。 必要な時はそれに値を入れて、戻り値?をもらうような。 そこで、疑問が湧きました。 その「これこれこういう処理を○○という関数にする」という書き方はたぶん調べればわかるんですが それを書いたスクリプトは、どこにどう置いておくものなのでしょう? Unity上の、おそらくシーン上に置く必要がありますよね。 例えばその処理を実際に使用するスクリプトの上の方にでも書いておけばいいのでしょうか? そうすると他のスクリプトからもその関数を使用する場合、わざわざ他のGameObjectを参照して…とか やらなければいけないのでしょうか? 根本的なことだと思うのですが、調べ方もよくわからず困っています。 わかる方いましたら教えていただけると助かります。
- 446 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 12:56:19.37 ID:Uj4/ZsVJ.net]
- >>433
いや、プロジェクトに含めて置けばクラスとして参照できるよ 便利関数をまとめとくだけなら、とりあえずstatic classにして静的メソッドとしておけば良いかと。 public static class Utils{ public static int Hoge(){ return 123; } } 別ファイルから「Debug.Log(Utils.Hoge())」とすれば123が得られる
- 447 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 13:00:57.01 ID:Uj4/ZsVJ.net]
- 調べ方だけど、とりあえずC#の基礎でぐぐればまとまったサイトいくらか見つかるだろうから、分かる範囲で斜め読みしておけば良いかと
Unityスレで言語の基礎知識聞くとスレ違い扱いされて仕方ないところなので、基礎的な質問はプログラム板で初心者スレ探してみて MonoBehaviourやコンポーネント絡むとあちらではスレ違い扱いされるので、この辺はぐぐって出てくるのがUnityかどうかで判断すればいいかと
- 448 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 13:15:25.29 ID:5Zo01j7L.net]
- unity5.2.1p4において、
player settingのiOS のsplash imageの設定で、 規定のサイズの画像を入れた後にXcodeで書き出して実機テストすると、 端末サイズ(自分の場合640×1136)のsplashの後に 640×960のsplashが表示されて困ってます。 (端末と画像の解像度が違うので画像が潰れている) おそらくsplash画像をフェードアウトさせる為にunity側でsplashを表示してると思われるのですが、 解決方法はありませんか?
- 449 名前:433 mailto:sage [2015/12/07(月) 13:16:24.23 ID:OKonrqZH.net]
- >>434,435
ありがとうございます。 プロジェクトフォルダに置いておけばいいのですね。 関数を作ってやってみます。 質問に関しては、Unity上のどこに置くのだろう?という質問だったのでここで聞きました。 不適切な質問でしたらすみませんでした…
- 450 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 16:24:10.23 ID:IwWiwmZk.net]
- ゲームオブジェクトにアタッチするC#スクリプトで、
public変数を幾つかのグループ(この場合は効果音)に分け、 それぞれインスペクター上で折りたたみ表示にしたいと思います。 現在、以下のように内部にクラスを用意し、それを実現しています。 public class Player : MonoBehaviour { [TooltipAttribute("効果音")] public SoundEffects sfx; [System.Serializable] public class SoundEffects { [TooltipAttribute("効果音:攻撃")] public AudioClip attack; [TooltipAttribute("効果音:ジャンプ")] public AudioClip jump; } } このコードでは SoundEffects クラスがありますが、一度しか使われておらず なんだかモヤモヤしてしまいます。 より簡潔な書き方があれば教えてください。 エディタ拡張のFoldOutも考えましたが、変数をグループ分けするだけだと ちょっと大げさすぎるように感じました。 ([SerializeField]のような属性で表現できるなら良いのですが)
- 451 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 16:42:56.04 ID:RRr2nEu0.net]
- >>438
折りたためなくてもいいなら[Header("効果音")]でもつけておけばいいと思う 折りたたみたいならエディタ拡張で表示を弄るかクラスを作るしかないが、インナークラスにせずにEnemyクラスとかで使いまわすとか再利用する事は想定されないのかな?
- 452 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 17:27:37.38 ID:IwWiwmZk.net]
- >>439
最初はHeaderにしてたんですけど、 数が多くなるとどうしてもゴチャゴチャしちゃいまして。 変数グループ毎にスクリプトを分けてアタッチ、なんてのも試してました。 あ、もろちん使い回せる部分は使いまわせるようにしています。
- 453 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 18:41:47.89 ID:kAr350d2.net]
- >>437
俺はプロジェクトのAssetsの中にScriptsってフォルダ作ってそこにcsファイル入れてるわ 他にもSpritesやPrefabsなどなど、判りやすく分類してる あと、シーン上のオブジェクトに関連付けて使うクラスなら、 そのスクリプトをプロジェクトから掴んで該当オブジェクトにドロップすればいいっすよ ここらへんのやり方はチュートリアルで説明あるからやったら分かるんじゃないかな
- 454 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 20:10:24.38 ID:kAr350d2.net]
- あー、>>441は見当違いなレスだ
なんか読み間違いしてた、すみません
- 455 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 21:03:24.78 ID:jBIJTjjk.net]
- 自分が向いている方向(青軸)を0度として、
相手のオブジェクトのある位置の角度は求められるのですが それが右側にあるのか、左側にあるのか、Angleを使って求めると 分からなくなってしまうのですが、いい方法はないでしょうか?
- 456 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 21:08:47.05 ID:jBIJTjjk.net]
- 連投すいません、右側、左側というのは、
青軸を0度として数学で言う第一象限〜第四象限の どの位置にあるかを求めたいということです。
- 457 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 21:24:14.87 ID:x8ZuNdat.net]
- XZ平面で三角関数解けや
- 458 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 21:41:52.72 ID:mrT5kF6m.net]
- >>443
transform.rightとターゲットへのベクトルの内積が正なら右、負なら左
- 459 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 22:17:22.32 ID:s5RZFjAL.net]
- くっそつまらんことで2週間ほど頭悩ましてるんやが、
指定したボールをボタンを押すたびに時計回りで同じ強さで発射したい AddForce(initialVector, ForceMode.Impulse); でinitialVectorの強さをかえると方向は変わるんやが、強さもかわっちまう。強くなる。 で、色々調べてrotateを変更すればとあるが変更してもなんら変わりなし。 rotate(0,20,0)とかrotate(20,0,0) たぶん何らかの前提となる知識が必要なんだと思うけど、道筋だけでも教えてくれ
- 460 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 22:50:12.03 ID:kAr350d2.net]
- >>447
Rotateで向きを変えて、AddForce(transform.forward * 20.0f)でどうだろうか ※20.0fは強さね transform.forward で今の向き取得できるから、そこにチカラ加えてあげればいいんじゃないかな
- 461 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 22:56:30.23 ID:jBIJTjjk.net]
- >>446
すぐに内積の事が出てこないとか恥ずかしい限りです。 ありがとうございました。
- 462 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 23:03:38.90 ID:s5RZFjAL.net]
- >>448
返信どうも ボタンが押されたら実行 { CreateDummyBall(); _dummyBall.transform.Rotate(new Vector3(10, 0, 0)); //_dummyBallController.transform.Rotate(new Vector3(10, 0, 0)); _dummyBallController.Shot(Vector3.forward * 10); } private void CreateDummyBall() { _dummyBall = (GameObject)Instantiate(this.dummyBall, Vector3.zero, Quaternion.identity); _dummyBallController = _dummyBall.GetComponent<dummyBallController>(); } shotの中では this.GetComponent<Rigidbody>().AddForce(initialVector, ForceMode.Impulse); これでうまくいかん・・・ 何が腐ってるんだろうか・・・ コメントアウトも試した 怪しんでるのはthis.GetComponentと_dummyBallの紐付き
- 463 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 23:24:44.15 ID:kAr350d2.net]
- >>450
shotのAddForceを AddForce(transform.forward *10, ForceMode.Impulse)ではだめですか?
- 464 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 23:29:23.77 ID:s5RZFjAL.net]
- >>451
ごめんなさい 変に省いちゃったのがだめだった public void Shot(Vector3 initialVector) { this.GetComponent<Rigidbody>().AddForce(initialVector, ForceMode.Impulse); } ってなってるんだ で、先ほどのコードはこのショットを呼び出してる
- 465 名前:名前は開発中のものです。 mailto:sage [2015/12/07(月) 23:53:25.18 ID:kAr350d2.net]
- ごめんね、考え汲み取れなくて
じゃあ、 _dummyBallController.Shot(Vector3.forward * 10); ↓ _dummyBallController.Shot(_dummyBall.transform.forward * 10); こうではないのん? 上で回転させた&打ち出したいボールは_dummyBallですよね 個人的には、shotに強さと向きを引数で渡して、 shotの中で回転させて、AddForceでforwardに強さかければスマートな気はします
- 466 名前:名前は開発中のものです。 mailto:sage [2015/12/08(火) 00:00:36.93 ID:YWarlEDs.net]
- >>453
こちらこそ省いて申し訳ない >上で回転させた&打ち出したいボールは_dummyBallですよね ですです。そうですね、ご指摘のとおりの実装が正しいと思います。 で、Startメソッドの中で_dummyBall.transform.forwardを取得すると "(0.0, 0.0, 1.0)" _dummyBall.transform.Rotate(10f, 0f, 0f); 実行後に_dummyBall.transform.forward "(0.0, -0.2, 1.0)" という値が取れて思うように回転してくれないっすね この辺に関しては回転の概念を学ばなくてはならなそうです
- 467 名前:名前は開発中のものです。 mailto:sage [2015/12/08(火) 00:08:29.98 ID:LZ7q6pwb.net]
- 壁だらけのダンジョンを歩き回る敵のアルゴリズムをちまちま作ってて、納得がいく動きになったから
意気揚々とマップに5体くらい配置してみたら途端に変な動きをするようになった・・・ 単体だと問題ないけど複数配置しておかしな挙動になるってことは、ひょっとしたら 変数の値を共有しちゃってるのかな?と思ってc#入門とかを見ると 省略するとprivateになると書いてあるので、当てはまらなそうです(publicな変数は特に使ってません) こういう現象って他にどんな原因が考えられますかね…??
- 468 名前:名前は開発中のものです。 mailto:sage [2015/12/08(火) 00:25:15.51 ID:YWarlEDs.net]
- >>454
自己解決 Rotateとは軸となる座標を指定するというのが味噌 Rotate(0,10,0)であれば、Y座標に軸、つまりこまみたいなイメージ そこから指定した数字だけ回転(角度)する
- 469 名前:名前は開発中のものです。 mailto:sage [2015/12/08(火) 00:27:27.59 ID:YWarlEDs.net]
- >>455
情報が少ない気がする
- 470 名前:名前は開発中のものです。 mailto:sage [2015/12/08(火) 00:32:23.88 ID:lHB0dUDl.net]
- >>454
ああ、そうだ…すみません 最初に向いてる方向がZ方向だからそれを目的の時計回りになるところに まず軸を初期化しないと、だ ギズモが ↑Y ←□→Z ↓ の状態でやるとわかりやすいけど、球のXを変えて力を加えれば球のZ方向に向かって動きます なのでshotするのが自機だとしたら自機の向きでボールの向きを初期化してから 目的の向きへ回転させて力を加えてください
- 471 名前:名前は開発中の物です。 [2015/12/08(火) 01:27:43.17 ID:LoOIpgPp.net]
- >>428
アドバイスありがとうございます! z値を利用した画像の前後ができました! まだプレイヤーを上に動かすと他のオブジェクトより手前に出たりとか・・・。 上下キー以外にも、左右も押すだけでz値が奥行ってしまったりとか。 動画撮ってみました。元が趣味のアカウントで、申し訳ないのですが一番上の三つの記事 が今日の成果物です・・・。 8biskets.tumblr.com
- 472 名前:名前は開発中のものです。 mailto:sage [2015/12/08(火) 01:49:12.14 ID:k3T2AEQg.net]
- >>455
static変数を使ってると見た
- 473 名前:名前は開発中のものです。 [2015/12/08(火) 02:21:41.66 ID:tKLb4rQn.net]
- 質問です。
ボールがあって、床を転がっている間に減速させたいのですが、 摩擦で遅くしようとすると壁に当たった時に(入射角と反射角の)角度が一致しなくなります。 モンOトのように動いて欲しいのですが摩擦で調整することは無理なのでしょうか? 最近始めたばかりの初心者なので、初歩的な質問だったらごめんなさい・・。
- 474 名前:名前は開発中のものです。 mailto:sage [2015/12/08(火) 06:24:31.29 ID:D5aX/sPt.net]
- >>461
RigidBodyでDragの設定をしてやればそれで減速は可能。 転がしてるならAnglerDragでもいい。 ただUnityは緻密な制御をしたいタイプのゲームには本当に不向きなので そういうことがやりたくてまだ初めて間もないならUE4に鞍替えした方がいい
- 475 名前:名前は開発中のものです。 [2015/12/08(火) 06:44:29.24 ID:tKLb4rQn.net]
- >>462
アドバイスありがとうございます! AngularDragは挙動が変わってしまいうまくいかず…orz Dragの存在をなぜか忘れていたので試してみます!! UE4ですか…調べてみます_φ(・_・ メモメモ
- 476 名前:名前は開発中のものです。 mailto:sage [2015/12/08(火) 10:02:59.28 ID:DCL7l9fw.net]
- >>455
始めにfindで自分を見つけてるけど、全部同じ人を見つけちゃってるか 全員が同じインスタンスを参照してる private云々は関係ない
- 477 名前:455 mailto:sage [2015/12/08(火) 11:39:15.29 ID:LZ7q6pwb.net]
- >>457
ごめんこれ以上なに書けばいいかわからなくて コードは結構長いし >>460 ありがとうです、staticは使ってません。 入門サイトなどを読んでも危険そうなものらしいので…(偏見かな) >>464 インスタンスというのは調べてみます。 findは使ってるので怪しそうですね。その線も調べてみます、ありがとうです!
- 478 名前:名前は開発中のものです。 mailto:sage [2015/12/08(火) 12:12:49.88 ID:2F01qqB3.net]
- インスタンスはクラスを元にした実体だよ
変数の値を共用かもって書いてるけど、その通り同じオブジェクトを使ってるせいかと Findはどこからやってるのさ
- 479 名前:455 mailto:sage [2015/12/08(火) 12:33:15.67 ID:LZ7q6pwb.net]
- >>464
報告です、やはりFindでした。 それぞれの方向の判定用に、敵本体の四方に判定用の子を作ってたんですが その判定を指定するとこでろでFindを使っていたのが原因のようで これをFindChildにしたらみんなちゃんと動くようになりました。 昨日ずっとこねくり回しても解決せず悩んでたところが解決しました、ありがとうございます! >>466 インスタンスやクラスや実体など、c#の文献を読んでもその辺がいつもピンとこないんですよね・・・ わかったようなわからないような、という 「取得できる」とか「参照できる」ってよく出てくる単語だけどどう違うの?とか プログラムの勉強はなかなかに難しいです;
- 480 名前:名前は開発中のものです。 mailto:sage [2015/12/08(火) 12:53:40.38 ID:2F01qqB3.net]
- このケースで言えば、Hi
- 481 名前:erarchyに載ってるのがインスタンス
FindはHierarchy全体から探してくるし、 FindChildはそのコードが乗ってるオブジェクトの下(▲がついてる下とか)から探してくる、、 というイメージでいいのかな。環境によるかもだけれど [] - [ここ壊れてます]
- 482 名前:名前は開発中のものです。 mailto:sage [2015/12/08(火) 13:02:28.95 ID:LZ7q6pwb.net]
- >>468
あ、Findはどこからというのはそういう意味でしたか。 ヒエラルキーに敵本体の空オブジェクトがあり、その子に3Dオブジェクトや各方向の判定用オブジェクトがあり スクリプトは本体(親)にアタッチしていたので、探す対象は子でした。
- 483 名前:名前は開発中のものです。 mailto:sage [2015/12/08(火) 13:54:16.39 ID:POPm1vgD.net]
- unityの4.xと5以降って互換性はありますか?
先輩からもらった本が全部4.xの本で、先輩には「unityの過去verもあるからそれDLして勉強しろ」と言われてます。 自分としては最新ver入れたいのですが、4.xのソースそのままでは動かないでしょうか?
- 484 名前:名前は開発中のものです。 mailto:sage [2015/12/08(火) 14:01:17.85 ID:nh5N6RSZ.net]
- どうしてわざわざ今から古いの勉強するのかしら
- 485 名前:名前は開発中のものです。 mailto:sage [2015/12/08(火) 14:04:16.01 ID:nh5N6RSZ.net]
- >>461
普通に摩擦係数を設定するのはやってみましたか
- 486 名前:名前は開発中のものです。 mailto:sage [2015/12/08(火) 14:28:21.32 ID:1/R/NX1z.net]
- >>470
4系は年末でサポート切れるというかパッチ提供終わるよ。互換性がないわけじゃないけどやる価値はないと思う 先輩に4系の古書押し付けられただけなんじゃね? 本を無駄にしたくないだけなら多少は意味あるけど。バージョン合わせて学べば学習中のトラブルは少ないし、リリースログ追いかけてどう進化したのか追いかけると知識にはなる
- 487 名前:名前は開発中のものです。 mailto:sage [2015/12/08(火) 14:41:01.47 ID:8dEZH0eU.net]
- 先輩から何冊も本もらったら「いや別に使ってないっす」とは言いづらいよな
進捗とかいちいち聞かれるような状況なら4使っちゃうだろうな俺なら 実際は遠回りでしかないんだけど
- 488 名前:名前は開発中のものです。 mailto:sage [2015/12/08(火) 14:45:37.37 ID:D5aX/sPt.net]
- いや〜、4の本は使ってないっすでいいと思うよw
5になってどんだけたってるんだよって話なので(4をいじりながら…
- 489 名前:名前は開発中のものです。 mailto:sage [2015/12/08(火) 14:58:25.26 ID:2F01qqB3.net]
- 練習コードくらいなら
5に4のコード入れると修正していいか聞いてくるからそれでやってもらえば修正箇所あまりないかと
- 490 名前:名前は開発中のものです。 mailto:sage [2015/12/08(火) 15:09:25.36 ID:ABVsuJ99.net]
- 4と5で全く別物って訳じゃないんだから5入れて本の通りやってみればいいんじゃない?
本の通りに入力すると当然の様にエラーが出るからエラーメッセージ読んで対処するw 今更4系触る意味はないし古書押し付けられただけだと思うけど、エラーと格闘するのは確実に身になるよ レガシーGUI周りだけはエディタ拡張ぐらいでしか使わないからスルー推奨
- 491 名前:名前は開発中のものです。 mailto:sage [2015/12/08(火) 17:14:28.51 ID:k3T2AEQg.net]
- バージョンの話とも関連するけどFindChildじゃなくてTransformのFindと覚えておかないと後で混乱するぞ
- 492 名前:名前は開発中のものです。 mailto:sage [2015/12/09(水) 00:55:06.58 ID:EADFfwHR.net]
- そういえば素朴な疑問なんだけどOnCollision、OnTriggerメソッド系ってどうして
ゲームオブジェクトにRigidbodyをアタッチしてないといけないんだろ。 重力とか衝突とかするつもりないけど触れたかどうかの判定したいだけなのに。 それとも俺がなんか勘違いしてるのかな
- 493 名前:名前は開発中のものです。 mailto:sage [2015/12/09(水) 01:02:58.59 ID:g4y1GMbr.net]
- コンポーネント志向の陰部
細かい機能に分けて依存しあってるってことだよね ソースコードライセンス得られる方じゃなきゃ真相は分からんのかもな なんでいちいちtextのサイズ調節でContent size fitterを別で付けなきゃいけないんだとか俺もよく思う フレームまたがないと変更更新されないし
- 494 名前:名前は開発中のものです。 mailto:sage [2015/12/09(水) 01:30:16.56 ID:kyZA5n2X.net]
- PhysXに処理ぶん投げてるからじゃね?
bulletも同じでPhysicsWorldにブツが無い物は何も返らない
- 495 名前:427 mailto:sage [2015/12/09(水) 02:26:21.74 ID:nPYSEZLJ.net]
- >>429
editorの話ですー
- 496 名前:名前は開発中のものです。 mailto:sage [2015/12/09(水) 09:04:35.88 ID:GXiFDqkj.net]
- >>482
>>431-432にとりあえず動く程度のエディタ拡張が置いてある、諸々テキトーなのでスクリプト読んで自己責任で使うなり修正するなりしてくれ
- 497 名前:名前は開発中のものです。 mailto:sage [2015/12/09(水) 12:37:55.02 ID:1+tFHWUE.net]
- Unity最新版64bitなのですが、スマホ用に縦画面でゲームを作成するにはどうすればいいのでしょうか?
というより、GameタブのAspectを変更して9*16とすると、サイズが232*412になってしまいます。
- 498 名前:名前は開発中のものです。 mailto:sage [2015/12/09(水) 13:11:50.07 ID:oRz1NHsF.net]
- >>484
エディタのゲーム画面のアスペクト比は単なるプレビュー用 その数字は9:16になってるから問題ないよ あとはuGUIのRectTransformで、想定解像度で破綻しないようにレイアウトしていく感じ
- 499 名前:名前は開発中のものです。 mailto:sage [2015/12/09(水) 15:17:46.22 ID:1+tFHWUE.net]
- >>485
そういう仕様か・・・ありがとう
- 500 名前:名前は開発中のものです。 mailto:sage [2015/12/09(水) 16:12:21.06 ID:GXiFDqkj.net]
- >>484-486
一応、プレビュー設定を比率指定ではなくピクセル指定にしてGameウインドウを充分に大きくすれば指定解像度のドットバイドットの表示をプレビュー出来る …だか最近のスマホを想定するなら相当でかいモニターが必要だから1/2ぐらいで使ってるわ uGUIはCanvasScalerの設定でUI Scale ModeをScale With Screen Sizeにしてリファレンスサイズを想定する端末の解像度にするのが楽だと思う
- 501 名前:名前は開発中のものです。 mailto:sage [2015/12/09(水) 19:41:12.17 ID:9HIqqD8T.net]
- すんげー初歩的なこと聞くけど、
ゲームも基本的にapk androidの場合 で、ゲームをプレイストアからダウンロードしてゲームを開始すると本格的なダウンロードがはじまるじゃん? この本格的なダウンロードってなにをダウンロードしているのだろうか? 初めからapkとして提供できない? apkに全て載せてしまうとアップデート時に都合がわるいのかな? 後、実際なにをダウンロードしてるのだろうか この辺の仕組みについて詳しく解説してるサイトとかあったら教えて下さい。
- 502 名前:名前は開発中のものです。 mailto:sage [2015/12/09(水) 19:46:43.93 ID:oRz1NHsF.net]
- playには50MB制限なんてのもあるけど、主目的はアプリメイン部分の切り分け
バージョンアップやトラブル対策の便宜のため、アセットバンドルをあとからダウンロード出来るようにしてるってこと ユーザーの端末見て、必要なアセットが高解像度か低解像度なのか振り分けたりもする アセットバンドルで検索すれば公式ヒットするよ
- 503 名前:名前は開発中のものです。 mailto:sage [2015/12/09(水) 19:54:36.20 ID:9HIqqD8T.net]
- >>489
アセットバンドル キーワードをありがとう
- 504 名前:名前は開発中のものです。 [2015/12/09(水) 20:37:07.37 ID:jkMpCA9+.net]
- 2Dアドベンチャーゲームを作っています。
バストアップの表情変化って、 ベース+差分だけで管理する場合、 アニメーションでまとめた方が良いでしょうか。 それとも、スプライトにスプライトを重ねた方が良いのでしょうか。 どちらでも出来そうなのですが、 我流なので普通はどうするか知りたいです。
- 505 名前:名前は開発中のものです。 mailto:sage [2015/12/10(木) 00:05:51.69 ID:DsuWO57j.net]
- >>479
そういやrigidbodyがなくても動く場合って無かったっけ
- 506 名前:名前は開発中のものです。 mailto:sage [2015/12/10(木) 00:11:38.90 ID:zCufkP1o.net]
- あれ?結局5.3でSSRR載ったのか
- 507 名前:名前は開発中のものです。 mailto:sage [2015/12/10(木) 01:21:55.63 ID:KKtez6od.net]
- >>492
2Dだと必要 3Dならいらね って感じだったはず
- 508 名前:名前は開発中のものです。 mailto:sage [2015/12/10(木) 01:48:43.90 ID:DsuWO57j.net]
- あれ、そうなのか…
2Dで動いてた記憶あるんだよな……うん、人間の記憶
- 509 名前:チてあてにならないな。 []
- [ここ壊れてます]
|

|