トップページgamedev
1001コメント386KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2014/08/05(火) 22:02:24.88ID:WCQkNfyP
3Dゲームエンジン「Unity」の質問に優しく答えるスレです。

Windows/Mac用。JavaScript/C#/Booといった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他

次スレは>>970を踏んだ方が建てること。ダメなら>>980>>990が建てて下さい。

■前スレ
【3Dゲームエンジン】Unity質問スレッド10
http://peace.2ch.net/test/read.cgi/gamedev/1403791323/

■本スレ
【3Dゲームエンジン】Unity総合スレッド23
http://peace.2ch.net/test/read.cgi/gamedev/1404212872/

■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
 http://www24.atwiki.jp/unity2ch/

●リンク
・Unity(日本公式サイト)
 http://unity3d.com/japan/
・ユーザーガイド&リファレンス
 http://japan.unity3d.com/developer/document/
・チュートリアル
 http://japan.unity3d.com/developer/document/tutorial/
・スクリプトリファレンス
 http://docs-jp.unity3d.com/Documentation/ScriptReference/
・FAQ
 http://answers.unity3d.com/index.html
・MSDN
 http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
0529名前は開発中のものです。2014/09/01(月) 22:13:58.12ID:qsDLovS+
>>528
説明が不十分でしたね。OnTriggerEnterに入れると衝突判定が無いと消えないですよね?戦艦で戦う系なので、
標準アセットのwalterをつかっているのですが、うまく衝突判定が取れずに消えない事もあるという事です。全が消えない訳ではないです。
Awakeで読んでlifeTimeで管理でも良いんですが、そこはどうにでもなるので姑息策で外に出しているんで、OnTriggerEnter自体は機能しています。
OnTriggerEnter内で処理していたときもEnemyに当たっていた分は消えていたので。
0530名前は開発中のものです。2014/09/01(月) 23:09:33.75ID:ymmddkqZ
コライダーがあってもOnCollision系, OnTrigger系が動かない組み合わせもあるようだが
ttps://code.google.com/p/vga-unity/wiki/GP10UnityCourse08
ttp://raharu0425.hatenablog.com/entry/2014/01/17/164919
0531名前は開発中のものです。2014/09/02(火) 02:01:16.02ID:l6NrJpA9
>>477
1つのGameObjectにColliderコンポーネント複数取り付けられる気がするんだけど
これって正しくない挙動するからやめろって事??
0532名前は開発中のものです。2014/09/02(火) 03:13:59.10ID:ALgug/FZ
>>529
ただ聞いてる分には
・衝突判定はできている
・しかしセンドメッセージは効いていない
=センドメッセージとそれを受ける関数の書き方がおかしい

としか思えんのだがw
0533名前は開発中のものです。2014/09/02(火) 04:48:15.82ID:EsmMb8P/
>>530
コライダーは爆発側には一つしか付いてないんですよ。受ける側はOnCollisionEnterとOnTriggerEnterで二種類の関数からSendmessageを送っているのでその辺りですかね?


>>532
そうですよね?何度もそう思って、見直した上にdamageを送れている方の弾丸からcol.gameObject.SendMessage("ApplyDamage",damage); の部分を
コピペしてやってもうまく行かないんですよ。

当たり判定があった時にDebug.Logでdamageと出力させる様にしても、DebugLog自体は出力されるのでやはり衝突判定は取れている様です。
0534名前は開発中のものです。2014/09/02(火) 05:41:46.68ID:ALgug/FZ
>>533
実は同じようなミサイルの爆発でダメージ、ことをしていて俺の場合はコリダー二つつけて片方は
実弾としての当たり判定、片方はトリガーにして範囲判定にしているんだが
別に出来てるんだよな〜。
やり方的には実弾側が当たったらOnCollisionEnterでセンドメッセージでダメージ、そのコリダーはディゼーブルにして
トリガー側をイネーブルにして同じくOnTriggerEnterでセンドメッセージでダメージ。

まぁちょっと気になっているのが爆発が起きた時爆発のパーティクルが広がるより前にダメージが渡ってしまうので
コンポーネントをイネーブルにするというラグが不規則に起きそうな処理よりデトネイター型の処理にした方がコントローラブルそうな気がして
そっちに書き換えようかな〜とかは思っているのだけど。
0535名前は開発中のものです。2014/09/02(火) 06:00:54.66ID:EsmMb8P/
>>534
コライダー二つでも処理出来てるんですね?聴いた所ほぼ同じ処理だと思うのですが、こちらは砲弾自体でのダメージはなく、
砲弾側で設定したダメージを着弾時に生成したコライダ付きの空オブジェクトに送り、それをOnTriggerEnterで衝突した敵に送る。
という、若干回りくどい方法をとっています。

先ほど、DeBug.Logで確認してみた所爆発のdamage自体はちゃんとEnemyに送られているようです。
只、爆発の方だけ hp -= damageが実行されていない様です。しかしもう一方の弾丸の方のdamageは
きっちりと計算されています。もう何が何だか。

恐らくデトネーター型の方がスマートなやり方なんでしょうね?もっと勉強せねば。
0536名前は開発中のものです。2014/09/02(火) 07:50:27.10ID:1GMwZIBc
>>535
そのとっちらかったダメージ処理を見直すべき。
処理のタイミングずれて問題が出てる訳だから、今のままだと今後もトラブルと思うけど。
0537名前は開発中のものです。2014/09/02(火) 07:57:19.23ID:FFsdmZrU
>>535
アセトをかえば簡単ですよ
0538名前は開発中のものです。2014/09/02(火) 12:02:00.52ID:av9lwgyz
プレハブを使う利点って、
同じ内容のオブジェクトを
簡単に複製できるというだけですか?

プログラム上で同じ設定を付与できれば、
プレハブ使うメリットはないのでしょうか。

それとも、プレハブにしたほうが
ロードが早いとかありますか?
0539名前は開発中のものです。2014/09/02(火) 12:06:45.32ID:ALgug/FZ
そりゃコンポーネントを付加したりヒエラルキーを組んだりっていう
操作がなくなってロードすりゃいい状態なんだからその分早くはなるだろう。

あとシリアライズされたデータを保持しておけるというのもある。
基本的にはスクリプトで全部出来るからまさに時間とメモリのトレードオフの問題ではあろうね
0540名前は開発中のものです。2014/09/02(火) 14:54:55.88ID:uzHWIoAm
>>538
アセットをかえば早くなりますよ(ガチで
0541名前は開発中のものです。2014/09/02(火) 15:03:42.89ID:/QVIXs5T
>>538
プレファブの語源をもう一度かみしめると良いかもしれない。
コードで全部行う事で同じ事は確かにできるのだけど、プレファブの本質はソコじゃ無い。
ResourcesクラスやAssetBundleクラスから生成可能なのがミソなのだ。
そしてそれらはシーンに配置したGameObjectの参照からインスタンス化するのと同様に生成できる。

乱暴に言えばプレファブからのインスタンス化を理解して使えばダウンロードコンテンツからでも今のゲームシーンに任意のゲームオブジェクトを生成できるって事。
0542名前は開発中のものです。2014/09/02(火) 17:08:46.32ID:ElI5Z03+
nGUIは皆買ってんの?
フリー版使ってる人のが多いんだろか
0543名前は開発中のものです。2014/09/02(火) 17:36:20.62ID:RDa7aV1G
>>481
今更ですけど返信ありがとうございます!条件演算子というらしいですね
こちらだと特にエラーは起こらなかったのでそのまま使ってしまおうと思います
0544名前は開発中のものです。2014/09/02(火) 18:52:57.80ID:EsmMb8P/
>>536
返信が遅れてすみません。

おっしゃる様にダメージ処理がとっ散らかっていたので、結局、爆発の方のスクリプトから直にdamageの値を送る事で
解決しました。爆発のスクリプトを他の武器でも流用出来る様にと思ってやった事ですが、もう少し理解してからしないとダメですね。


教えて頂いた皆さんありがとうございます。

今は無駄に自作のガトリングガンを作って遊んでますw完成は遠いですww
0545名前は開発中のものです。2014/09/02(火) 19:30:01.55ID:PrWBRdRO
質問失礼します。

現在テクスチャーの貼られたマテリアルをゲームオブジェクトに貼って画面に表示しています。

この手法だとゲームオブジェクトを2万ほど表示するとFPSが落ち始めます。

もっと早くテクスチャーを画面に表示したいのですが、何か良い方法は無いでしょうか?

分かる方、よろしくお願いします。
0546名前は開発中のものです。2014/09/02(火) 20:37:39.57ID:RQcEJ2j6
>>542
みんなって意味じゃdfと分かれるだろうしplaymakerの方が一応持ってる率高いんでない
0547名前は開発中のものです。2014/09/02(火) 23:37:28.24ID:FxtyDUWZ
お願いします。
アセットストアで購入した街の3Dモデルのdemosenseを元に1面を作成しています。
しかし元のdemosenseデータも必要になり再インポートしようとしてもできません。

一度1面を他のフォルダに移動するとdemosenseを再インポート出来ましたが
1面を元のフォルダに戻し開くとdemosenseと同じ画面が開きます。

1面はそのまま
大元のdemosenseデータを利用して2面、3面と作成することはできないのでしょうか。

わかりにくい説明ですみません。
0548名前は開発中のものです。2014/09/02(火) 23:41:10.92ID:V7hxBCio
>>504
ありがとう!
なんか面倒なことになりそうだから
べつの方法をかんがえてみるよ
0549名前は開発中のものです。2014/09/03(水) 02:25:57.65ID:jgviRdhI
WWWを利用したサンプルがあるサイトをご存じの方がいたら教えて下さい。
0550名前は開発中のものです。2014/09/03(水) 08:01:08.56ID:VzOT53gO
>>547
やりたいことがちとわからんが
1:Demo.sceneをインポート、これを修正して自分の面を作ってリネーム
2:元のDemo.sceneが必要になったので再インポート
3:自分の作った別名のシーンがおきかわって困る
こういうこと?
もし上の状態で困っているなら
1の部分を
1-0:
1-1:Demo.sceneをインポートしロードする
1-2:ヒエラルキーで全選択してCopyする
1-3:New Sceneでまっさらなシーンを作る
1-4:ペーストしてから任意の名前で保存
で元のdemo.sceneから自分の管理下に置き換えられる
0551名前は開発中のものです。2014/09/03(水) 09:48:58.85ID:NBJfJDUx
>>547
それは、アセットをかえばできると思うけど
0552名前は開発中のものです。2014/09/03(水) 12:25:33.50ID:OI4cndve
>>550
エスパーしていただき有り難うございます。
アセットの元データをコピーして使いたい
という意味でした。

newsenseに丸ごとコピーですね。
盲点でした。
ありがとうございます。
0553名前は開発中のものです。2014/09/03(水) 16:20:49.49ID:pAKbaS5i
だめだsenseでニヤついてしまう
0554名前は開発中のものです。2014/09/03(水) 19:37:36.09ID:zn26UcbD
>>553
あ、恥ずかしい
(//ω//)キャッッ
今までずっと勘違いしてた。
シーンね。
0555名前は開発中のものです。2014/09/03(水) 20:18:03.82ID:sKZqFwWK
こんなの産んだ奴の顔が見てみたい
0556名前は開発中のものです。2014/09/04(木) 02:54:19.61ID:i1ibL1nV
2D横スクロールを作りたいのですが
下からジャンプしてもすり抜けて着地できる台を作りたいのですが
どういったスクリプトを組むべきか知恵をお貸しいただきたいです。どうかよろしくお願いします
0557名前は開発中のものです。2014/09/04(木) 02:58:02.24ID:I5fWkdE7
一応こんなのがあったので参考までに
http://qiita.com/snipsnipsnip/items/af81af4f5507366bb817
0558名前は開発中のものです。2014/09/04(木) 05:48:20.92ID:96NVmV2s
>>541
丁寧なレスありがとうございました。
精進します。
0559名前は開発中のものです。2014/09/04(木) 15:10:42.61ID:96NVmV2s
2D スプライトのラスタスクロールってどうやるんでしょうか。
0560名前は開発中のものです。2014/09/04(木) 15:16:17.81ID:hzurF5SR
>>559
ラスタスクロールってダライアス2とかのうねうねスクロールだよね?
そういうのはレンダリングテクスチャ使えないと駄目なのでPro版必須になる
レンダリングテクスチャに一度書き込んで実カメラへは専用のシェーダで処理する。
0561名前は開発中のものです。2014/09/04(木) 15:29:53.21ID:UBZc8RJ+
>>556
ジャンプで上向きに加速してる場合は着地判定をせず
落下中にのみ判定させるコンポーネントを床に付ける。
0562名前は開発中のものです。2014/09/04(木) 15:42:39.02ID:hmH7qaf+
>>559
アセットをかえばいいと思います
0563名前は開発中のものです。2014/09/04(木) 15:42:57.72ID:DyjDB0Yv
visual studio for unity 使ってる人いますか?
使用感を教えてください
0564名前は開発中のものです。2014/09/04(木) 16:07:52.44ID:634qzK/O
VSの有料版無いと使えないから乞食には無理
0565名前は開発中のものです。2014/09/04(木) 16:28:45.34ID:NRUF9ZCX
まあVSの有料版でも試用期間あるから使ってみれば
学生ならまるごと無料のやつもあるしね
0566名前は開発中のものです。2014/09/04(木) 21:24:02.99ID:96NVmV2s
>>560
そうです、ダライアスのあれです。
Pro 版でしたか…
わかりました、ありがとうございます。
Pro 版の購入予定は今のところないので、
別の表現に差し替えてみます。
0567名前は開発中のものです。2014/09/04(木) 22:03:40.07ID:hmH7qaf+
>>566
アセットをかえばいいと思いますよ
0568名前は開発中のものです。2014/09/04(木) 22:26:31.82ID:JUbd0R0G
>>566
描画結果にラスタスクロールエフェクトを加えたい場合はProが要るけど
ただテクスチャをウネウネ動かしたいならUVアニメーションなので
シェーダ自作すればできると思うよ。スプライトじゃなくテクスチャになるけど
0569名前は開発中のものです。2014/09/04(木) 22:37:09.81ID:7NqMtK0s
もうポリゴンを動かしちゃえ!
0570名前は開発中のものです。2014/09/05(金) 02:22:37.41ID:txRdy6eA
sqrMagnitudeって何のために使うのか教えてくださぃ;
rigidbodyのvelocityを指定した値に固定する際の条件にこれが使われてるんですが
何でmagnitudeで直接の値を使わないで、sqrMagnitudeの2乗した値が必要なのか理解できないのです…
0571名前は開発中のものです。2014/09/05(金) 02:57:42.44ID:IZ9CaUgd
>>570
距離測定はゲームだと頻繁に使うでしょ、モバイルデバイスで浮動小数のSQRT関数は遅かったり電力食ったりするし
PCでもSQRT(ルート関数ね)使わずに事前に分かっている距離との比較なら定数側で二乗しておけばSQRT使わないで済むって理由で用意されてる。

例を挙げればシューティングのプレイヤー自機の100ドットを半径とした円形のバリアみたいな所で弾との距離がMathf.Sqrt(dx^2+dy^2)<100よりは
(dx^2+dy^2) < 10000の方が計算事スト低いよねって事
0572名前は開発中のものです。2014/09/05(金) 02:58:17.05ID:CF7DkxpL
それ数学のベクトル勉強しないと分らないよ
一言で言うとmagnitudeは使うたびに平方根計算するから処理速度喰う
平方数のままのsqrMagnitudeでも支障ない計算はあるからそうしてるんだと思う

http://docs-jp.unity3d.com/Documentation/Manual/DirectionDistanceFromOneObjectToAnother.html
0573名前は開発中のものです。2014/09/05(金) 12:49:53.24ID:WCj2BdcU
>>570
アセットをかえば理解できますよ
0574名前は開発中のものです。2014/09/05(金) 12:51:57.33ID:2kZsKN9q
この一連の解説そのままマニュアルにのってただろうに…
0575名前は開発中のものです。2014/09/05(金) 19:14:28.64ID:i4/iztkw
個人開発者でも広告収益1800万円!
2013年を振り返り、次へ活かすための失敗ポイントを分析する。
http://blog.mokosoft.com/entry/2013/12/28/115604
リアル収益や広告単価もぽろり!人気アプリ開発者による暴露トークセッションin大阪
http://appmarketinglabo.net/osaka-bakurotalk/
個人開発アプリ『100万のタマゴ』が全世界700万DLを突破!
http://gamebiz.jp/?p=107161
個人開発のAndroidアプリで月収116万円に
http://www.atmarkit.co.jp/news/201003/02/android.html
ぐんまのやぼう作者「アプリ開発、そんなにうまい話はない」
http://getnews.jp/archives/332876
「無駄にたくさんゲーム作って生きる」 “RucKyGAMES” という生き方 10の新機軸
http://www.ttcbn.net/no_second_life/archives/21048
売上低迷にあえぐアプリを救った広告売上 収益最大10倍で起死回生
http://app-review.jp/news/167182
【個人開発者のやぼうとげんじつ】第2回:脱サラ個人開発者“藤田武男(koume in i)”
http://app.famitsu.com/20120807_82222/
ダウンロード数の少ないアプリで収益を増やすには? AppBank Fello勉強会
http://iphone.ascii.jp/2014/03/31/terada12/
0576名前は開発中のものです。2014/09/05(金) 23:32:10.89ID:txRdy6eA
>>571 >>572
ベクトルって方向に対する強さって事ですよね?
if(rigidbody.velocity.sqrMagunitude > 指定速度 * 指定速度)
rigidbody.velocity = rigidbody.velocity.normalized * 指定速度;

指定速度は10.0fでvelocityが10.0fを超えたらtrueで良いと思ってるのに、
この条件だと10.0f * 10.0fの100.0f超えたらtrueになるって事じゃないですか
velocityの値をなぜ2乗するsqrMagunitudeで分岐させるのかが理解できないんです;

if(rigidbody.velocity.Magunitude > 指定速度)
これじゃダメなんですかね?
0577名前は開発中のものです。2014/09/06(土) 00:02:39.64ID:9Ap/Ra3D
>>576
平方根計算より累乗のほうが断然負荷が軽い
http://docs-jp.unity3d.com/Documentation/Manual/DirectionDistanceFromOneObjectToAnother.html
これが理解できるまで勉強しとかないと今後ベクトル関係で詰むかもね
0578名前は開発中のものです。2014/09/06(土) 00:13:38.05ID:rkFpW1O4
>これじゃダメなんですかね?

駄目ではない
ただ、暇があれば一度自分で平方根求めてみ。√2を計算機を使わずペンとノートで自分で求めてみると良い
0579名前は開発中のものです。2014/09/06(土) 00:24:40.86ID:LzYNNHJ3
>>576
rigidbody.velocity.Magnitude と指定速度を比較しても rigidbody.velocity.sqrMagnitude と 指定速度の二乗を比較してもどちらでもよい。
ただ、後者の方が計算コストが低いのでそちらを使う。
例えば rigidbody.velocity が Vector3.one だったとして
rigidbody.velocity.sqrMagnitude は 1*1 + 1*1 + 1*1 = 3 になるわけだが、この計算は手計算でも簡単にできる。
一方、rigidbody.velocity.sqrMagnitude は sqrt (3) = 1.732050808... になるわけだが、
sqrt(3) を小数に変換するのは、平方根表も計算機も使わなくてもできるけど、簡単ではない。
0580名前は開発中のものです。2014/09/06(土) 03:46:46.13ID:L1fjJakn
毎フレーム、平方根解かされるコンピューターの気持ちにもなってみろよ……
0581名前は開発中のものです。2014/09/06(土) 08:41:49.22ID:8ETKrVI4
質問失礼致します。

例えば、最小値−2、 最大値8 の幅の値があるとして、 ここに、2 の値が入力されたとします。
この場合、3 は−2(最小値) 〜 4(最大値)の間で、相対的に何%になるかを求めたいんです。
2なら、50%ですよね。 4なら75%…、
こういう計算を、最大値・最小値・目的の値を引数で指定して、算出できる関数ってあるんでしょうか。

よろしくお願いします。
0582名前は開発中のものです。2014/09/06(土) 08:56:23.84ID:a9vi6J+q
>>581
アセットをかえば簡単にできますよ
0583名前は開発中のものです。2014/09/06(土) 09:18:29.77ID:kGabVVAP
何なの平方根お化けでも現れたの?
0584名前は開発中のものです。2014/09/06(土) 09:23:27.71ID:W1XA3EsJ
>>581
何言ってるのかさっぱりわからん
0585名前は開発中のものです。2014/09/06(土) 09:28:37.34ID:+ViazBWz
算数スレw
05865812014/09/06(土) 09:35:06.33ID:8ETKrVI4
ややこしく考えてしまってたけど単なる百分率計算で自己解決しました。
ありがとうございました。
05875792014/09/06(土) 11:11:51.84ID:LzYNNHJ3
>>579
> 一方、rigidbody.velocity.sqrMagnitude は sqrt (3) = 1.732050808... になるわけだが、
は誤り。
一方、rigidbody.velocity.Magnitude は sqrt (3) = 1.732050808... になるわけだが、
が正しい。すまん。
0588名前は開発中のものです。2014/09/06(土) 11:14:23.81ID:sRfw86zg
逆に単なる百分率以外でどうやるんだよw
前途多難だなぁ〜
0589名前は開発中のものです。2014/09/06(土) 11:36:21.33ID:W1XA3EsJ
>>586
百分率かよ!、>>581の例文の謎引数とか謎数値で特異点込みの演算してるのかと思ったよ!wwww
0590名前は開発中のものです。2014/09/06(土) 11:38:13.80ID:3oRW1bXu
最初はそんなもんでしょ
自分で解決できたんだしそんな言ってやるなよ
0591名前は開発中のものです。2014/09/06(土) 13:41:23.29ID:MwIg8T/m
>>590
初心者かどうかは関係ないよ。
内容のレベルも、小中学生ならつまづいてもしょうがないかもしれない。

ただ、掲示板でアドバイスや答えを求める前にもう少し考えられたんじゃないかと。
現にすぐに自己解決してるし。
その姿勢が心配だと言ってるんだよ。
0592名前は開発中のものです。2014/09/06(土) 14:10:52.06ID:qTwC6cCN
プログラマーなら、「なんでこんな当たり前のことを、こんなややこしい考え方してたんだろう」
ってあとで思うことはいくらでもあるだろ
質問に書き込むだけで整理されてあっさり解決するなんてこともザラにある
それでくだらない問題だったって気付いても、黙って消えずに解決報告してるわけだし、
何か迷惑をかけたわけでもない

相手のことを思いやってる建前で相手が質問や相談をしづらくさせてる>>591って、
部下がすぐ仕事辞めたりしない?
0593名前は開発中のものです。2014/09/06(土) 14:22:44.28ID:mh/auqWU
さんざん調べてもうダメだと思って質問した瞬間に解決すること結構あるよなあ
0594名前は開発中のものです。2014/09/06(土) 14:59:03.92ID:+ViazBWz
そんなに結構はないな
ホンのたまにならあるけどw
0595名前は開発中のものです。2014/09/06(土) 15:28:44.35ID:LzYNNHJ3
真面目に質問しようと情報を整理し、
質問文は出来上がっていて後は送信するだけの状態にしてから
少し寝かせておき、改めて見ると解決策が見えてくるな。
それでいつも書き込み前に自己解決する。
他人にそうしろとは言わないが、時間をおいて見直すと解決することはよくある。
0596名前は開発中のものです。2014/09/06(土) 17:25:31.97ID:aBOZaPQb
570です。すいません返信ありがとうございます。何か壮絶に馬鹿らしい勘違いしてました;
そのコード書いてるメソッド名もFixedUprateとか書いてて何やってんだ俺ってなりました。エラーでないんですね…
普通に考えて二乗した値同士を比較してるんから、二乗してるかどうかは関係ない問題でした
0597名前は開発中のものです。2014/09/06(土) 19:08:58.71ID:GxRnKVsS
アセットをかえば全てうまく行きますよ
0598名前は開発中のものです。2014/09/06(土) 19:23:55.77ID:qTwC6cCN
焦っとる焦っとるw
0599名前は開発中のものです。2014/09/06(土) 20:06:11.72ID:0gYmcP3u
アセットの購入をアドバイスしてくれる方、どのようなアセットがおすすめか書いていただけると嬉しいです。
0600名前は開発中のものです。2014/09/06(土) 21:41:15.51ID:EsJlNIhj
そいつに聞いても無駄
0601名前は開発中のものです。2014/09/07(日) 01:39:17.34ID:Tvf2nEPL
blenderで作ったキャラクターのマテリアルの色を、blenderで変更して、
Unityに戻ってRefreshやReimportしても、色の変更が反映されません

unityで.blendファイルを削除してやり直す以外の方法で色の変更を反映させるにはどうしたらいいんでしょうか
よろしくおねがいします
0602名前は開発中のものです。2014/09/07(日) 01:42:39.36ID:+OFNZ69S
blender側で法線を外に向ける
0603名前は開発中のものです。2014/09/07(日) 02:10:41.95ID:T80KgNIA
>>601
materialはダイレクトには反映されない
公式にそう書いてある。
ttp://docs.unity3d.com/Manual/HOWTO-ImportObjectBlender.html
ttp://docs-jp.unity3d.com/Documentation/Manual/HOWTO-ImportObjectBlender.html

インポートした時にmaterialフォルダとマテリアルファイルは出来ているはずなので
それをBlenderでやってるのと同じようにいじるしかない
0604名前は開発中のものです。2014/09/07(日) 04:16:38.35ID:j4wL7Lzt
シーンに表示されてるPlayerタグオブジェクトが
void Start(){
target = GameObject.FindWithTag ("Player");
}
で取得出来ずnullが返ってくるんですが、何故なんでしょうか?
0605名前は開発中のものです。2014/09/07(日) 04:23:23.54ID:T80KgNIA
どこでも使われているような通常「出来るに決まっている」処理が出来ないのは
手元にある「その」プロジェクトがおかしいか何か書き間違えているかどちらかだろう。
つまりここにはその問題を解決するための情報は一切示されていない。
0606名前は開発中のものです。2014/09/07(日) 04:29:12.13ID:x8TWgpl7
プレイヤーオブジェクトの生成より先にそのStartが呼ばれてるってことはない?
Updateでは取得できる?
0607名前は開発中のものです。2014/09/07(日) 05:30:37.60ID:j4wL7Lzt
>>605,606
ありがとうございます
Debug.Logでプレイヤーオブジェクトが先に生成されてるのは確認出来ましたが
Updateでも取得出来ませんでした
えーと2Dシューティングで敵に狙い撃ち弾を撃たせる際に時機情報を取得しようとして
EnemyBulletオブジェクトのBulletスクリプト内で使ってみたのですが
public class Bullet : MonoBehaviour {

//弾の移動スピード
public int speed = 10;

//GameObject生成から消去までの時間
public float lifeTime = 2;

//攻撃力
public int power = 1;

// 攻撃目標キャッシュ用変数
GameObject target = null;

//弾ベクトル
Vector2 v;

//弾角度
float direction;
06086072014/09/07(日) 05:32:28.00ID:j4wL7Lzt
void Start ()
{
if(gameObject.name == "PlayerBullet(Clone)"){
//Player弾に速度ベクトルを代入
rigidbody2D.velocity = transform.up.normalized * speed;
}else{
//Enemy弾
if(target == null) {
// 未取得であればキャッシュする
target = GameObject.FindWithTag ("Player");
Debug.Log(target.name);
}
06096072014/09/07(日) 05:33:35.90ID:j4wL7Lzt
if(target.tag == "Player"){
Debug.Log("SHOT");
//角度取得
Vector2 p1 = transform.position;
Vector2 p2 = target.transform.position;
float dx = p2.x - p1.x;
float dy = p2.y - p1.y;
float rad = Mathf.Atan2(dy, dx);
direction = rad * Mathf.Rad2Deg;

//速度ベクトルを代入
v.x = Mathf.Cos (Mathf.Deg2Rad * direction) * speed;
v.y = Mathf.Sin (Mathf.Deg2Rad * direction) * speed;
rigidbody2D.velocity = v;
}
}

//lifeTime秒後に消去
Destroy(gameObject,lifeTime);

}
06106072014/09/07(日) 05:38:13.26ID:j4wL7Lzt
FindWithTagからFindに変えたら上手くいったんですが何でタグからだと
取得出来なかったんだろうと思いまして
0611名前は開発中のものです。2014/09/07(日) 06:10:55.07ID:58i10Dc6
本当にタグついてるの?
0612名前は開発中のものです。2014/09/07(日) 06:24:47.70ID:x8TWgpl7
FindGameObjectsWithTagでも引っかからない?
0613名前は開発中のものです。2014/09/07(日) 06:27:23.29ID:x8TWgpl7
レイヤーと間違ってるとか?まさかね
06146072014/09/07(日) 06:38:18.60ID:HKHZwxsP
>>611,612
すいませんタグじゃなくてレイヤーに設定してました
タグに設定し直したら出来ました
失礼しました
皆さんありがとうございます
>>613
まさかでした
0615名前は開発中のものです。2014/09/07(日) 06:47:00.43ID:x8TWgpl7
>>614
ド━━m9( ゚ω゚) ━━ン!
0616名前は開発中のものです。2014/09/07(日) 09:23:23.60ID:mkpL1om7
質問する前に少し落ち着こうぜって
ちょっと上で書いてもらってるのにコレだからな
0617名前は開発中のものです。2014/09/07(日) 10:44:41.08ID:2LOp9uBE
何故だか分からないのですが、
blender質問スレで俺の質問が無視られてるんですよね・・・
マルチになるかもですが、こっちで質問させてもらって良いですか?
一応この後unityで使うモデルに関しての質問なので・・・
0618名前は開発中のものです。2014/09/07(日) 11:29:41.57ID:win5/zxg
transform.upとかdownとかって元から正規化されてると思ってた
0619名前は開発中のものです。2014/09/07(日) 13:51:51.06ID:3o8FsH33
>>617
落ち着きましょう
まずはアセットをかってはどうでしょうか?
0620名前は開発中のものです。2014/09/07(日) 14:58:34.28ID:G+OOLMdp
インスペクターのTag、Layerの項目の下に
Modelという項目が表示されるそうですが
こちらの環境では表示されていません
どのように設定すれば表示されるのでしょうか?
0621名前は開発中のものです。2014/09/07(日) 15:08:46.54ID:3o8FsH33
>>620
それは簡単ですよ
アセットお買えば簡単に表示されると思います
0622名前は開発中のものです。2014/09/07(日) 15:12:24.94ID:IFL/aPEt
>>620
モデルデータ選択
0623名前は開発中のものです。2014/09/07(日) 15:18:38.30ID:Tvf2nEPL
>>603
Unity側に出来たマテリアルファイルを削除してからReimportすると反映させることができました
これはこれで少々面倒ですが
0624名前は開発中のものです。2014/09/07(日) 15:39:35.80ID:TL9vOra0
>>618
マジで?
絶対正規化されてるもんだと思うが・・・?
0625名前は開発中のものです。2014/09/07(日) 16:39:55.76ID:b37PoTiI
されてるってw
0626名前は開発中のものです。2014/09/07(日) 18:46:57.65ID:b37PoTiI
>>617
本当にBlender固有の話ならあっちで答えが出ないなら
こっちでも答えは出ないと思うがなぁ…
無視って言うか単にわからんから答えてないだけだろうし
0627名前は開発中のものです。2014/09/07(日) 18:51:02.04ID:2ziijg5B
UGUI使用してみようと思い↓の公式チュートリアルを見ながらTextを作ったのですが
http://unity3d.com/learn/tutorials/modules/beginner/ui/ui-text

void Update(){
text.text = "Test:" ; ←ココ
}

の部分でエラー(NullReferenceException: Object reference not set to an instance of an object)
が出ます。資料も少なく解決方法が見つかりません。。。
よろしくお願いします。
0628名前は開発中のものです。2014/09/07(日) 19:50:12.67ID:b37PoTiI
textの参照先がセットされてないってだけ。
textがどんな変数として宣言されて初期化されてるのかとか
そういう話なのでそこ出されても原因はわからない。
■ このスレッドは過去ログ倉庫に格納されています