トップページgamedev
984コメント389KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2012/04/20(金) 13:11:07.27ID:wu5IoHob
3Dゲームエンジン「Unity」の質問に優しく答えるスレです。

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

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

■本スレ
【3Dゲームエンジン】Unity 13
http://toro.2ch.net/test/read.cgi/gamedev/1334399781/

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

●リンク
・Unity(日本公式サイト)
 http://unity3d.com/japan/

・ユーザーガイド&リファレンス
 http://unity3d.com/support/documentation/
 (日本語訳)
 http://ws.cis.sojo-u.ac.jp/~izumi/Unity_Documentation_jp/Documentation/Manual/
・チュートリアル
 http://unity3d.com/support/resources/tutorials/
・FAQ
 http://answers.unity3d.com/index.html
・Unityのスクリプト公式
http://unity3d.com/support/documentation/ScriptReference/index.html

・MSDN
http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
0054名前は開発中のものです。2012/04/24(火) 19:48:19.54ID:CGjbqOQ2
>>52
プラットフォームチュートリアルで見た記憶がある
ドラム缶の破壊前、破壊後だったはず
0055名前は開発中のものです。2012/04/24(火) 20:14:37.58ID:TFew5eCE
>>54
そういうの本とかでも解説してくれたら良いのにね
0056名前は開発中のものです。2012/04/24(火) 20:19:05.99ID:wq09/RGE
>>51
>>48のレスを見る限り、>>49のレスも不思議だけど、それに納得するのも不思議だ
継承がどうこうじゃなくて、実装手段に問題あると思う
Unity以前の話だけど
0057名前は開発中のものです。2012/04/24(火) 20:42:56.61ID:RgZiVIJi
ついつい手続き型っぽく書いてしまう俺の悪口はやめろ
0058名前は開発中のものです。2012/04/24(火) 20:49:43.11ID:43RQwBN9
>>54
それは公式HPのどっかに載ってたの?
0059名前は開発中のものです。2012/04/24(火) 21:17:10.89ID:wq09/RGE
>>57
あなたはわかってるww
0060名前は開発中のものです。2012/04/24(火) 22:05:50.42ID:kkWoemS1
>>53
なるほど、そういうことだったのね
http://ws.cis.sojo-u.ac.jp/~izumi/Unity_Documentation_jp/Documentation/ScriptReference/index.Writing_Scripts_in_Csharp.html
ここ見る限りすべてのスクリプトはMONOビヘイビアを継承しなきゃいけないみたいだけど
継承しない方法ってあるの?
0061名前は開発中のものです。2012/04/24(火) 22:15:32.80ID:CGjbqOQ2
>>60
JavaScriptは無理かも(まったく使わないのでわからん)
Unityで作るとデフォルトで継承するから(全消ししてもいいけど)
VisualStudio上で新しくクラスを追加すればいい

0062名前は開発中のものです。2012/04/24(火) 22:19:56.54ID:CGjbqOQ2
>>58

見つけたこれだ。
(プラットフォームチュートリアルではなくFPSチュートリアルだった)

FPS Tutorial
http://unity3d.com/support/resources/tutorials/fpstutorial.html

これのFPT_Tutorial 2.pdfの16ページの「Exploding Barrels」に
ミサイルが爆発したらドラム缶をダメージを受けたドラム缶に差し替えましょう
みたいな事が解説されている。
FPSチュートリアルまじお勧め
0063名前は開発中のものです。2012/04/24(火) 22:43:46.04ID:kkWoemS1
>>61
自分もJavaScriptはほとんどやったことないです。
こういうゲームエンジン使うのも初めてなのでちょっと混乱してます

UnityAPIを使うにはUnityEngineのusingディレクティブとMonoBehaviourの継承が必要で
UnityAPIを使わないなら、普段C#でアプリ開発するみたいにVisualStudioで作成できる認識でいいすか?
0064名前は開発中のものです。2012/04/24(火) 22:50:16.98ID:CGjbqOQ2
>>63
そう。原則全部MonoBehaviorを継承
Unityに関係ないクラスなら別に何で作って何を継承してもOK.
0065名前は開発中のものです。2012/04/24(火) 22:59:03.35ID:kkWoemS1
すっきりしました。ありがとうございます。
0066名前は開発中のものです。2012/04/24(火) 23:52:21.45ID:fWDIO+ID
>>62
ぜんぶ英語www
0067名前は開発中のものです。2012/04/25(水) 00:38:37.15ID:VSbEkgaf
プログラム書くのに日本語ドキュメントしか読めません、なんて言わないよね?

カメラについて質問なんだけど後ろや横に壁があるとして、カメラがすり抜けちゃうんだけどみんなはそこんとこどうしてる?
カメラにはリジッドボディ利かないんだよね
0068名前は開発中のものです。2012/04/25(水) 00:51:31.03ID:frEJ5Ytp
>>67
親オブジェクトにRigidbodyを付けて、
カメラをその子オブジェクトにする方法もある。
0069名前は開発中のものです。2012/04/25(水) 01:05:38.52ID:3RowY+TW
>>67
カメラ位置からraycastして反対方向にraycastがhitした位置に変更する
めんどくさい人は3rdPersonShooterのカメラをパクるといいよ
0070名前は開発中のものです。2012/04/25(水) 01:29:03.18ID:Fw2GpKHq
Unity使うのにUnityAPI使わないで、何かいいことあるの?
0071名前は開発中のものです。2012/04/25(水) 01:38:04.10ID:vQH7JCn4
>>67
プログラムはあの黄色い本どおりにやれば打ち込めるんじゃね?英語わからなくても
0072名前は開発中のものです。2012/04/25(水) 02:18:12.56ID:HVIKg1F6
>>70
Unity用のフレームワークを作成して、保守性を上げるため
APIベタ書きで長々と書くより、一行で済ませられる方が楽じゃない?
それにVisualStudioの方がコーディングしやすいしね
0073名前は開発中のものです。2012/04/25(水) 08:45:53.64ID:zMqLQVrI
>>67
Rigidbodyより自分でレイを飛ばして細かく制御する
典型的には今注目している点からカメラの視野のNearクリップの4点に向けてレイを飛ばして
どこか1点でも障害物を検出したらその地点までカメラを近づける

3DBuzzのチュートリアルビデオの11番目からに詳しい解説があるので見ると参考になる
http://www.3dbuzz.com/vbforum/sv_videonav.php?fid=44abc2f38a46af05d36399971cea2f6d

0074名前は開発中のものです。2012/04/25(水) 11:49:56.07ID:pc/pHGRt
FPS Tutorial
http://unity3d.com/support/resources/tutorials/fpstutorial.html

これのFPT_Tutorial 2.pdfの16ページの「Exploding Barrels」に
ミサイルが爆発したらドラム缶をダメージを受けたドラム缶に差し替えましょう
みたいな事が解説されている。
FPSチュートリアルまじお勧め




こういうこと解説してる日本語の本とか出して欲しい。
0075名前は開発中のものです。2012/04/25(水) 11:51:39.73ID:5dGAkig1
だれかAndroid用のPlayerPrefsってどこに保存されてるか知らない?
その気になれば、PCと同じでデータ改ざんとかできちゃうかな
0076名前は開発中のものです。2012/04/25(水) 12:46:35.64ID:Qc7W9QvL
androidもiphoneもroot取られたら、何でもできると思われ。
0077名前は開発中のものです。2012/04/25(水) 12:59:25.52ID:H+99f8zj
>>75
System.IOで好きなように保存すればよい
0078名前は開発中のものです。2012/04/25(水) 13:04:52.23ID:5dGAkig1

>>76-77
やっぱそうなるかー
わっかったありがとう
0079名前は開発中のものです。2012/04/25(水) 13:12:39.53ID:/Z5WcVYB
>>77
Androidの仕様で、とあるアプリがファイルを書き出せる先のディレクトリって、パーミッション的に決められてたような
好きな場所に書き出しは出来ないよな当然
0080名前は開発中のものです。2012/04/25(水) 13:18:16.39ID:gF0wb1xO
グローバル座標のz軸を常に0に固定したいんですがどうやったらできますか?
0081名前は開発中のものです。2012/04/25(水) 13:18:31.82ID:DtWvIV+K
>>70
Unityに関わらないロジック(AIとか、ネットワーク系の処理とか)は、
UnityAPI使わないでもいいのでは?

継承しないことで、抽象度も上がって汎用的になると思うのですが...
0082名前は開発中のものです。2012/04/25(水) 13:23:54.47ID:H+99f8zj
>>80
http://unity3d.com/support/resources/tutorials/2d-gameplay-tutorial
このサンプルで軸ロックとかするコンポーネントあったきがする
参考になるかも
0083名前は開発中のものです。2012/04/25(水) 13:30:32.36ID:/Z5WcVYB
>>80
なんかのオブジェクトの?
どんな状態になるのを回避したいか
もっと具体的に
0084名前は開発中のものです。2012/04/25(水) 13:31:30.99ID:4TQsIO/O
プレイヤーと絡んでくる場所ではunityAPIつかるざるを得ない
自分が使ってないのは構造体んとこくらい
0085名前は開発中のものです。2012/04/25(水) 14:19:16.72ID:/Z5WcVYB
>>70 の質問は大雑把過ぎて、受け取った人によって全然違う観点の答えが返ってくる可能性
どういう場面について、その質問なのかって話。
すぐ上の >>69 の話に対して言ってるとしたら、とんちんかんな話
0086名前は開発中のものです。2012/04/25(水) 14:19:21.82ID:Qc7W9QvL
軸固定はコンストレイントでできる。
0087名前は開発中のものです。2012/04/25(水) 14:54:47.66ID:zMqLQVrI
自分では使ったこと無いけど
http://unity3d.com/support/documentation/Components/class-Rigidbody.html

Constraints Restrictions on the Rigidbody's motion:-
Freeze Position Stops the Rigidbody moving in the world X, Y and Z axes selectively.
Freeze Rotation Stops the Rigidbody rotating around the world X, Y and Z axes selectively.
0088名前は開発中のものです。2012/04/25(水) 15:27:00.08ID:gF0wb1xO
>>82
ありがとう。このサンプル昔からあったっけ?
iphoneのマルチプレイヤーのサンプルまであるじゃないか。

>>83
いや、もう解決した。単純にz軸に変な値が入って増えていってしまってた。
今度はローカル座標のグローバル位置の制限をしなくてはいけなくなって困ってるw

>>86
>>87
リジッドボディ>フリーズだね。
でもこれ効かなかったわ。
問題ないので毎フレーム指定して補正してるが。
0089名前は開発中のものです。2012/04/25(水) 15:30:38.39ID:bLg81VCW
    ∧,_∧          ∧,_∧
    (`・ω・´)         (`・ω・´) 
   /    \   ペチチチ /    \   ペチチチ 
   レ'\  γ∩ミ.     レ'\  γ∩ミ. 
      > ⊂:: ::⊃))       > ⊂:: ::⊃))
     /  乂∪彡      /  乂∪彡
0090名前は開発中のものです。2012/04/25(水) 16:38:35.85ID:vi8m0zeG
デバッグ時に手作業でマップを作成するのは時間が掛かるのでプログラミングコードで生成したいのですが
そういうことはできますか?
もしくは実行時の状態を保存してそれに対して編集できるようにできないものでしょうか?
0091名前は開発中のものです。2012/04/25(水) 17:07:24.36ID:Fw2GpKHq
霧ってどうやって表現すんだ?

プレイヤーの周りに球体作って霧のマテリアルつけりゃいいと思ってたが
なんか違和感がある、自然な感じの霧を出したい
0092名前は開発中のものです。2012/04/25(水) 17:21:43.45ID:5dGAkig1
>>91
パーティクルじゃ駄目なの?
0093名前は開発中のものです。2012/04/25(水) 17:26:29.55ID:bLg81VCW
     ./   / /'  ̄ ̄\i|/ ,/´
~~\ /   /ノ /    ミ  `ヽ~
  `r{   / ミ /   ,、 ,≡≡, ,,ヽ
    `ヽ、{  ミl    ヽ,,':-…-〜' ).|
    ノ i  ,,,,i      `'``',三,,,'`~ ヽ、
   { ':': l {: : }  ,    `'~~(~~'}   ヽヽ
    ) :':イ`iヽ: :iヾ:´    丶 ; | ,,  ト:}    逆に考えるんだ
   ):':':':':|'人 }: :i    ,ニ、ヽ, ; |丶ニ .ヽ)
  く ':':':':':i.V'人ト  ぇ,-Fテ`,/}}}`f士 ,|´,,_
  /':':':':':';='ミ\‐-ニ,, ̄-<´{~`ヽ-一ミ,_,';';)
 ~くミ川f,ヾヽ ヾ~ヾヽトシヽ| }': ,〈八彡'';')
  >,;;``       ヽ丿川j i川|;  :',7ラ公 ,>了
0094名前は開発中のものです。2012/04/25(水) 18:27:04.08ID:3RowY+TW
>>91
To see the Render Settings choose Edit->Render Settings from the menu bar.
Enabling Fog will give a misty haze to your scene.
0095名前は開発中のものです。2012/04/25(水) 18:27:18.02ID:gF0wb1xO
>>91
unity fog camera light
なんかで検索すると出る。
0096名前は開発中のものです。2012/04/25(水) 18:31:41.41ID:gF0wb1xO
localposition同士の移動制限とかどうしたらいいんだ?
localpositionのアニメーションを制限したい。ムリ?
0097名前は開発中のものです。2012/04/25(水) 19:45:01.86ID:y+uq+pUL
Detonator Explosion Frameworkの
Detonatorを使って爆発をさせているんだけど

Detonatorの爆発によって当たった相手の変数(HPとか)を減らすには
どうしたらいいのか分からん・・・

調べていくとパーティクルとCollisionとの衝突を拾うのは
OnParticleCollisionやWorldParticleCollisionとかがそれっぽいんだが
これじゃぁDetonatorの爆発は俺は拾えなかった
Detonatorはパーティクルに含まれないからか・・・?

整理すると やりたいことは
Detonatorの爆発に干渉した相手にSendMessageなどで動作をさせたいんだ
具体的にいうとDetonatorの爆発を間近で受けた敵はダメージを喰らう
っていう事がやりたい

お願いします
0098名前は開発中のものです。2012/04/25(水) 19:51:38.75ID:gF0wb1xO
>>97
球系のコライダじゃダメか?
パーティクルでないとならない事情があるなしょうがないけど。
0099名前は開発中のものです。2012/04/25(水) 19:51:40.75ID:bLg81VCW
           ____        ) 『 ケツの速さでうんこから光出したらどうなるの?』っと、
        /⌒  ⌒\      ) 
      /( ●)  (●) \    )/⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y丶
     / ::::::⌒(__人__)⌒::::: \
    |      |r┬-|     |
     \       `ー'´     /
     ノ            \
   /´               ヽ                 カ
  |    l   l||l 从人 l||l      l||l 从人 l||l   カ    タ
  ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.     タ
   ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
      ┌┬┬┐┌┬┬┬┐┌┬┬┬┐┌┬┬┬┐
   ,. - ''"| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ρ ̄`l

0100名前は開発中のものです。2012/04/25(水) 20:24:58.97ID:y+uq+pUL
>>98
出来ました ありがとうございます
一応球Collisionもやったつもりだったんですが出来てないまま
飛ばしてたようです
0101名前は開発中のものです。2012/04/25(水) 22:53:14.51ID:Fw2GpKHq
>>94
なんで英語なのかわからんがありがとう
0102名前は開発中のものです。2012/04/26(木) 00:00:07.57ID:c0yjyaiF
レスされない質問は内容が伝わってない、スクショでも撮って聞き直せよ
0103名前は開発中のものです。2012/04/26(木) 00:42:48.02ID:oILniGVh
>>74の16ページの和訳希望
0104名前は開発中のものです。2012/04/26(木) 01:03:55.90ID:7YEO2jc/
糞っ俺に英語かエスペラント語ができれば苦労しないのに!
0105名前は開発中のものです。2012/04/26(木) 01:32:17.60ID:Y38l/gTY
度々質問失礼します
色々調べてはいるつもりなのですが、色々試行錯誤してみたものの衝突判定が上手く行きません JavaScriptです

調べたところ衝突判定には相性があるとかでCollider 同士がダメとかRagidBodyが関係あるとかトリガーが関係あるとか...(以下 衝突判定の相性 と呼びます)

衝突する側 SphereCollider-IsTrigger=off  下記の衝突Scriptをつける
衝突された側 
その1:タグ=BOX BoxCollider-IsTrigger=off RigidBody-IsKinematic=off
その2:タグ=Enemy SphereCollider-IsTrigger=on RigidBody-IsKinematic=on
    Radiusを使って主機が近づくと反応する 探知用Colliderを兼ねた本体です
    カプセルの形をした本体のColliderをSphereColliderにして探知用にしてます
その3:タグ=Player RigidBody-IsKinematic=on CharacterController

衝突Scriptの内容
function OnCollisionEnter(collisionInfo : Collision){
if (collisionInfo.gameObject.tag == "Box"){
collisionInfo.gameObject.SendMessage("ApplyDamage");
print("箱");
}
同様にしてEnemy,Playerも記述
}

現状では Boxタグがついているものにはしっかり衝突判定がされます Boxタグをつけている箱のタグをEnemy,Playerに変えると正常に動作するので
問題はここでいう衝突する側と衝突される側の衝突判定の相性(?)が原因だと分かっています

衝突する側・・・爆発イベント
衝突される側・・・ 自機:近くにいると被害 敵:近くにいると死ぬ 箱:ぶっとぶ

”その1”以外の”その2””その3”にも衝突判定をさせるにはどう修正したらいいでしょうか 
わかりにくい点がありましたらレスします

長文失礼しました よろしくお願いします
0106名前は開発中のものです。2012/04/26(木) 03:25:18.23ID:9CZ03IBI
animation.clip.length



animatio.state.length

の違いってわかります?
同じ値が出るんですけど。
0107名前は開発中のものです。2012/04/26(木) 03:28:55.17ID:WWqkM9GO
>>105
敵が地雷踏むゲーム?
衝突する側にもRigidbodyを(Playerの判定させるために)
あと、
>同様にしてEnemy,Playerも記述
が気になった。
Enemyはトリガーが付いてるからOnCollisionEnterじゃなくてOnTriggerEnterでは?
0108名前は開発中のものです。2012/04/26(木) 09:03:23.39ID:Vzm3mGXP
>>106
対象のanimationが同じなら、むしろ同じじゃないの?
片方ReadOnlyだとは思うが、立場が違うオブジェクトだし
0109名前は開発中のものです。2012/04/26(木) 09:09:59.05ID:r5tYGBBU
>>105
相性言うなw
ルールは厳密に決まっているのでこの表見て自分のやりたい事が検出できるか確認しろ
http://unity3d.com/support/documentation/Components/class-SphereCollider.html
あとCharacterControllerは物理演算の結果ではなくスクリプト制御で衝突しているように見えているだけなので一緒に考えたら駄目。
基本的にはis-KinematicなRigidbodyと考えていい。


0110名前は開発中のものです。2012/04/26(木) 09:11:19.10ID:Vzm3mGXP
>>90
デバッグ時にマップを手作業で作成する、って言う状況がよくわからない
それを保存しておく、も。 もしかしてTerrarainでの操作をマクロ化できないか、って話?
0111名前は開発中のものです。2012/04/26(木) 09:39:29.76ID:RP6WfnsV
>>103
入れ替えなら下記のサンプルでもやっている
http://unity3d.com/support/resources/tutorials/3d-platform-game
0112名前は開発中のものです。2012/04/26(木) 09:55:02.94ID:wHOZBIiG
>>110
デバッグ時?デザイン時?作業時?言い方がよくわからないですが
ゲームをしていない作業時に、マクロかプラグインなどで
画像を元に地形や建物を事前に生成して、LightMappingしたいんです
あと、実行時の特定の条件下のテストをしたいときに、
ゲームをして同じ状況を作り出すより、マクロなどで同じ場面を生成できたほうが楽だと思ったので
デバッグ用に別のプロジェクトを作ってやるしかないのかな
0113名前は開発中のものです。2012/04/26(木) 11:55:37.44ID:c0yjyaiF
>>112
マップのスクリプト(マクロ)生成とかの方針は理解できた。
ようはレベルデザインのエディターがほしいってことだね、Assetどっかで見たよ、根気よく探してみ
しかしライトマップベイクは自作する以外不可能に近いな

話は変わるがUnityにはエディタークラスというAPIもあるよ
俺にはまだ使いこなせないので誰か、あとは任せた
0114名前は開発中のものです。2012/04/26(木) 11:59:37.44ID:c0yjyaiF
>>112
http://forum.unity3d.com/threads/65508-Dungeon-Construction-Kit.-Now-on-Unity!
すぐみつかった
0115名前は開発中のものです。2012/04/26(木) 12:01:56.22ID:9CZ03IBI
シレンやF14みたいにするのか。
影をオブジェクトでやればマッピングせずに軽いぞ。
0116名前は開発中のものです。2012/04/26(木) 12:13:36.33ID:1WC00Ipk

味方助けないでずっと回転
わざと味方カットして攻撃当て続ける

ランダム部屋で今日一日でこれだけやってる、ホストは蹴らないからメッセ送ってやっと理解させる
他にいて結構いい感じの通信する二人にメッセで送ったら上記のステゲーも発覚
0117名前は開発中のものです。2012/04/26(木) 13:39:13.51ID:9CZ03IBI
映像が描画されるタイミングってどこになるんだろ?
updateの直後?
0118名前は開発中のものです。2012/04/26(木) 14:11:10.52ID:hUMoWBDN
>>114
それただのダンジョンのランダム生成してくれるAsset入ってるだけじゃね?
0119名前は開発中のものです。2012/04/26(木) 14:16:16.65ID:Nn8gSV3u
みなさんよく言ってらっしゃるアセットストアというのはどういうものが売られてるんでしょうか?
キャラクターの素材とかステージとかそれだけですか?プログラミング言語とかも同梱されてます?
0120名前は開発中のものです。2012/04/26(木) 14:17:52.07ID:TzgQSw81
>>118
それすらなくね?
ただのダンジョンパーツっぽいが
0121名前は開発中のものです。2012/04/26(木) 14:33:13.06ID:b7pUvWNN
DCCツールのソースデータでもないのに
こんなんで75$とか
0122名前は開発中のものです。2012/04/26(木) 14:38:16.30ID:1WC00Ipk
ネット通販では出版元のCutt System様から直販でご購入いただくことが出来るようです。
ttp://www.cutt.co.jp/direct/index.html
同出版社様の書籍がAmazon様などでも販売されているため、
いずれ取り扱われるようになるかなと思っています。

現在、一部書店でテスト販売が行われているとの連絡をいただいています。
ただし、在庫が限られているとのことですので、
お問い合わせなどをして確認していただいた上で、ご購入いただければ幸いです。

ジュンク堂池袋店(テスト販売中)
ttp://www.junkudo.co.jp/tenpo/shop-ikebukuro.html

紀伊国屋本店(テスト販売中)
ttp://www.kinokuniya.co.jp/store/Shinjuku-Main-Store/
0123名前は開発中のものです。2012/04/26(木) 16:00:33.49ID:8y9CYtvW
本スレと違ってすげぇ良スレだな
以前のプログラマが集うスレみたいでいいわぁw
0124名前は開発中のものです。2012/04/26(木) 16:34:22.82ID:9CZ03IBI
モーションの終わりをどうしても検出できない。
仕方なくモーション終わってから1フレーム前の座標を保存したものを使って座標を繋いでるが、1フレームガタつくw
どうすればww
0125名前は開発中のものです。2012/04/26(木) 16:53:39.91ID:c0yjyaiF
>>124
アニメーションをスムーズにつなげる目的ならレイヤーを使えば解決する
ほかはAnimation.IsPlayingで監視するとか
0126名前は開発中のものです。2012/04/26(木) 17:07:59.44ID:9CZ03IBI
>>125
今はモーションの切り替わり後に動かしてるんだけど、それだと切り替わった後のモーションの座標が1フレームだけ再生さえてしまうんだ。

変数A・・・常にモーションの座標を取得
変数B・・・常に変数Aをコピー(1フレーム前の座標を保存)

新しいモーションに切り替わると変数Bを反映する。

これだと新しいモーションの座標で1フレームだけ再生されてしまう。一手遅いんだ。
モーションが切り替わる前に座標を上手く次のモーションの1フレーム目で反映させた上で再生させたい。
ところが、モーションの最終フレームを検出しようとするとnormalizedTimeしかないんだけど、これが最終フレームで上手く1.0にならない。
検出条件を0.95〜0.9にしたけど、これで検出するとまた次のフレームで同じように検出してしまって、以前のモーション座標を二度検出してしまったりしてうまくいかない。
どうしたらいいんだろ?normalizedTimeが正確にモーションの終わりを出してくれればいいんだけど、そういうものってあるかな?
0127名前は開発中のものです。2012/04/26(木) 17:26:23.76ID:1WC00Ipk
 北中丸村┐
  山中村┤
  東間村┤
 北本宿村┤
  深井村┼中丸村┐
  宮内村┤   │
 古市場村┤   │
常光別所村┤   │
 花ノ木村┘   ├ 北本宿村 - 北本町 - 北本市
         │
下石戸上村┐   │
下石戸下村┤   │
 石戸宿村┼石戸村┘
  高尾村┤
  荒井村┘
0128名前は開発中のものです。2012/04/26(木) 17:44:10.83ID:V5QdBfGr
>>126
新しいモーションに切り替えるのをUpdateで行って
>新しいモーションに切り替わると変数Bを反映する。
↑の処理をLateUpdateですると
>これだと新しいモーションの座標で1フレームだけ再生されてしまう。一手遅いんだ。
↑が防げるかも
0129名前は開発中のものです。2012/04/26(木) 18:05:02.72ID:c0yjyaiF
>>126
>検出条件を0.95〜0.9にしたけど、これで検出するとまた次のフレームで同じように検出してしまって
とりあえず検出条件を(AnimationState.time + 1/AnimationClip.frameRate) >= 1.0にしたらどうかな
AnimationClip.frameRateがフレーム数か確かめてないけど意味は解るよね
0130名前は開発中のものです。2012/04/26(木) 18:13:54.64ID:1WC00Ipk
大丈夫です
0131名前は開発中のものです。2012/04/26(木) 18:54:05.96ID:9CZ03IBI
>128
lateupdateの後に次のフレームの描画が始まるのかな?
試してみるよ!

>>129
今それに近いやり方を試してるけど
update上ではstateもズレる。
ノーマライズで似た事をやってるけど
やはりずれてしまう。
四捨五入して精度を高めたり、
アルゴリズムを見直してる。

でもこれって次のモーションの描画前に
座標補正のタイミングを合わせるって話だよな。
よく考えたら…
updateでモーション変わった直後に検出しても既に次のフレームが描画されてるって事は
描画→update→描画
ってなってるってことかな?
描画→update→lateupdate→描画
だから>>128なのかな。
うーむ。
0132名前は開発中のものです。2012/04/26(木) 19:13:58.18ID:Hhbc48LB
だれか>>119の質問に答えてください。
0133名前は開発中のものです。2012/04/26(木) 19:30:24.59ID:VnJ/NVON
>>132
俺はお前の友達でも知り合いでもない。
0134名前は開発中のものです。2012/04/26(木) 19:31:32.14ID:8y9CYtvW
Unityインスコしてアセットにアクセスすりゃいいだけなのになw
0135名前は開発中のものです。2012/04/26(木) 19:50:13.65ID:c0yjyaiF
>>119
Asset storeにはテンプレになりそうなゲームをソースつきで売ってるよ
簡易モデラーもスプラインカーブ生成も人工知能も売ってる
0136名前は開発中のものです。2012/04/26(木) 20:14:04.68ID:r5tYGBBU
>>132
asset storeを自分で覗いてみろとしか。。。
まあ確かに見るだけならWebで見れてもいいかもしれない
要望出してみたら?
0137名前は開発中のものです。2012/04/26(木) 20:19:30.51ID:J2Uhj0YD
ランダムダンジョンジェネレーターとか経路探索とかAIとかのスクリプト欲しいが
自分のゲーム用にカスタマイズできるか不安で手が出せない
0138名前は開発中のものです。2012/04/26(木) 20:24:52.97ID:Vzm3mGXP
>>137
勉強して自分で書いた方がいいぜ
ロジックわかってて省力したいなら、持ってきた方が早いけど
0139>>105の者です2012/04/26(木) 20:55:45.65ID:Y38l/gTY
>>105のものです

>>107様、>>109様 解説&解答ありがと!
お二方のおかげで無事解決することができた

0140名前は開発中のものです。2012/04/26(木) 20:58:07.91ID:1WC00Ipk
どういたしまして〜
0141名前は開発中のものです。2012/04/26(木) 21:43:30.61ID:9CZ03IBI
unityの再生ボタンを押したままfbxをapplyして五分経つのだが。どうしたらいいですかね?
0142名前は開発中のものです。2012/04/26(木) 21:56:58.92ID:wEL4lfcw
>>141
再起動じゃないでしょうか?
もうしてるかもだけど。
0143名前は開発中のものです。2012/04/26(木) 22:20:15.53ID:MV3N0VVf
>>131
何だかわからんがアニメーションWindow開いてモーションの終わりくらいにイベントセットしたら任意のfunction呼べるよ。
インポートして編集できないアニメーションならCtrl(command)+dで複製したら編集できるアニメーションになるよ。

0144名前は開発中のものです。2012/04/26(木) 22:37:09.31ID:9CZ03IBI
>>141
やってみた。何とか動いてるがモデルファイルは全部入れなおした。unityの挙動がおかしい。
みんなも気をつけるんだ。

>>143
ありがとう。どうもonceで読み込んでるモーションが再生されると再生の最後に再生1フレーム目と同じ位置に戻ってしまうのがいけないみたいだ。
処理じたいはキレイなもんだった。なんでこんなことになってるのかわけがわからない。
0145名前は開発中のものです。2012/04/26(木) 22:40:17.23ID:r5tYGBBU
たしか自動で最後のキーフレームの後ろに1フレーム目を追加していたような?
関係無かったらすまん
0146名前は開発中のものです。2012/04/26(木) 22:47:49.35ID:9CZ03IBI
>>145
おお?!?それが怪しそうだ。
調べてみるわ。
0147名前は開発中のものです。2012/04/26(木) 22:59:14.61ID:r5tYGBBU
http://unity3d.com/support/documentation/Manual/Animations.html

loop frame If enabled, an extra loop frame is inserted at the end of the animation. This frame matches the first frame in the clip. Use this if you want to make a looping animation and the first & last frames don't match up exactly.


インポートする時にLoop FrameをONにしたなら最後のフレームの後に第1フレームが追加されてる
これが探している情報かどうかは知らない...
0148名前は開発中のものです。2012/04/26(木) 23:14:59.41ID:9CZ03IBI
>>147
インポート設定はonceです。だがこれだろうな。
0149名前は開発中のものです。2012/04/27(金) 01:27:21.34ID:XY3CPHX8
俺なんて再生ボタン押して1時間後に再生開始とかザラだぜ
前これで再起動したらデータぶっとんでたからもう再起動はしないけどな
0150名前は開発中のものです。2012/04/27(金) 03:06:52.75ID:eIkVaGKW
FBX周りはカオスだな。FBXを作った会社のものとは思えん。
0151名前は開発中のものです。2012/04/27(金) 15:06:30.40ID:LmPKPjY5
3Dの共通フォーマットってそんなもんだろ。なんだかいつも苦労するw
おまじないとしてAutodeskのFBX Converterを通してみると
おかしなデータが直ったりとかもあるよ
0152名前は開発中のものです。2012/04/27(金) 15:53:43.15ID:j9SUDtp7
モバイルでテキストのサイズ指定が出来ないから、
一度PHP通してテキスト→画像にして表示しようと思うんだけど
それ以外に何かいい方法ある?
0153仮臣199 ◆CYR7QIyEoE 2012/04/27(金) 16:09:38.78ID:XXVmdF8L
AndroidならPluginでNativeなモジュールにピクセル情報書き込ませて、UnityレベルでSetPixelsするとかも出来ますよ。
0154名前は開発中のものです。2012/04/27(金) 16:27:04.56ID:j9SUDtp7
>>153
ありがとう。Androidです。
それって大きいサイズにしてもギザギザにならず
うまく表示できるものなのかな?
■ このスレッドは過去ログ倉庫に格納されています