トップページ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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
0045名前は開発中のものです。2014/08/08(金) 11:07:42.14ID:YIWUIzoJ
>>44
アセットを買えばいいと思うよ
Unityするなら有料アセットは必須だよ
0046名前は開発中のものです。2014/08/08(金) 20:57:22.75ID:O3Lx63Sj
プログラミング自体初心者なんですが
Vector3やTransformという型で変数を宣言するというのが何をやっているのかわかりません。
変数の型と言ったら扱える数値の範囲を決めるものじゃないのでしょうか?

あとシンプルなシューティングゲームのサンプル(三角関数で弾を飛ばしているもの)
があれば教えていただけると助かります。
0047名前は開発中のものです。2014/08/08(金) 21:08:03.88ID:6wnNi3Hy
Vector3やTransformはクラスだ。
構造体に関数までくっついたデータのカタマリ。
Vector3はC#では構造体なんだけどC#の構造体は
関数までもてるので実際にはほぼクラスだ。もちろん違いはある。

三角関数かどうかは知らんけど公式のチュートリアルとかあるから
それ見れば?
ttp://japan.unity3d.com/developer/document/tutorial/
0048名前は開発中のものです。2014/08/08(金) 21:10:21.49ID:SKZk81RT
>>47
構造体とは?
0049名前は開発中のものです。2014/08/08(金) 21:16:56.38ID:6wnNi3Hy
構造体は基本的にはデータのセットだ。
通常はstruct{}とかで定義する。
言語の仕様レベルの話だから覚えるしかない。
つーかそれはUnityの話じゃなくて完全にプログラム言語の話だからな〜。
0050名前は開発中のものです。2014/08/08(金) 21:42:45.09ID:Tp06U4X2
さすがにc#かjavascriptの基礎やってから
出直してこいと思う
0051名前は開発中のものです。2014/08/08(金) 21:44:40.60ID:3EgfP/Rz
メカニムで両手の指の設定したらキャラクターがTポーズじゃないって赤いエラーが出るんだけど、
これって各指にウェイト設定してないとこのエラーが出るの?

今はHandの部分で手全体のウェイトつけてるんだけど、
Handのウェイトは手首だけにして、
手のひら以降を各指に各ウェイトを割り当てていかないとダメですか?
0052名前は開発中のものです。2014/08/08(金) 22:37:05.38ID:O5EdDSVN
>>51
指のウェイトは関係ないです。モデルのデフォルトのポーズがT字と違いすぎるといってる
Configure中のMappingタブの下方にあるPoseドロップダウンからEnforce T-Poseを選択すれば解消すると思う

ただ、最初からモデルデータのポーズをT字にした方がより自然な感じになるかと
0053名前は開発中のものです。2014/08/08(金) 22:40:03.98ID:8s7H+l7K
やりたい事がクラスと構造体どっちでも出来る場合
どっち使えばいいのか分からない
違いってプリミティブ型かオブジェクト型かくらいじゃないんですか?
0054462014/08/08(金) 22:45:15.67ID:O3Lx63Sj
>>47 返信ありがとうございます。

private var target : GameObject;
function Awake () {
 target = GameObject.Find("PlayerShip");
}
function Update () {
 target.transform.position.x += 0.01;
}

サンプルのAngryBotの見よう見まねでこういう事をやっていたのですが
つまりこれはGameObjectクラスのインスタンスを作って
そのインスタンスにPlayerShipのコンポーネントの参照の情報を渡してるから
target.transform.position.x += 0.01;とすると
PlayerShipのtransformのxが変わるという認識で正しいでしょうか?
0055名前は開発中のものです。2014/08/08(金) 23:05:45.78ID:Kp7m0/x0
どっちでもいいんじゃね
俺全部クラスだし
0056名前は開発中のものです。2014/08/08(金) 23:27:58.99ID:Eh9fBFL5
>>54
アセットをかえば動きますよ
0057名前は開発中のものです。2014/08/09(土) 01:56:54.04ID:K33+rn31
>>54
正しい、と思うがそのやり方はJSじゃないと出来ないので
俺にはよくわからないのだったw

>>53
こんな記事はある
ttp://gamesonytablet.blogspot.jp/2012/12/unity_27.html
0058名前は開発中のものです。2014/08/09(土) 03:54:14.01ID:llkL9Nl4
>>52
それがT Pose自体はかなりちゃんと作ってるんですよね、指の部分も
Enforce T-Poseを押すとエラーは消えるんですけど、もっと変なことになっちゃう

わかりやすく画像にしてみました
http://s1.gazo.cc/up/95194.jpg
0059名前は開発中のものです。2014/08/09(土) 06:20:22.21ID:zUjimhPq
C#で親prefabの名前を取得する方法ってありますか?
0060名前は開発中のものです。2014/08/09(土) 06:34:26.40ID:Vs1corYC
gameObject.transform.parent.gameObject.name
ファッ?
0061名前は開発中のものです。2014/08/09(土) 07:29:37.66ID:zUjimhPq
>>60
あざっす!
0062名前は開発中のものです。2014/08/09(土) 09:00:33.81ID:g3yVka85
>>58
自分もそうなったことあるわー、何なんだろうね?
公式でもさっさと設定してる動画ばっかだし。
mecanim は色々と謎が多い。
結局理由が解らずに書き出しが側のソフトの問題なんかもと思ったが。
0063名前は開発中のものです。2014/08/09(土) 10:13:17.44ID:70Hb6Pn/
>>54

型(キャスト)が無意識で認識できてたら問題ないけど
習い始めは自分の為にvarは使わない方が良いと思うよ
0064名前は開発中のものです。2014/08/09(土) 11:04:02.16ID:Zk0DrpZr
>>58
LeftHandのMappingで手の甲の部分も割り当ててるけどそれがいらない。指の根元からでいい

人差し指ならIndex Proximalに対してあなたのモデルで言うところのindex_L.2を割り当てる
0065名前は開発中のものです。2014/08/09(土) 11:11:49.01ID:93NHprCy
>>58
アセットを買えば解決すると思うよ
0066名前は開発中のものです。2014/08/09(土) 11:15:38.89ID:XNLnybXW
>>63
private var target : GameObject;

これJSの型宣言だから…
0067名前は開発中のものです。2014/08/09(土) 11:17:52.42ID:yQVi4X7w
へーJSってvarだけなのか
0068名前は開発中のものです。2014/08/09(土) 11:42:24.88ID:uXOKd1Gp
JSでプレイヤーの方向に毎フレーム動かしたいのですが

private var player : Transform;
private var angle : float;
private var pos : Vector3;

function Awake () {
player = GameObject.Find("PlayerShip").transform;
}

function Update () {
pos = player.position-transform.position;
angle = Mathf.Atan2(pos.y, pos.x) * Mathf.Rad2Deg;
transform.position.x += Mathf.Cos(angle) * 0.01;
transform.position.y += Mathf.Sin(angle) * 0.01;
}

これでプレイヤーキャラが止まっている時はちゃんと追尾してくれるんですが
プレイヤーキャラが動くと、その場でクルクル回転しているような動きになります。
原因わかる方いらっしゃいませんか?RigidBodyは使用してません。
プレイヤーキャラはUpdate内でGetAxisを使って座標を変えています。
0069名前は開発中のものです。2014/08/09(土) 11:46:24.08ID:0mCWqMYZ
>>67
コロンの後ろに型が来る、PASCALとかもそう
0070名前は開発中のものです。2014/08/09(土) 12:01:15.24ID:70Hb6Pn/
>>66

jsの型宣言ってそんなのか・・・すまんす
0071682014/08/09(土) 12:18:03.36ID:uXOKd1Gp
自己解決しました。
* Mathf.Rad2Degが不要だっただけです。
0072名前は開発中のものです。2014/08/09(土) 13:18:39.32ID:llkL9Nl4
>>62
>>64
やってみました、エラーは消えたんですけど、手と指が動かないですね
ちゃんと動く他のモデルとの比較画像を作ってみました…

http://s1.gazo.cc/up/95224.jpg
0073名前は開発中のものです。2014/08/09(土) 13:43:24.51ID:yQHV0+G8
ちゃんと動くモデルのボーンを移植しよう!
0074名前は開発中のものです。2014/08/09(土) 13:55:20.66ID:Zk0DrpZr
>>72
まずあなたのモデルのhandの位置がおかしいと思うんだが
BlenderならRigifyの構成を参考にしてみた方が良いよ
0075名前は開発中のものです。2014/08/09(土) 14:03:40.37ID:AmSQleH1
railsのhamlの中のjavascriptラベル内でrubyのarrayをjavascript側に渡す方法ってありますか?
0076名前は開発中のものです。2014/08/09(土) 14:40:40.55ID:llkL9Nl4
>>74
たしかにRigifyモデルのとはちょっと位置が違いますね

というか指と手を動かすアニメーションはさっきの「ちゃんと動くモデル」で作ってるんですが
ボーン構造が違うから手が動かないのかなと思ったりもします
「ちゃんと動くモデル」はそもそもhand(手首)がなくて前腕の部分をhandとして使ってる?感じなので
0077名前は開発中のものです。2014/08/09(土) 14:50:24.51ID:r4tqfzdT
質問
0078名前は開発中のものです。2014/08/09(土) 14:55:16.46ID:r4tqfzdT
質問です。3Dキャラクターが動くゲームを作っています。
3Dモデルにカプセルコライダーをつけるとゲーム開始開始早々、倒れてしまいます。
当たり判定がカプセル状なので、つるっと倒れてしまうのは理屈的に理解できるのですが、
Unityちゃんのサンプルコード(locomotion)ではカプセルコライダーでも倒れず動きます。
何故、Unityちゃんは倒れないのかご教授いただけると幸いです。
0079名前は開発中のものです。2014/08/09(土) 14:57:07.58ID:VB25/h9F
>>78
アセットをかうほうがいいでしょう
0080名前は開発中のものです。2014/08/09(土) 14:58:35.29ID:gtmR0qNQ
>>78
rigidbodyのコンポーネントに回転や移動を制限するチェックボックスがある
0081782014/08/09(土) 15:22:26.62ID:r4tqfzdT
>>79
たしかにアセット買うのが一番手っ取り早いですね。

>>80
なるほど!!このチェックボックスで解決できました!
大感謝です!
0082名前は開発中のものです。2014/08/09(土) 16:30:33.13ID:EWCn+WWB
今セールしてるNoesisGUIがすげー気になる・・・
誰か使ってる猛者居る?
NGUIより使い勝手良いのかな。
0083名前は開発中のものです。2014/08/09(土) 16:43:15.78ID:EWCn+WWB
買ってしまった早漏
0084名前は開発中のものです。2014/08/09(土) 17:17:10.24ID:VB25/h9F
>>82
いいですよ!アセットは買いましょう
0085名前は開発中のものです。2014/08/09(土) 18:02:15.86ID:SoCSX999
>>76
手・指以外はちゃんと動かせるなら関係ないかもしれないけど、
俺が似たような感じで上手く行かなかった時は、メッシュをボーンの子に設定してから、
エクスポートしたらうまく行った。

だから、もしかするとBlenderの方でメッシュをボーンの子にするとうまくいくかも
0086名前は開発中のものです。2014/08/09(土) 18:36:50.14ID:9F0beE9s
アップルストアの進撃の巨人アプリがこのUNityというツール製みたいなんだけどこれって凄い方?俺でも1、2年で作れるレベル?ちなみにプラグラムは少しかじってて数学は得意だし偏差値高めの学校なんだけど?
0087名前は開発中のものです。2014/08/09(土) 18:38:00.20ID:Vs1corYC
>>86
プラグラミンしてみれば?
0088名前は開発中のものです。2014/08/09(土) 18:39:18.51ID:3Q2CSQig
なんでUnity製のスマホアプリって2Dばっかりなんですか?
難易度の差というわけでもないだろうし、容量の関係?
容量も変わるのか??
0089名前は開発中のものです。2014/08/09(土) 19:30:55.17ID:VB25/h9F
>>86
アセットをかえば簡単につくれますよ
0090名前は開発中のものです。2014/08/09(土) 19:45:50.51ID:0mCWqMYZ
>>88
はなから2Dしか作る気ない会社がマルチプラットフォームにつられて大量にUnityで参入しただけ
0091名前は開発中のものです。2014/08/09(土) 20:31:35.21ID:yQVi4X7w
スマホで3Dゲーする気にならんから2D
0092名前は開発中のものです。2014/08/10(日) 04:04:28.77ID:xf4oe2rb
Editor拡張の勉強をしてるんですが、コライダの設定みたいに、Sceneウィンドウからマウスでいじって設定するとか、インスペクターから設定された内部的な値を視覚的に表示したりする機能ってあるんですか?

標準のEditorファイルが見れればいいんだけれども…
0093名前は開発中のものです。2014/08/10(日) 04:11:30.29ID:xf4oe2rb
あっ自己解決しました
ttp://www.slideshare.net/mobile/lucifuges/extending-the-unity-editor
0094名前は開発中のものです。2014/08/10(日) 16:03:30.82ID:/1lNj4Ph
質問です。
SetActive(false)しても、オブジェクトがすぐに非表示にならずに
非表示になるまで若干のタイムラグがあります。

Editorからのテスト実行ではすぐに切り替わるのですが、
Build&Runでは上記の現象が発生します。

消したいオブジェクトは画面を覆っているようなオブジェクトで、
すぐに消えない場合、見せたい処理がそのオブジェクトの後ろで
動いてしまうため、困っています。

何かしら上記の現象について、情報をお持ちの方、ご教示願えますでしょうか。
0095942014/08/10(日) 16:09:00.79ID:/1lNj4Ph
追記です。
SetActive(false)した後、activeSelfがfalseになっているのをログに出して確認しています。
現象としては、Active状態が反映されるまでにラグがあるのではなく、
そのオブジェクトに対応させているSpriteが消えるまでにラグがある状況です。
(動作としては非アクティブになっているけれど、絵だけが残っている)
0096名前は開発中のものです。2014/08/10(日) 16:37:06.18ID:xJbmCP9d
>>95
アセットをかえば解決しますよ
0097名前は開発中のものです。2014/08/10(日) 18:02:12.27ID:oSNaCid2
コルーチンはUpdate関数を自分で作って挿入できるって思ってたんですけど
結局IEnamuratorの中でfor文なりで処理をぶん回さないとループしないんですかね?
0098名前は開発中のものです。2014/08/10(日) 18:45:58.24ID:xJbmCP9d
>>97
アセットを買ったらいいと思いますよ
0099名前は開発中のものです。2014/08/10(日) 21:59:48.09ID:8YC6Iiec
>>90
マルチプラットフォームで動くのは大きいよな。

とりあえずUnityで作っておけば、
iPhone、Android、Vitaで動くし、
PS4、Xboxにも対応できる。
0100名前は開発中のものです。2014/08/11(月) 11:51:07.36ID:wAID9VKq
JavaScriptでFilled SpriteのFillAmountを変更するやり方を教えてください。
0101名前は開発中のものです。2014/08/11(月) 12:19:16.41ID:SfNL2n5o
>>100
アセットをかえばできると思いますよ
0102名前は開発中のものです。2014/08/11(月) 12:20:55.09ID:rMTIN++Y
次スレいらないな
0103名前は開発中のものです。2014/08/11(月) 13:54:38.82ID:KOwy+XBs
>>97
言っている意味がよくわからないが
Update関数的にコルーチンを回したいなら
forなりwhileなりのなかにyieldを入れておけばいい。
それなしに自動でまわってくれるものではない。

ttp://docs-jp.unity3d.com/Documentation/Manual/ExecutionOrder.html
ttp://docs.unity3d.com/Manual/ExecutionOrder.html

日本語のほうは法線コルーチンとか意味不明な訳になっているが
Normal coroutineなので通常コルーチンのアップデートは、だろう。
0104名前は開発中のものです。2014/08/11(月) 15:45:34.08ID:5NOIR4uT
ちょっと前に glass brain っていう脳の働きを可視化したものがあって、
可視化部分はたしか unity で作ってたんだけど、動画を見て構成ってピンとくる?

自分が作るものはジャンルが違うが、出来がいいので参考にしたい。
適当なサンプルなら、どう作ればいいかイメージできるんだが、新米過ぎて助けがほしい。
一応、動画はこれ
ttp://youtu.be/dAIQeTeMJ-I
0105名前は開発中のものです。2014/08/11(月) 16:09:16.79ID:SfNL2n5o
>>104
これはアセットをかえばできますよ
0106名前は開発中のものです。2014/08/11(月) 16:20:33.58ID:5NOIR4uT
>>105
お疲れ様です。
0107名前は開発中のものです。2014/08/11(月) 16:58:05.52ID:KOwy+XBs
>>104
ラインをどうしてるのかだよなぁ。
オブジェクト生成してパーティクルで尾をひかせりゃいいんだけど
Unity自体にはスプラインを読み込んだりする機能ないので。
スプライン読み込んでそれにそってオブジェクト動かすアセットあったり
あるいは自作したりすれば面倒そうなのはそこだけっぽくはある。
この手の研究したりしてる人にしてみれば大したことでもないんだろう。
スプラインの数式なんてそんな面倒なものでもないので。
あとかなりよってもガクガクしてないあたりテッセレーションつかってんのかな〜。
0108名前は開発中のものです。2014/08/11(月) 22:10:16.19ID:5NOIR4uT
>>107
ふむふむ。ありがたい。

勉強せねば、だな。
0109名前は開発中のものです。2014/08/11(月) 22:47:59.74ID:SfNL2n5o
>>108
アセットをかえば勉強しなくてもいけるんじゃないかな
0110名前は開発中のものです。2014/08/11(月) 23:50:51.87ID:De+ltTAv
Resourceフォルダ内のリソース(*.pngとか)って
exe作ると勝手に暗号化してもらえるの?
0111名前は開発中のものです。2014/08/12(火) 00:13:30.14ID:rmG3zCsk
されない。
Resourcesの中でまとめられるだけ。
中身はヒラ。
アセットストアでencryptで検索すれば
いくつか暗号化用のアセットはある。
タダのはない。
どれくらい使えるかは知らん
0112名前は開発中のものです。2014/08/12(火) 00:34:14.01ID:uKI4e9+0
空のオブジェクトに内包したプレハブからメッシュの描画だけさせたいんだけどメッシュの描画だけ拾う方法ってある?
何でもかんでも足していくUnityのスタイルに混乱してる
0113名前は開発中のものです。2014/08/12(火) 00:47:36.10ID:rmG3zCsk
正直何を言っているかわからねぇが察するに
メッシュをレンダリングしてテクスチャー化したいんだろうが
残念ながらその機能はプロ版じゃないと使えない
ttp://docs.unity3d.com/ScriptReference/Camera-targetTexture.html
0114名前は開発中のものです。2014/08/12(火) 02:06:09.51ID:57jIUKmh
>>110
アセットをかえばしてもらえると思いますよ
0115名前は開発中のものです。2014/08/12(火) 03:15:13.88ID:Dx82jYpU
???内包した、プレファブのMeshれんだーをonにするとかいう話じゃなくて?
0116名前は開発中のものです。2014/08/12(火) 04:42:32.10ID:5g/vpDNd
Shaderいぢって、ワイヤーフレームで表示したいだけの話かとおもってたわ
0117名前は開発中のものです。2014/08/12(火) 06:54:43.72ID:rHjraZQa
バグが見つけづらいから初心者はコルーチン使うな!って本当?
0118名前は開発中のものです。2014/08/12(火) 08:48:20.69ID:V4aHliwH
コルーチンって何?
0119名前は開発中のものです。2014/08/12(火) 09:01:49.68ID:8Z1J3+B0
無理して使わなくてもいいんじゃねとは思う
0120名前は開発中のものです。2014/08/12(火) 12:26:35.83ID:0LOIS9E4
>>118

パンツ脱いでみろよ!
ぶら下がってるだろ?
0121名前は開発中のものです。2014/08/12(火) 12:42:26.15ID:T4Hp2jlK
>>120
毛饅頭しかないです
0122名前は開発中のものです。2014/08/12(火) 13:33:41.68ID:tdn2e8uC
>>117
アセットを買って使うと簡単ですよ
0123名前は開発中のものです。2014/08/12(火) 13:58:17.94ID:0LOIS9E4
>>121

はっ、♀かぁぁぁぁぁぁぁぁぁぁ!!!!!!
オレがパンツ下ろそう...
0124名前は開発中のものです。2014/08/12(火) 14:02:59.22ID:T4Hp2jlK
>>123
かんべんしてくだちい
コミュ症なんで男も女も勘弁プリーズですわ
0125名前は開発中のものです。2014/08/12(火) 14:34:11.93ID:pSzxsXwA
なら一人でGoogle先生にでもお伺いたててろよ
こるーちんてなんですかぁって
コミュ障相手でも仕事してくれるぞ
0126名前は開発中のものです。2014/08/12(火) 17:45:14.08ID:hfGEMMly
あるGameObjectに複数のColliderをアタッチしています。
それで、OnCllisionEnterが呼ばれた時に、自分の中のどのColliderが反応したのか
調べる方法ってありますか?
例えば、人間オブジェクトの頭部・胴体・腕部とかに別々のColliderを使って、
ヘッドショットとか判定したいんですけども・・・
0127名前は開発中のものです。2014/08/12(火) 18:06:08.50ID:tdn2e8uC
>>126
アセットをかうと簡単にできますよ
0128名前は開発中のものです。2014/08/12(火) 19:03:31.12ID:BQKIiDR9
>>126
人間ならボーンが入ってるよな?
なら各部のボーンにそれぞれColliderをアタッチすれば
OnCllisionEnterで取得できるColliderのnameはアタッチされたボーンの名前になってるから
それでどこに当たったか判別すればいい
0129名前は開発中のものです。2014/08/12(火) 19:45:39.83ID:a3mLM9hl
真の硬派保守系初心者たるもの
コルーチンやスレッド、デリゲートは使ってはいけません。
またラムダ式や型推論はおろかクラスや構造体も初心者が使うなど言語道断です。
0130名前は開発中のものです。2014/08/12(火) 20:17:07.05ID:UhZWnsXz
>>126
Colliderごとに、スクリプトかいて、フラグで判定しようかと思ってたけど、>>128をみて間違えであることに気付かされた…
0131名前は開発中のものです。2014/08/12(火) 20:25:27.76ID:tdn2e8uC
>>129
初心者はアセットをかえばいいと思いますよ
0132名前は開発中のものです。2014/08/12(火) 22:09:20.03ID:uKI4e9+0
>>113
すまん自分の説明が悪かった
>>115 が言うように、プレハブとかに内包してあるメッシュを描画させたいってことだったんだ
0133名前は開発中のものです。2014/08/13(水) 03:33:24.10ID:BhP2A2nW
http://japan.unity3d.com/developer/document/tutorial/2d-shooting-game/mobile/04.html
なーこのバーチャルジョイスティックをつけるやつ
このとおりにやってもパッドが表示されへんのやけど
どうすればええねん?

「AssetStoreにあるアセットを仕様しているのでプロジェクトのダウンロードはありません」
とあるので完成版もなくて確認できへんのよ
0134名前は開発中のものです。2014/08/13(水) 09:02:42.08ID:E37t91Ck
>>133
アセットをかえばいいとおおもうよ
0135名前は開発中のものです。2014/08/13(水) 11:38:57.87ID:BhP2A2nW
ちゃんとそのページに載ってるアセットを買っていれてるねんよ
0136名前は開発中のものです。2014/08/13(水) 12:42:55.41ID:z/cJayoh
Mecanimを使ってアニメーションさせているのですが、アニメーションAからアニメーションBに遷移中にアニメーションCに遷移させる際にアニメーションAからアニメーションBへの遷移を中断させる方法はあるのでしょうか?
ユニティちゃんのコード見た感じ遷移中は他アニメに移行しないよう制御しているようなのですがそれが一般的な方法なのでしょうか?
01371262014/08/13(水) 13:08:47.96ID:x2OTd4LY
>>128
あざます。
自分がどこを撃たれたのかっていう判定を
敵キャラにアタッチした1つのスクリプト内で完結させたいなあと
考えていたのですが…うーん、意外にめんどい…
0138名前は開発中のものです。2014/08/13(水) 14:54:31.58ID:aaRkIs3i
rigidbodyの物理演算を用いずに壁にあたったらキャラが止まる処理を作りたくて
if(other.gameObject.tag == "Wall"){
transform.position.z -= movedZ;
transform.position.x -= movedX;
}
OnTriggerEnter()に壁にあたっていたら移動した分、座標を戻す処理を書きました。
結果としてちゃんとぶつかった時にぶつかる前の座標に戻ったんですが、最初に壁にあたった時しか実行されませんでした。
それでStayにも同じ処理を書いたのですがStayが毎フレーム呼び出されなくて、ぶつかり続けると少しずつ壁をすり抜けようとしてしまいます。

このあたりの仕様はどうなってるんでしょうか?
また、キャラが移動して壁に当たったら止まるコードのサンプルがあれば教えて頂きたいです。
0139名前は開発中のものです。2014/08/13(水) 16:30:27.79ID:W13qzhiV
>>138
この辺
ttp://docs.unity3d.com/Manual/ExecutionOrder.html

Update()で移動してたらOnTriggerで戻しても
その直後のUpdate()でまためり込む。
物理使いたくないとかいってもOnTrigger使ってる時点で
物理演算使っているので動作は全てFixedUpdate()でやるべき。

>>136
Transitionのanimatorのatomicのチェックボックスるをはずせば
同位のトランジションに対しては途中から切り替え可だと思う。

>>132
空のGameObjectにMeshFilterとMeshRendererコンポーネントを追加して
Prefabをロードした上でそのMeshをMeshFilterに、
そのMaterialをMeshRendererに送ってやればいいんじゃね?
0140名前は開発中のものです。2014/08/13(水) 16:30:51.26ID:aaRkIs3i
自己解決しました。

衝突とか物理演算に関わる場合は移動の処理もFixedUpdate()に書かないとダメなんですね・・・
あるサイトの"フレームの進行と物理シミュレーターの進行はそれぞれ独立している"
という一文で気づきました・・・
道理で時々フレーム落ちするような感じでStayが呼ばれなかったんですね。
0141名前は開発中のものです。2014/08/13(水) 16:55:31.12ID:aaRkIs3i
>>139
ありがとうございます、とてもわかりやすいのでブクマしました。
当たり判定取ってるだけだから物理というより数学じゃない?って思ってましたけど
rigidbody使ってる時点で物理エンジンを使ってるという所に気づくべきでした。
0142名前は開発中のものです。2014/08/13(水) 17:04:49.62ID:M12iy21k
>>136
>>139に付け加えて言うと切り替えられるトランジションには優先順位がある
アニメーションクリップのInspecterにあるトランジションの一覧でドラッグすれば入れ替えられる
優先順位は上にあるほど高く 下にあるトランジションを再生中により上のトランジションの再生条件が満たされたらそちらに切り替わる
0143名前は開発中のものです。2014/08/13(水) 17:15:10.28ID:M12iy21k
>>137
http://bribser.co.jp/blog/get-collision-of-child-object-with-unity/
これとかいいんじゃない?

ボーン構造は複数階層あるから
parent = gameObject.transform.parent.gameObject; は
parent = gameObject.transform.root.gameObject;
にするかInspectorで親を指定してやるようにするといいかも
0144名前は開発中のものです。2014/08/13(水) 17:55:36.52ID:aaRkIs3i
連投で申し訳ないですがColliderを好きなタイミングで衝突の判定をさせることは出来ますか?
坂道の判定を実装したいのですが、
キャラの移動時に地形と衝突している場合、キャラを少し上に動かした所でキャラが地形と衝突していなければ
上り坂として判定してキャラを上に動かした後、地形に着地するまで下に動かすといった事をやりたいです。
■ このスレッドは過去ログ倉庫に格納されています