Akeytsu 1.0.0.0 Metasequoia 4.5.9
以下の設定で出力するとダメみたい。
解決策
「分岐ノードの挿入:分岐ごとに配置」以外にする
Akeytsu 1.0.0.0 Metasequoia 4.5.9
以下の設定で出力するとダメみたい。
「分岐ノードの挿入:分岐ごとに配置」以外にする
MMD→MMD4Mecanimでfbx変換→Akeytsuでモーション作成
みたいなことをしようとした。
普通にAkeytsuに取り込めた。が「Mirror Selected」が使えない。 これがないと、左右対称のモーションを作るときに面倒
ちなみにモデルはこちらを使用しています。ありがとうございます。 bowlroll.net
ボーンの名前がダメらしいです。ピリオドか数字か何がわるいか知りませんが、先頭の数字+ピリオドを消して、半角英文字のみにしたらなおりました
脚のボーン名のみ変更して実行した結果。脚は動くがほかは動かない
【2018/04/07追記】 ※この方法、OverrapSphereの半径分だけ、空中で判定されちゃうんですよね。 なので、着地判定時にモーション再生するときに、空中で着地してるように見えてしまいますね。 ダメですねこれ
↓このクソみたいな発想後に考えたまともな接触判定方法
Unity 簡単な地面との接触判定 - gologiusの巣
CapsuleColliderの足元でPhysics.OverlapSphere()を使用する→Sphere内のオブジェクトを走査→中に無機物があれば地面に接触している
実行結果はこちら。注意点としては、使用するCapsuleCollider自体の接触判定が常にあります。
Unityで,プレイヤーを追跡するカメラスクリプトを作成していました.
まぁやっている方はたくさんおられるので説明は略しますが...
で,ゆっくり追従(追尾、補間)するカメラをつくろうとしたら,カメラがガタついてしまいます.
Vector3.Lerp や Vector3.SmoothDampでの補間を利用したものです↓
ちなみに僕は Vector3.SmoothDampでやっています.Lerpよりガタつきが減ったように見えたので.
調べたところ,物理演算とゲームループが同期できていない?(Unity カメラ がたつく,等で調べてください)のが原因の一つかもしれないことが判明.
【2017/10/15追記】Rigidbodyがついているオブジェクト を追跡する際に発生する問題っぽい?
処理をFixedUpdate()がLateUpdate()に移植する。
どちらが良いかは不明。 RigidbodyをもつObjectを追跡するときはFixedUpdate()がよいのか?
やってみて治ればバンザイ(∩´∀`)∩
ふと,処理速度が速すぎて,追跡しきれてないのでは?と思いFPSを見てみたら300FPSとか普通に出てました.
とりあえずFPS落としてみるかと思い↓等を参考にエディタ上やスクリプト上で落としてみました.
Unityゲーム開発所 - UnityでFPSを設定する方法
…FPS落ちない.上記リンク先によるとビルド後でないと反映されないみたいです.
結局ビルドしてみたらがたつきは治りました.
前もビルドしたら治った案件があったので,一回ビルドして確かめるのもいいかも.
RigidbodyのInterpolateがNoneの場合とそれ以外(Interpolate,Extrapolate)とでがたつきが変わる。Noneにすれば治る場合がある
追跡対象のGameObjectの移動が、カメラ追跡スクリプトの実行順より遅い場合、
・ カメラスクリプトで追跡→GameObjectが移動
となるので、ガタつく?
前はFPSを弄ったら治ったし、今やってる案件ではFixedUpdate()に放り込んだら治った。よくわからない。以上。
デフォルトだとParticleが常にカメラの方向に向く。
煙とかならよいが、壁のエフェクトを出したい、となると困る。実際困っている方がおられた。
[Unity] 頂点カラーを利用して平面メッシュをテクスチャアニメーションさせる - Qiita
「Render Alignment」を「Local」にしましょう(Unity環境は Version 2017.1.1f1)。 たぶん古いバージョンだと「Billboard Alignment」を弄ればよいと思われます。
SphereCastやらRaycastやら調べたら色々ありました。
しかし私は新しくLayerを作るのが気に入らなかった。
Rigidbodyがアタッチされているなら、速度のy要素が(ほぼ)0になったとき、でよいのではなかろうか???
bool isGround = Mathf.Abs(rbody.velocity.y) < 0.001f ? true : false;
y要素が
となる。
これでよくね?
ずっと平面なら別にいいんだけど、坂道があったらこの前提は崩壊します。
素直にSphereCastとか使いましょうね
おしまい
Akeytsuで作成したfbxをUnityでimportした場合、一部の部位が消える場合の対処法です。
Akeytsuでモーション作成
Unityでインポートしたモーション
手がないですね
原因を説明する前に、このモデルの構造をお話しします。 実は、指にボーンは入っておらず、閉じた手(に武器)と開いた手の二種類(×左右の二つ)のモデルがあります。 それをスケールを1や0にすることで、表示非表示を切り替えています。
↓を見ると、閉じた手と重なった手が重なっていることが分かるかと思います。
Unityでインポートして、シーンに配置したときにモデルがやっているポーズ。 Akeytsuで出力したfbxだと、最初に作ったAnimationがデフォルトのポーズになるみたいです。
恐らくですが、デフォルトのモーション(ポーズ)で、スケールを0にしている部位があると、他のモーションで表示させようとすると見えなくなるみたいです。
↓のように、スケールが0の部位(この例だと閉じた手)があるポーズが、デフォルトのポーズだとダメ
Akeytsuで一番初めに作るポーズは、部位を全部Scale=1にしておきましょう。
そもそも、Akeytsuは最初はTポーズのScale=1ですし、Tポーズをとっている方がUnityでのインポート後の後処理が楽です。