[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/21 15:00 / Filesize : 330 KB / Number-of Response : 1030
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【3Dゲームエンジン】Unity質問スレッド21



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/

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次元配列化で管理した方が手軽に望んだ挙動作れると思うよ

640 名前:名前は開発中のものです。 mailto:sage [2015/12/17(木) 01:00:33.35 ID:9sQ34Jc8.net]
unityいじり始めて大抵みんなブロック崩し作ると思うけどブロック崩しって物理演算と
相性良くないよね
当たり判定はエンジンに頼るとしても玉の挙動は自分でコーディングした方がいい

641 名前:名前は開発中のものです。 mailto:sage [2015/12/17(木) 01:54:57.82 ID:NVfT1vq4.net]
ブロック崩しなら本家の公式にあるこれが一番判りやすいよ
unity3d.com/jp/learn/tutorials/modules/beginner/live-training-archive/creating-a-breakout-game?playlist=17219

642 名前:名前は開発中のものです。 [2015/12/17(木) 02:25:48.51 ID:i6ql7oPG.net]
Unityでenterキーを押すと
GameウィンドウのDisplay 1タブが反応してしまいます。

Displayタブの非表示もしくは反応させないようにする方法は
ないのでしょうか?

643 名前:名前は開発中のものです。 [2015/12/17(木) 11:39:02.64 ID:42EN6m0T.net]
公式の3Dの真似をして以下のコードを書くとエラーになります・・。
どなたかわかる方ご指摘お願いします><

void FixedUpdate(){
float x = Input.GetAxis (



644 名前:名前は開発中のものです。 [2015/12/17(木) 11:40:44.32 ID:42EN6m0T.net]
void FixedUpdate(){
float x = Input.GetAxis ("Horizontal");
float y = Input.GetAxis ("Vertical");
Rigidbody rb = GetComponent<Rigidbody>();
rb.AddForce (Vector2.up * x);
}

645 名前:名前は開発中のものです。 [2015/12/17(木) 11:43:47.82 ID:42EN6m0T.net]
627,628です。
連投申し訳ないです・・・
正しくはこちらです。

void FixedUpdate(){
float x = Input.GetAxis ("Horizontal");
float y = Input.GetAxis ("Vertical");
Rigidbody2D rb = GetComponent<Rigidbody2D>();
rb.AddForce (x,y);
}

646 名前:名前は開発中のものです。 [2015/12/17(木) 12:29:43.51 ID:9sQ34Jc8.net]
>>629
GetComponentってgameobject.GetComponent無しで呼び出せたっけ?
俺はそうしてるけど
エラーメッセージも書いてくれよ

647 名前:610 mailto:sage [2015/12/17(木) 14:03:48.31 ID:5ZD2RIjV.net]
>>611>>612>>617
ありがとうございます。
ずっとscreenshotやcaptureといった単語で調べていたため
それらのメソッドに辿りつけませんでした。お恥ずかしい。

648 名前:名前は開発中のものです。 mailto:sage [2015/12/17(木) 15:53:38.78 ID:H/PVOEMJ.net]
>>629
Rigidbody2D.AddForce の引数はVector2とForceModeだから引数の型が違うって言われてるんじゃない?
エラーメッセージと公式のリファレンスは読む習慣付けた方がいいよ

649 名前:名前は開発中のものです。 mailto:sage [2015/12/17(木) 16:39:56.32 ID:NVfT1vq4.net]
>>629
突っ込みどころが多すぎだけど多分こんな感じでうごかしたかったんじゃね
その状態ならひたすらチュートリアルやるのが一番の近道だよ

public Rigidbody2D rb;
void Start() {
rb = GetComponent<Rigidbody2D>();
}
void FixedUpdate() {

float x = Input.GetAxis ("Horizontal");
float y = Input.GetAxis ("Vertical");
rb.velocity = new Vector2 (x,y);
// rb.AddForce(new Vector2 (x,y));
}

650 名前:名前は開発中のものです。 mailto:sage [2015/12/17(木) 17:11:46.11 ID:ObBFCLHN.net]
>>629
その書き方で間違っているのは
rb.AddForce (x,y);
の部分で
rb.AddForce(new Vector2(x,y));
と書かねばならないってだけ。

GetComponentはgameObjectなしでも使える。
GameObjectとComponentはObjectから派生してそれぞれが
GetComponentを設けているので両者は本来同じではない(実際には同じだろうが)

651 名前:名前は開発中のものです。 mailto:sage [2015/12/17(木) 17:37:47.81 ID:0OdKeQMj.net]
非常に初歩的な質問で申し訳ないのですが、new Vector3(1.1.1)とは毎フレームごとに()の中の値を加算していくということであってるんでしょうか?

652 名前:名前は開発中のものです。 mailto:sage [2015/12/17(木) 17:46:22.58 ID:ObBFCLHN.net]
>>635
言語の勉強から始めろ…
Vector3はUnityEngineで定義された構造体だ。
newはそのクラス、もしくは構造体のインスタンスを作る、ということだ。
インスタンスってのは何かっていうとメモリ上にその形式に沿って領域を確保するってことだ

653 名前:名前は開発中のものです。 mailto:sage [2015/12/17(木) 19:55:08.25 ID:0OdKeQMj.net]
>>636
すいませんC#の勉強してから出直してきます・・・



654 名前:名前は開発中のものです。 mailto:sage [2015/12/17(木) 20:13:39.37 ID:lGOuvxAK.net]
>>616>>618
返事遅くなって申し訳ない
Debag.Logしてみたら何度も再生されてたみたいです。616さんの言ってるようにフラグをオンにする形で上手くいきました。
ありがとうございます。

655 名前:名前は開発中のものです。 mailto:sage [2015/12/17(木) 20:19:49.64 ID:H/PVOEMJ.net]
>>635
なんというか見たまんまなんだけどな
new Vector3(1,1,1);

新しい3次元ベクトルを(1,1,1)で作る

C#の絵本あたりでざっくりと概念を理解するのがいいかもね

APIの使い方は知らなくてもリファレンス見れば何とかなるが
概念が理解出来てないと応用が効かないしソース読んでも理解出来ないから
効率良く学習するには基本的な概念を理解すること

これさえ身についていれば他の言語やゲームエンジンに移っても苦労しない

656 名前:607 [2015/12/17(木) 20:46:23.59 ID:/vN0R3NP.net]
>>613
誰かおねがいしますー

657 名前:名前は開発中のものです。 mailto:sage [2015/12/17(木) 21:11:58.46 ID:0OdKeQMj.net]
>>639
自分も新しいベクトルを作るって言うのはなんとなくわかるんですけど次のプログラムがいまいち納得いかないんですよね
void Update () {
var v = new Vector3 (0.1f, 0.1f, 0.1f);
transform.Rotate (v);
}

これだと0.1度の位置でピタッと止まりそうなんですけどオブジェクトがゆっくり回転するんですよね・・・

658 名前:名前は開発中のものです。 mailto:sage [2015/12/17(木) 21:16:51.56 ID:ObBFCLHN.net]
>>641
それはRotate()っていう「回転させる関数」にその値を渡しているからだ…
だから毎フレーム回転する。
transform.rotation.eulerAngles=v;
ってやれば0.1度になる

659 名前:名前は開発中のものです。 mailto:sage [2015/12/17(木) 21:58:44.76 ID:0OdKeQMj.net]
えーっと、つまり毎フレームごとに()の中の値とそれの元になったVector3を破棄(メモリ開放?)するからnew関数を使って毎回作り直すってことですかね?

660 名前:名前は開発中のものです。 mailto:sage [2015/12/17(木) 22:07:57.57 ID:H/PVOEMJ.net]
>>641
なるほどUpdateが毎フレーム呼ばれる関数だってとこを理解してないんだな

void Update () {//毎フレーム
var v = new Vector3 (0.1f, 0.1f, 0.1f);
transform.Rotate (v);//vだけ回転する
}

仮に60FPSで実行されていれば毎秒60回これが実行されるってことだからそりゃ

661 名前:あぐるぐる回るだろ
http://docs.unity3d.com/ja/current/ScriptReference/MonoBehaviour.html
ここのメッセージの項目の一番下
http://docs.unity3d.com/ja/current/Manual/ExecutionOrder.html
ここもざっくり見ておくといい
[]
[ここ壊れてます]

662 名前:名前は開発中のものです。 mailto:sage [2015/12/17(木) 22:31:26.52 ID:NVfT1vq4.net]
まあスクリプトマニュアルにある例文スクリプトを動かしてみるのが一番だな
その例ではvar v = new Vector3 (0.1f, 0.1f, 0.1f); は毎回同じ値しか生まないからUpdateでやる意味はないな
あとC#でvarは止めようぜw

663 名前:名前は開発中のものです。 mailto:sage [2015/12/17(木) 22:42:18.10 ID:CLdinnog.net]
>>641
もうちょっと関数とか定義とか調べてみたほうがいいねw
とくに、あれ?と思ったときこそ念入りに



664 名前:名前は開発中のものです。 mailto:sage [2015/12/17(木) 22:43:24.00 ID:0OdKeQMj.net]
>>644
ありがとうございますマニュアルとか初めて知った・・・
>>645
すいませんネットで見つけたものをコピペしただけだったので・・・
varはバリューの略?だとかってに思ってるんですがC#だと何がいけないんでしょうか?

665 名前:名前は開発中のものです。 mailto:sage [2015/12/17(木) 22:44:58.16 ID:5ZD2RIjV.net]
ば、value……






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<330KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef