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/
539 名前:名前は開発中のものです。 [2015/12/11(金) 15:55:04.54 ID:zm6mejj3.net] おれも頑張ってサクサク作るわ まあ今年は殆どはMAxでの作業になるが
540 名前:名前は開発中のものです。 mailto:sage [2015/12/11(金) 16:51:51.73 ID:Az4gv7hK.net] >>523 さんくす! 表示されるようになった! お前さんも32ビットだったりする?
541 名前:名前は開発中のものです。 mailto:sage [2015/12/11(金) 17:12:49.02 ID:NWaqo9Yy.net] >>526 俺も32ビットのタブレットにインストールしたらなったけど無事解決
542 名前:名前は開発中のものです。 [2015/12/11(金) 17:15:21.25 ID:zm6mejj3.net] >>526 だね 7の32 これ32bitでまだ導入してない人は 修正版が出るまで待った方がいいかもしれない
543 名前:名前は開発中のものです。 mailto:sage [2015/12/11(金) 23:02:51.18 ID:TNWJHdul.net] 質問です。 ラジコン操作をさせようと思って、ネットで見つけたコードを参考に以下のように組みました。 プレイヤーが前(Z方向)を向いている時は上下キーで前進、後退するんですが 左右で向きを変えると、変えた向きの分だけ前進・後退の角度がズレてしまいます。 具体的に言うと、右に20度回転してから上キーを押すと、PLから見て右20度に進むようになり、 右に90度回転した状態から上キーを押すと真横(右)に横滑りするようになります。 ラジコン操作にしたいので、向きを変えても前に進んでほしいのですが・・・ なぜそんなことになってしまうのか、お知恵をお貸しいただければm(_ _)m void Update () { if (Input.GetKey(KeyCode.RightArrow)){ this.transform.Rotate(new Vector3(0, 1f,0)); } if (Input.GetKey(KeyCode.LeftArrow)){ this.transform.Rotate(new Vector3(0, -1f,0)); } if (Input.GetKey(KeyCode.UpArrow)){ this.transform.Translate(this.transform.forward * 0.05f); } if (Input.GetKey(KeyCode.DownArrow)){ this.transform.Translate(this.transform.forward * -0.05f); } }
544 名前:名前は開発中のものです。 mailto:sage [2015/12/11(金) 23:29:59.99 ID:Az4gv7hK.net] 言いたいことはわかるが、 「プレイヤーから見て右20度に進む」だと、「正しいじゃん?」と思ってしまうw
545 名前:529 mailto:sage [2015/12/12(土) 00:01:49.97 ID:OCSYJa91.net] >>530 図解できれば伝わりやすいのですが; つまり想定している方向からズレる、ぞのズレる角度が変えた方向の角度と一致する、ということですね。 向きを20度変えたのに、進む方向は40度変わっとるやんけ!という
546 名前:名前は開発中のものです。 mailto:sage [2015/12/12(土) 00:14:36.58 ID:2plOXWN4.net] >>529 まずRotateはnew vector3いらずに Rotate(0,1,0)で良くなかったっけ? ゲームアプリ20個以上リリースしても、たった一ヶ月Unity触らなかっただけでそんな事さえも忘れてしまってる自分が悲しい
547 名前:名前は開発中のものです。 mailto:sage [2015/12/12(土) 00:22:09.87 ID:2plOXWN4.net] >>529 で前進後退においても Translateはもともとローカル軸だった気がするので transform.Translate(0,0,0.5f)で真っ直ぐ進まないかな?
548 名前:529 mailto:sage [2015/12/12(土) 00:25:11.16 ID:OCSYJa91.net] >>532 ほんとだ、new vector3無くてもいけますね。 症状はまったく変わらないですが・・・ ちなみに新しいプロジェクトにキューブ1個だけ置いて>>529 のスクリプトつけても症状は同じでした。 何がいけないんだろう・・・
549 名前:名前は開発中のものです。 mailto:sage [2015/12/12(土) 00:29:24.46 ID:yC1kWMxQ.net] >>529 this.transform.Translate(this.transform.forward * 0.05f); は this.transform.Translate(Vector3.forward * 0.05f); にするかもしくは this.transform.Translate(this.transform.forward * 0.05f, Space.World); にする。
550 名前:529 mailto:sage [2015/12/12(土) 00:30:54.36 ID:OCSYJa91.net] >>533 それでいけました! もともとローカルのものをローカル指定したから角度が2重にかかってたとかですかね・・・ とにかく this.transform.Translate(this.transform.forward * 0.05f); の部分を this.transform.Translate(0,0,0.05f); にしたらちゃんと正面に進むようになりました! 助かったありがとう!!
551 名前:529 mailto:sage [2015/12/12(土) 00:34:20.31 ID:OCSYJa91.net] >>535 ありがとうございます、 this.transform.Translate(Vector3.forward * 0.05f); でもしっかりいけますね! うーん、こんな単純なスクリプトでも理解するのは難しいもんですね…
552 名前:名前は開発中のものです。 mailto:sage [2015/12/12(土) 00:34:21.77 ID:2plOXWN4.net] >>536 良かったねえ Time.DeltaTimeするのを忘れないようにね 別の環境で遊ぶ時に高速になったり低速になったりしちゃうよ
553 名前:名前は開発中のものです。 mailto:sage [2015/12/12(土) 00:35:37.88 ID:yC1kWMxQ.net] つーか、 this.transform.Rotate(Vector3.up*rotSpeed*Time.deltaTime); とか this.transform.Translate(Vector3.forward *moveSpeed*Time.deltaTime); とかそういう表現にした方がいいかとは思うがなぁ…
554 名前:529 mailto:sage [2015/12/12(土) 00:36:04.64 ID:OCSYJa91.net] >>538 ありがとうです、*Time.DeltaTimeとかにするんでしたっけ… それは手元の入門書にも書いてあったのでそれ見ながら入れておきます!
555 名前:529 mailto:sage [2015/12/12(土) 00:37:49.04 ID:OCSYJa91.net] >>539 こんなに書き方が色々あるなんて・・・ 全部メモっておいて調べてみます、ありがとうです!
556 名前:名前は開発中のものです。 mailto:sage [2015/12/12(土) 00:47:17.51 ID:2plOXWN4.net] まぁゆくゆくはRigidbodyで動かしたりもするようになるだろうけど、少しずつ
557 名前:分かっていけば良いと思うよ あ、ここもこうすれば後々便利だ!とかそんな風に気付いていく喜びを楽しみつつね 敵のとかAI作ってて脳がほとんど溶けたのも良い思い出だわ [] [ここ壊れてます]
558 名前:名前は開発中のものです。 mailto:sage [2015/12/12(土) 04:46:34.69 ID:LX2Avmx5.net] 残念ながら論点はそこじゃねえんだ 「漢字は一文字から意味をなすが、アルファベットは数文字必要」 って書けば日本語化の価値に気づけるか?
559 名前:名前は開発中のものです。 mailto:sage [2015/12/12(土) 13:18:20.61 ID:3GGIAwvU.net] Transoform関連はサンプルアセットのThirdPersoncharacterのスクリプトを徹底的に見れば良く判る 更に適当なアセットで戦闘時の前を向いたまま左右やバックの動きをカメラとの関連で理解して 最後にanimationでRootMotionの有無による違いを理解すればゲームで思った通りに動かせるようになる
560 名前:名前は開発中のものです。 mailto:sage [2015/12/12(土) 16:42:34.69 ID:NPVAYdih.net] 5.3にしてみて気のせいかもしれないんだけどさあ インスペクターでオブジェクトを見ると、貼り付けられたスクリプトの項目がすべてグレーアウトしてる これって前からこうだったっけ・・・・?
561 名前:名前は開発中のものです。 mailto:sage [2015/12/12(土) 23:19:06.90 ID:6cVhaj81.net] unityを4.6から5.2.3f1にバージョンアップしたところ、Scenceが開けなくなりました。 開こうとすると「Merge scenes」というのがはじまるのですがどのボタンを押しても結局開けません。 エラーログは下記です。 Error running semantic merge UnityEditorInternal. InternalEditorUtility:INTERNAL_CALL_SceneViewDrag(Object, Vector3&, Vector2&, Boolean) UnityEditorInternal.InternalEditorUtility:SceneViewDrag(Object, Vector3, Vector2, Boolean) (at C:/buildslave/unity/build/artifacts/generated/common/editor/InternalEditorUtilityBindings.gen.cs:250) UnityEditor.DockArea:OnGUI() ちなみにCドライブ直下に[buildslave]のフォルダなど無く、なんのエラーかもわかりません。 解決方法わかる方いらっしゃったら助けていただけませんでしょうか。
562 名前:名前は開発中のものです。 mailto:sage [2015/12/12(土) 23:54:00.78 ID:pnfEa23s.net] Unity5.3.0f4にアップデートしたのですが、 今まで(5.2系列)上手く行っていたWebGLのゲームのロードに失敗するようになりました。 chromeのコンソールで見るとこんなエラーが出ており、 ───────────────────────── * Failed to load resource: the server responded with a status of 404 (Not Found) hogehoge.com/Release/Build.js ←Build.jsは、実際にはBuild.jsgzという圧縮ファイルになっている Invoking error handler due to UnityLoader.js:1 Uncaught unknown compression method ───────────────────────── 「 Uncaught unknown compression method」でググると Apacheの設定で解凍失敗してるんでは?的な記事があって httpd.confなどをその通りに設定したのですが改善しません。 自分で作っていた過去のビルド分を見なおしたところ、 そもそも前のバージョンでもjs等の圧縮は行われており それは問題なく解凍できていたようです。 急に挙動が変わった原因は恐らく↓だと思うのですが、改善方法がわかりません。 Unity WebGLはサーバー側で圧縮の設定がされていない場合でも、自分で適切に圧縮をハンドリングするようになりました。 blogs.unity3d.com/jp/2015/12/07/unity-5-3-webgl-updates/ なにか改善策や問題点心当たりありましたら、ご教示お願いしますm(_ _)m
563 名前:名前は開発中のものです。 mailto:sage [2015/12/13(日) 00:22:59.55 ID:uiR6M1Lf.net] 変な話ですまんがなんでバージョン上げたの これまでのバージョン使いなよ Unityわりと気楽にトラブル起こすよ Android用のresフォルダ認識しなくなったのとか記憶に新しいところだ サポートで解決できなかったから広告SDK側をAndroid Plugin形式に改造したったよ その後パッチバージョン出たけど
564 名前:名前は開発中のものです。 mailto:sage [2015/12/13(日) 00:31:44.57 ID:5sytrhgf.net] そういうもんなんですか。。 WebGLはビルド対象にしようと思っているのと、今後出る2D強化に期待してるので アップデートはしていきたい気がしています… 公式のコミュニティでWebGLで検索もしたんですが、 特にそういう話題なかったんで恐らく環境依存なのかな?と思うのですが 同じ境遇の方いらっしゃいませんでしょうかorz
565 名前:名前は開発中のものです。 mailto:sage [2015/12/13(日) 00:46:50.76 ID:uiR6M1Lf.net] 今後の2D強化というとロードマップで来年June予定の奴かな?RPGツクール的なのとかSmartSprite あれはすでにPro版あライセンスで触れるんだけど、まだまだ製品に使えるものになってないアルファ版だと思って問題ないよ
566 名前:名前は開発中のものです。 mailto:sage [2015/12/13(日) 01:27:05.37 ID:UxISlOla.net] 具体的にどんなのだろう。 あとはタイルマップも気になってるんだけども…
567 名前:名前は開発中のものです。 mailto:sage [2015/12/13(日) 02:18:50.42 ID:T1PVLqMJ.net] 新しくついたIn App Billingを試した人いる? 個人の俺は住所氏名をストアでさらすの嫌だから課金システムをつける気はないけど、いつかやってみたい機能ではある
568 名前:名前は開発中のものです。 [2015/12/13(日) 18:33:33.10 ID:JGp8cZyt.net] i.imgur.com/dviSrrZ.jpg 画像のような空白のエラーメッセージが出て、何もできなくなってしまいました。 同じような症状を経験した方はいらっしゃいますか? Unityを再インストールしてもダメでした。 別のプロジェクトからスクリプトファイルをインポートしたらこうなったような気がします。 ググっても解決策は見つかりませんでした。
569 名前:名前は開発中のものです。 mailto:sage [2015/12/13(日) 19:18:36.57 ID:yWkumFwQ.net] インポートしたスクリプトが悪いとめぼしをつけてるならインポート前に戻せばいいんじゃね
570 名前:名前は開発中のものです。 [2015/12/13(日) 19:21:59.61 ID:JGp8cZyt.net] >>554 返信ありがとうございます。 スクリプトを削除しても再起動してもエラーは消えませんでした。
571 名前:名前は開発中のものです。 mailto:sage [2015/12/13(日) 22:00:25.82 ID:nrWSMJOj.net] ソース管理システム使えとは言わんがバックアップはこまめにしとこうぜ。 インポート前のプロジェクトがそのまま残ってないなら、最終的には新しくプロジェクト作って少しずつ移植かな。
572 名前:名前は開発中のものです。 mailto:sage [2015/12/13(日) 22:22:57.67 ID:UxISlOla.net] Dropboxの同期フォルダに突っ込んでおくだけでもだいぶ違うね
573 名前:名前は開発中のものです。 mailto:sage [2015/12/13(日) 23:31:58.39 ID:HGfclpxH.net] 質問です。 player_win_x64.pdb player_win_x64_s.pdb 上記のファイルって何でしょうか? エンドユーザーの環境に入れないとダメですか?
574 名前:名前は開発中のものです。 mailto:sage [2015/12/14(月) 00:59:45.74 ID:H2lQWtd2.net] ttp://stackoverflow.com/questions/29359473/unity-5-pdb-file-on-build-development-build-turned-off デバッグ用途のデータなのでエンドユーザに配布する必要はないよ
575 名前:名前は開発中のものです。 [2015/12/14(月) 01:09:48.37 ID:GIlDuD45.net] enemy.csを作成して敵キャラクターのオブジェクトに貼り付けた場合を想定してほしいのですが この場合、ゲームコントローラー等からすべての敵キャラクターの同じメンバ関数を呼ぶにはどうすればいいのでしょうか?
576 名前:名前は開発中のものです。 mailto:sage [2015/12/14(月) 01:16:30.04 ID:H2lQWtd2.net] 俺なら単にforeachで回すよ あとEnemyManager.csみたいな敵キャラクター全体の管理クラス作ってそいつに全ての敵キャラクターを管理させる ゲームコントローラからは管理クラスのメソッド呼ぶだけ
577 名前:名前は開発中のものです。 mailto:sage [2015/12/14(月) 01:17:18.34 ID:W90jgNlN.net] BroadcastMessage!
578 名前:名前は開発中のものです。 mailto:sage [2015/12/14(月) 01:23:24.13 ID:uyCW8aeP.net] このブロックとブロックの間の黒い線を消したいんだが 何をどうすればよいんでしょうか。 Standardのシェーダーに適当なテクスチャくっつけて uvずらして切り貼りしてるかんじなんです i.imgur.com/rclm0RB.jpg?1 だれかエスパーお願いしますうう
579 名前:558 mailto:sage [2015/12/14(月) 01:39:50.84 ID:RTi2ffUX.net] >>559 ありがとうございました。
580 名前:名前は開発中のものです。 [2015/12/14(月) 01:55:16.42 ID:GIlDuD45.net] >>561 ありがとうございます オブジェクトを取得するのはやはり、毎回GameObject.Findで探してやる感じになるのですか?
581 名前:名前は開発中のものです。 mailto:sage [2015/12/14(月) 02:55:22.94 ID:pzkPucZv.net] まあ>>561 のやり方でちゃんと管理するのがいいのだが 単純な話であればenemy.csに void Update(){ if(Input.GetKeyDown(Keycode.A)MethodA(); } void MethodA(){ } とか書いておけばそれでも呼べる。 ちゃんと管理するっていうのは生成も廃棄もちゃんと管理するってことだ。 >>561 が想定しているのは恐らくManageEnemy.csというクラスをシングルトンで作っておいて その中に例えばパブリックメンバとしてList<enemy> enemyListとかをもっておくとか追加削除メソッドをもって enemy.csで void Awake(){ ManageEnemy.instance.enemyList.Add(this); } void OnDestroy(){ ManegeEnemy,instance.enemyList.Remove(this); } と書いておくとかもっといえばEnemyを生成するのは必ずUnitManagerとかのクラスを通して行い 廃棄もそれを通して行うみたいな話ではあろうと思う。
582 名前:名前は開発中のものです。 mailto:sage [2015/12/14(月) 04:08:56.91 ID:ronnLmNu.net] 逆にゲームコントローラのイベントに敵キャラがハンドラを登録する方法もある
583 名前:名無しさん@そうだ選挙に行こう mailto:sage [2015/12/14(月) 15:34:23.80 ID:sO33dj3S.net] 某書籍を買ったのですが、update関数の中でnew Vector3を使っています。 毎フレームnewするのは一見遅くなる気がしますが、unityではこれ普通に使いますか?
584 名前:名無しさん@そうだ選挙に行こう mailto:sage [2015/12/14(月) 15:48:13.55 ID:aVVKebKg.net] C#だと普通 つか説明用のコードでそこまでシビアなことはしないし 最適化でどうなるか気になるなら実測してみては
585 名前:名無しさん@そうだ選挙に行こう [2015/12/14(月) 16:27:13.97 ID:oYRBr8uT.net] Vectorを一時的に使う時にnewするのって抵抗あるよね 俺も最初はそう思ってた いつからか面倒臭くなって今は当たり前に使ってるけども 別に気にする必要はなかったと思うね
586 名前:名無しさん@そうだ選挙に行こう mailto:sage [2015/12/14(月) 16:30:06.33 ID:H+L3QWh3.net] Vector3はstructだからなぁ
587 名前:名無しさん@そうだ選挙に行こう mailto:sage [2015/12/14(月) 16:32:35.86 ID:30LNT+hD.net] Updateでnew Vector3だと? どんな動きを期待してんだ、普通にFixedUpdate使えよ
588 名前:名無しさん@そうだ選挙に行こう mailto:sage [2015/12/14(月) 18:37:35.29 ID:H+L3QWh3.net] >>572 物理演算に干渉しないのであればUpdateでなんの問題もないしむしろFixedUpdateに書くべきじゃない
589 名前:名無しさん@そうだ選挙に行こう mailto:sage [2015/12/14(月) 19:02:45.96 ID:DiZBL98b.net] そんな事は初めて3日の初心者でも知ってるだろ ゲームではrigidbody使う基本から覚えたほうがいい
590 名前:名無しさん@そうだ選挙に行こう mailto:sage [2015/12/14(月) 19:33:31.97 ID:sPRe/DZw.net] FixedUpdateの存在に気づいたの、いつだったかな…
591 名前:名無しさん@そうだ選挙に行こう mailto:sage [2015/12/14(月) 19:35:00.10 ID:H+L3QWh3.net] 元のVector3をnewすることによるオーバーヘッドとFixedUpdateに何の関係もないからどうでもいいか Vector3はstruct=値型だから変数に代入した時点で値の複製によるオーバーヘッドが発生する だからnewだけを気にしててもあまり意味がないって事な
592 名前:名前は開発中のものです。 mailto:sage [2015/12/14(月) 20:43:31.62 ID:x0H1eQQZ.net] >>563 きっちり切り抜こうとしてない? マップチップみたいな画像を切り抜こうとして同じ症状が起きた気が。 一回り大きく描いておくか、一回り小さく切り抜くか、切り抜かず1枚のテクスチャを用意するか。 3DのUVの仕様だったと思うけど。違ったらスマソ
593 名前:名前は開発中のものです。 mailto:sage [2015/12/14(月) 21:11:49.95 ID:grDto/Iy.net] Unityに関係ない質問ですが、みなさんは
594 名前:名前は開発中のものです。 mailto:sage [2015/12/14(月) 21:35:14.97 ID:cdIsw3/o.net] FixedUpdateの話に便乗して質問 RigidBodyにFixedUpdateを使うのはいいとしてinput系がよくわからない Input.GetAxisはマニュアルではUpdateで普通に使われててWEB記事の中にはUpdateがいいとか書いてあるものさえ あるけどチュートリアルのスクリプトではFixedUpdateで使ってる場合が多い、どっちでもいいのか? あとシューティングとかジャンプとかInput.GetButtonDownはFixedUpdateと別にわざわざUpdateでしてる ちょっと作って見た程度ではどっちも大差ないんだよなあ、決まりがよく判らん?
595 名前:名前は開発中のものです。 mailto:sage [2015/12/14(月) 22:01:33.06 ID:pzkPucZv.net] >>579 Inputの各値は基本的にはUpdate()単位で更新されている。 docs.unity3d.com/ja/current/ScriptReference/Input.html "Note also that the Input flags are not reset until "Update()", so its suggested you make all the Input Calls in the Update Loop." インプットのフラグはUpdate()までクリアされないことに注意。インプットコールの全てはUpdateループの中で行うべきことを示しています。 つまりそのサイクルのUpdate()が終わった時点で更新される。 なのでFixedUpdate()で使うのには注意が必要で 例えばキーを押したとき一回実行したい場合に if(Input.GetkeyDown(Keycode.A)MethodA(); なんかをFixedUpdate()に書いてしまうと場合によっては二度実行されて意図してない結果になりうる。 Input.GetAxis()なんかはそういう意味ではFixedUpate()内で使っても危険は少なそうではある。
596 名前:名前は開発中のものです。 mailto:sage [2015/12/14(月) 22:41:56.11 ID:uyCW8aeP.net] >>577 おおお、ありがとうございますううう。それでした! 一枚テクスチャにしてもちょっと小さく切り抜いた場合でも つなぎ目消せました imgur.com/a/RtaXc
597 名前:名前は開発中のものです。 mailto:sage [2015/12/14(月) 23:03:28.13 ID:5rWvx7gs.net] >>511 亀だけどサンクス 何となくわかったわ
598 名前:名前は開発中のものです。 mailto:sage [2015/12/14(月) 23:16:18.52 ID:nTj0Sz3S.net] ↑ わかってない
599 名前:名前は開発中のものです。 mailto:sage [2015/12/15(火) 02:52:33.57 ID:nZT54pCP.net] ブロック崩しを作っていて、 跳ね返ったりブロック消すところはできたのですが、 いざブロックをたくさん設置してみると 上に跳ね返らず、→の処で下に戻ってしまうのです。 こっちにこない ↓ \ ■■■■ \■■■■ →/■■■■ / ■■■■ \ ■■■■ \ ○スタート 球の速度を変えると上に行く時もあるのですが、 速度を変える以外に何か回避方法ありますか?
600 名前:名前は開発中のものです。 mailto:sage [2015/12/15(火) 03:15:30.59 ID:tajp4kV9.net] >>584 おそらく、その1つ上のブロックの角にボールが当たってるんだろうな。 ブロックを消さない場合も、同じように想定しない方向に跳ね返る? それで発生しないなら、もしかすると「当たった瞬間には消さない」という姑息な手段で 問題が解決するかもしれない、
601 名前:名前は開発中のものです。 mailto:sage [2015/12/15(火) 08:08:41.08 ID:66uXxktO.net] admobuに関して質問よろしいでしょうか? カメラだけの最小構成のサンプルプロジェクトでバナーを表示させるとでるのに 実際のアプリに組み込むとでません。 これって何かのアセットがいたずらしてたり画面の外に表示されてたりとかそういう可能性ってありますか? 解決法はどうしたらよいでしょうか?
602 名前:名前は開発中のものです。 mailto:sage [2015/12/15(火) 10:07:44.89 ID:uyndtwRG.net] >>568 transformのメンバ変数は直接書き換えることが出来ない。 vector3の値を変える時はvector3同士でないといけないから、こういう書き方になる。
603 名前:584 mailto:sage [2015/12/15(火) 13:23:33.44 ID:dXUWUNx8.net] >>585 ブロック消さないようにしても軌道は同じでした
604 名前:名前は開発中のものです。 [2015/12/15(火) 13:40:00.52 ID:o8J25P/W.net] >>588 恐らく>>585 が言った通りもうひとつ上のブロックにも当たっててそこに 跳ね返ってるのだろう つまり同時に複数のブロックと当たってる そこで一案だがまずボールに当たったブロックをすべてプールする そしてプールしたブロックの中からボールとの位置関係に照らし合わせて適切な あたるブロックを選んでそれを消しながらボールを反射させるというのはどうか
605 名前:名前は開発中のものです。 [2015/12/15(火) 13:49:15.86 ID:o8J25P/W.net] >>589 やっぱこの方法良くないね 先に上のブロックに当たった場合変な挙動になる 一つのブロックの上辺、下辺、左辺、右辺のどれに当たってるか検知するほうが 良いと思う
606 名前:名前は開発中のものです。 [2015/12/15(火) 14:57:28.55 ID:Aeg7fYna.net] ブロック崩しの問題って、ブロックとブロックの間に隙間があるから起きてる問題なんだよね? これって隙間に見えないブロックを詰めてやれば解決するのかな
607 名前:名前は開発中のものです。 mailto:sage [2015/12/15(火) 15:53:04.81 ID:1PuSfyAW.net] 隙間があるからよりもむしろ計算精度や頻度の問題だろう。 速度を変えると大丈夫な場合があるのだとすれば 物理特性マネージャやタイムマネージャの設定を見直してやれば解決する場合もありうる
608 名前:名前は開発中のものです。 mailto:sage [2015/12/15(火) 16:37:29.85 ID:PujoCYBK.net] 当たり判定の間隔と処理順の問題やね、図にすると以下の様な感じ縦軸は時間 物理演算(ここでは当たってない) ↓ ↓ここでBに当たるが判定はまだされない ↓ ↓ここでAに当たるがこれはBにめり込んでいる状態 ↓ 物理演算(ABと当たった判定、Aが先に処理されてる) 実行環境の処理能力が許すなら>>592 の言う通り判定の頻度を上げればある程度改善すると思う 厳密にやろうとすると同時に当たった場合にちょっと工夫が必要になるかな
609 名前:名前は開発中のものです。 mailto:sage [2015/12/15(火) 16:48:56.08 ID:7/E0miQ5.net] Edit->ProjectSettings->Time->FixedTimesetp を0.01 (100fps)あたりにすればいいんじゃね PCなら問題ないでしょ
610 名前:名前は開発中のものです。 mailto:sage [2015/12/15(火) 16:56:28.86 ID:PujoCYBK.net] Collision Detectionの変更で解消したりしないかねこれ
611 名前:584 [2015/12/15(火) 18:46:18.90 ID:dXUWUNx8.net] みなさんありがとうございます。 >>594 0.01でマシにはなったんですが、続けているとやっぱりたまに発生します 精度を上げると確率減っていきました >>595 そこらへんいろいろいじったのですが変わりませんでした。 Rigidbody2D版だとよくなったりしました(こっちも出るときは出る)
612 名前:名前は開発中のものです。 mailto:sage [2015/12/15(火) 20:00:34.18 ID:X0IxInAK.net] 質問です。 Lightwaveでエンベロープとマテリアルを適用しまた、キーフレームでアニメーションをつけたモデルをFBXでunityにインポートし vuForiaを利用してARで表示しようとしているのですが、 ビルドして実機で表示してみるとエンベロープとマテリアルが適用されていません。 Unity上でアニメーションを再生していた時は適用されていました。 理由がわかる方いましたら教えていただけますでしょうか。
613 名前:名前は開発中のものです。 mailto:sage [2015/12/15(火) 20:37:30.30 ID:ilr73Fja.net] 2Dゲーム制作しています。 SpriteRendererが複数集まってできているアニメーションするキャラクターがいますが、 このrootあたりにスクリプトをつけて一括で色変更ってできますか? 色反転や全体的に明るくするなどです。 無敵状態の表示などに使います。 シェーダーってこういうときに使うのかなと想像してますが・・・
614 名前:名前は開発中のものです。 mailto:sage [2015/12/15(火) 20:42:34.04 ID:PX05T8Gm.net] >>598 2Dのチュートリアルにまんまな例があった気がする https://github.com/unity3d-jp-tutorials/2d-shooting-game/wiki > 第11回-エネミーのHP、弾の攻撃力、アニメーションの追加 > 11.2 ダメージを受けた時の表現
615 名前:名前は開発中のものです。 mailto:sage [2015/12/15(火) 22:20:21.99 ID:7/E0miQ5.net] >>598 一括Color操作は自前でコンポーネントを作ったほうが楽だよ 親から一括でやるか、子からrootを見るかは実装次第で
616 名前:名前は開発中のものです。 mailto:sage [2015/12/15(火) 22:37:57.21 ID:Pvh48dzj.net] 今晩は。毎度お世話になっております。 座標99999たとかでキャラコン貼り付けたcubeがカタカタするんですが そういうものでしょうか。
617 名前:585 mailto:sage [2015/12/15(火) 23:19:26.28 ID:tajp4kV9.net] やっぱ>585の方法じゃダメだったかー。 それでうまくいくなら一番楽な方法だったのに。残念。 >>584 ブロックを大きくする(ボールを小さくする)ことで、隣のブロックの角に当たる確率を減らすとか、 必ず1マス以上あけてブロックを配置することで、変な方向に反射しても仕方ないとプレイヤーに思わせるとか、 更に姑息な方法はどうだろうか、ダメか。
618 名前:名前は開発中のものです。 mailto:sage [2015/12/15(火) 23:39:43.60 ID:1PuSfyAW.net] >>601 floatってのは有効桁数が7桁だからあと1で六桁という数になると小数点以下は事実上1桁しか使えない。 座標0.1単位程度でしか動かなくなるってこと。
619 名前:名前は開発中のものです。 mailto:sage [2015/12/16(水) 00:03:14.70 ID:j+S5csIr.net] uGuiでCanvas以下のレイヤーにマウスの位置に2Dオブジェクト生成しようと思ったのですが Input.mousePositionで取得した値だと微妙にずれた座標が生成されてしまいます。 左下原点にして右上でタッチするほど座標がずれていくのですが、どうしたら正しい値を取得できるのでしょうか?
620 名前:名前は開発中のものです。 mailto:sage [2015/12/16(水) 00:06:03.15 ID:eYf8fnNA.net] docs.unity3d.com/ScriptReference/RectTransformUtility.html 割と変換負荷あるからプロファイラーには注意してね
621 名前:名前は開発中のものです。 mailto:sage [2015/12/16(水) 00:16:48.31 ID:2EXzHSA/.net] >>603 ありがとうございます。 なるほど有効桁数ですか。 本質的な問題のようなので あまり大きな座標にならないように作りたいと思います。
622 名前:名前は開発中のものです。 [2015/12/16(水) 00:40:38.94 ID:VAD6hGXi.net] Input.GetButtonについての質問なのですが、 例えばオート連射
623 名前:フような物を実装しているのですが、 ボタンを押下している状態で、 現在のステージをloadLevelでリロードすると、 ボタンを押しているのにも関わらず、 ボタンを押している事を判定してくれないのですが何故でしょうか (日本語やばかったらすみません) つまり、オート連射のボタンを押しっぱなしにしたまま、 ステージをリロードしても、そのままオート連射していて欲しいのですが、 どうしたら良いでしょうか [] [ここ壊れてます]
624 名前:名前は開発中のものです。 mailto:sage [2015/12/16(水) 02:30:43.20 ID:YpuaDswn.net] >>607 どうやって連射の実装してるんだい? フラグでやってるんならSceneが変わったときに連射用のフラグをいったん下ろしてやらなくては。
625 名前:名前は開発中のものです。 mailto:sage [2015/12/16(水) 02:37:22.60 ID:f8gP/AkE.net] FixedJointでくっつけたゲームオブジェクトが、オブジェクトを動かすとバラバラになって高速で移動しながら飛んでいってしまいます。 RigidbodyのDragなどを高い数値に変更してもその現象は改善されないのですがなぜでしょうか…?
626 名前:名前は開発中のものです。 mailto:sage [2015/12/16(水) 09:28:03.07 ID:kqjfOMz3.net] ゲームビュー(できれば任意のカメラ)の映像を一時的に静止画にして、 それをゲーム内で再利用する場合、どうやるのがスマートかな? 具体的な状況としては、 たとえばボス撃破の瞬間を切り取って、エンディングで表示させるとか。 楽に使えるなら、ポーズ画面なんかでも使いたいという人も居るかもしれない。 (1)Application.CaptureScreenshotで保存してから読み込む (2)シーンの追加読み込みを行って、シーンをまるごと静止画っぽく表示する (3)各オブジェクトの位置などを何らかの方法で保存しておき、再現する というのをぱっと思いついたが、第4の選択肢は無いものかなって。
627 名前:名前は開発中のものです。 mailto:sage [2015/12/16(水) 10:00:36.34 ID:Vb3Sl3S3.net] Texture2D.ReadPixelsでスクリーンからテクスチャに直接引っこ抜くという手はある レンダーテクスチャがPro版でしか使えなかった頃はオフスクリーンレンダリングで割と使われていた手法ではある docs.unity3d.com/jp/current/ScriptReference/Texture2D.ReadPixels.html
628 名前:名前は開発中のものです。 mailto:sage [2015/12/16(水) 10:48:18.99 ID:LkcR1T/m.net] つか何でRender Texture使わないの?
629 名前:607 [2015/12/16(水) 11:31:10.32 ID:VAD6hGXi.net] >>608 単純にGetButton("hoge")がtrueなら連射するようにしています
630 名前:名前は開発中のものです。 mailto:sage [2015/12/16(水) 11:50:10.30 ID:HZkFOsWS.net] 他人が失敗する様な環境を作った自分に非が無いとでも?
631 名前:名前は開発中のものです。 [2015/12/16(水) 15:04:03.90 ID:o0yPHZmn.net] どなたか教えてください。 シーンが切り替わってから2秒後にBGMを流したく、以下のようなスクリプトを書いたのですが、 再生されません。どこか間違っているのでしょうか? unity5.2.3f1を使っています。 float timer; AudioSource audioSource; void Start () { audioSource = gameObject.GetComponent<AudioSource>(); timer = 0; } void Update () { timer += Time.deltaTime; if (timer > 2.0f) { for(int i =0; i < 1; i++){ audioSource.Play (); } } }
632 名前:名前は開発中のものです。 [2015/12/16(水) 15:10:24.68 ID:i1u9PnLV.net] >>615 どうもif (timer > 2.0f) {の文で2.0f以降毎フレーム再生開始が掛かってる状態なんじゃないのか? 俺だったらtimerが2.0f超えた時点でフラグをオンにするという構成にする
633 名前:名前は開発中のものです。 mailto:sage [2015/12/16(水) 15:15:11.21 ID:Vb3Sl3S3.net] >>612 レンダリングを一回余計にまわさなきゃならんのと 個人的にTexture2Dの方が使い勝手がいいからだな レンダーテクスチャでやる場合は以下でおk 任意のカメラ.targetTexture=renderTexture; 任意のカメラ.Render(); 任意のカメラ.targetTexture=null;
634 名前:名前は開発中のものです。 mailto:sage [2015/12/16(水) 15:48:31.15 ID:A3RTiMr9.net] >>615 >>616 の言ってる通りに 再生されないんじゃなくて何回も連続して再生されすぎててまともな音が出てないだけ つかデバッグに仕方をまず覚えろ、playの下にDebug.Log(hoge);とか入れとけば何回も再生されてるのがわかるだろうに
635 名前:名前は開発中のものです。 [2015/12/16(水) 16:09:15.66 ID:oULklXcL.net] Liicaが出しているアプリ「Q」のようにタッチの軌跡をオブジェクト化して表示し、そこに動的にcolliderをアタッチしたいと考えています。 現在はLine Rendererで線を描画し、タッチされた座標をpolygon collider 2Dのpathに設定しようと考えて作業していましたが、うまくいきません。他になにか適切な方法はないでしょうか?
636 名前:名前は開発中のものです。 mailto:sage [2015/12/16(水) 16:53:23.91 ID:Vb3Sl3S3.net] >>619 上手く行かない時はどう上手く行かないか書かないとエスパー回答しか出来んよ 推測するにPolygon Collider 2D は閉じたパス(面)である必要があるが、タッチした点は開いたパス(線)だから上手く行かないんだと思うわ タッチした点pの左右に線の太さの1/2だけずらした点p1,p2を算出して、描画された線を囲む様なパスを生成すればいいんでない? まあEdge Collider 2D使うと幸せになれるかもしれない docs.unity3d.com/ja/current/Manual/class-EdgeCollider2D.html docs.unity3d.com/ja/current/Manual/class-PolygonCollider2D.html
637 名前:名前は開発中のものです。 [2015/12/16(水) 21:47:00.93 ID:t4TQTjE8.net] >>620 ありがとうございます 上手くいかない理由はおっしゃる通りの原因だと思います Edge collider、試してみます
638 名前:名前は開発中のものです。 mailto:sage [2015/12/16(水) 21:52:38.12 ID:7BgYgE6R.net] >>584 そもそも物理演算必要? 俺だったら進行方向に対して現在地から移動先へのCapsuleCast飛ばして 当たったコライダーとの放線使ってベクトル反転でやるかな
639 名前:名前は開発中のものです。 mailto:sage [2015/12/16(水) 22:09:03.18 ID:ndTWa9K3.net] 物理いらないならもうパズルゲームみたいにセルを2次元配列化で管理した方が手軽に望んだ挙動作れると思うよ