BlackIceCoffeePhenomenon

溶け出す氷によって味が薄くなると併せ、味覚が苦味に慣れていくことで、加速度的に味覚への刺激が減衰する現象に関するブログです。

VRChat向けにunityでスカートっぽいスカートを作る(ClothとColliderのはなし)

http://yananann.hatenadiary.jp/entry/2018/10/08/204438

前回の続き物です。

さぁ出来上がったアバターで歩こう!

見た目は想定通り!いい感じ!

f:id:yananann:20181012212152p:plain

 

しゃがむと残念な姿に

f:id:yananann:20181012212224p:plain

どうみてもコレジャナイ感。スカートとは。

というかこんなに足出しちゃっていいんですか。

 

 

ということで、よくある作業のスカートをスカートっぽくします。

スカートにCloth(布)と足にCollider(衝突判定)をつけます。

 

ファイルの準備

 blenderからエクスポートする際に、スカートと
 それ以外のパーツに分けてエクスポートする
 何も難しいことはしません。各パーツを消してスカートだけにしてください。
 スカートだけを選択し、あとはFBX形式でエクスポートします。
 そして、スカートをはいてないパーツもエクスポートしましょう。 

 

f:id:yananann:20181012212352p:plain

unityでそれ以外のパーツの設定

 目線やリップシンクの設定など済ませちゃいます。
 前回結構ボリュームつけて説明しましたが、あれをやります。

 この段階で穿いてません。なのでアップです。

f:id:yananann:20181012212527p:plain

 

スカートの設定

 ここから本番です。

  1. スカートのfbxファイルをAssetsの中に入れます。
  2. Hierarchyの中に入れて表示させます。必要に応じてマテリアルの設定をします
  3. スカートが追従するボーンの付近に移動します。
    画像の左ペインの選択しているものがそれです。
    このスカートは腰で穿くのでHipの直下に移動しました。
    もしハイウェストなら胸のボーンあたりに置くとよいでしょう

    f:id:yananann:20181012212635p:plain

  4. スカートを選択した状態でAddCompornentを選択しClothを選択します
  5. EditConstraintsを押し固定する範囲を選択します。
    スカートに座標がたくさん出るので、赤丸くらいの範囲を選択し
    Max Distanceを押すとそこで固定されます。
  6. 青丸で囲んだ部分のパラメータを設定します。0-1まで
    Stretching:1に近いほど伸びない
    Bending:1に近いほどぐにゃぐにゃしない
    Damping:1に近いほど動きが遅い(布の動きの減衰係数ってほうが妥当かも)

    f:id:yananann:20181012213018p:plain

 

Colliderの設定

  1. 足を選択しAddComponentからCapsule Colliderを選択する
  2. Is Triggerをにチェックを入れ、青丸のパラメータを調整し
    太ももと同じか少し太い大きさにする。
    これによりスカートが太ももに当たるようになる

    f:id:yananann:20181012213538p:plain

  3. スカートが1回転しないようにHipにもCapsuleColliderを設定する

    f:id:yananann:20181012213738p:plain

  4. スカートを選び、衝突判定に使用するColliderを選択します。
    Sizeに適用するColliderの数(右足、左足、お尻の3つ)を
    後は対象の部位を入れます。

    f:id:yananann:20181012213825p:plain

これで普通のスカートであれば、これで貫通したりしなくなります。やったね!
hitogataモデルのスカートは見えないけどちょっと貫通します。

 

というのも、hitogataのスカートはヒダが重なるところが結合されていない
つまりチャイナドレスの太もも部分みたく、隙間ができています。

 

一見するとちゃんとヒダが重なってて良いのですが

f:id:yananann:20181012214531p:plain

 

メッシュの頂点を動かすとご覧の通り、頂点と面が結合されていません。
黄色で塗った部分が透けます。チャイナドレスの太ももスリットの魅惑効果です。

ヒダの数の分だけ太ももスリット効果があるので、何ともはしたないスカートです。
そもそもColliderとかClothを前提に作られてないと思うので仕方ないのですが!

f:id:yananann:20181012214600p:plain

 

1mmも透けさせたくない場合、ヒダ部分の結合されていない頂点を

片っ端から結合して隙間を全部つぶしていきましょう。

やり方は blender 頂点 結合とかで検索するとよいです。

プログラムライクに書くと


1,頂点を選択する

2,その頂点を動かしてみる

3 if(追従しない面がある){

 4,追従しない面を選んで頂点を結合する

 

そんな感じです。

hitogataをベースにしたVRChatのアバター作成

カスタムキャストでタイムラインが眼福なので
がっつり3DCGには入れなくとも、足がかりみたいな触れ方ができればと思って書きます。

 

ちなみにアバターを作成しなくてもVRChatはプレーできますし
ヘッドマウントディスプレイなくてもプレーできます。VRとは。
アバター配布しているワールドたくさんあるしね。
東方やアニメのキャラは大体ある気がします。

 

それでもオリジナルのアバター作りたい!っていう
我敢えて修羅の道へ進まんという人のためのメモです。
というかボリュームがありすぎて、私が忘れないためのメモです。

ちなみにプレーしてすぐは自作アバターアップロードできないので、
数時間プレーしたりフレンドつくりましょう。
私の時は3時間プレーして、フレンド3人くらい、ワールド50個くらい巡ったら許可下りました。

 

ここでやるもの

 hitogataでモデルを作成し、blenderで加工して、unityで設定詰めてアップする

 

用意するもの

 

hitogataの入手とモデルの作成

 公式です。 https://sites.google.com/site/vhitogata/

 詳細な使い方については公式サイトに書いてますが、

 キャラメインキングする部分に関しては割と直感的に触ることができます。

 

  1. hitogata.exeを起動します
  2. [ツール]→[キャラメイキング]で作成します
    いくつか用意されているものを組み合わせます。
    カスタムキャストで見たことのある景色のはず。f:id:yananann:20181008202728p:plainパラメータをいじると色合いとかも変えられますよ。

    f:id:yananann:20181008202734p:plain

  3. モデルをpmx形式でエクスポートします
    出力先は「Hitogata_b2_21\Models\User」に保存されます。
    複数キャラを作成する場合は、さらに個別にフォルダを作成することで
    画像ファイルの上書きを防いだりできます。
    合わせてメイキングファイル(拡張子cfg)も保存しましょう。

 

blenderでポリゴン削減と表情周りを設定する

 初回のみプラグインをインストールし、言語を日本語にする。
 (もう忘れたので調べてもらいたい。難しくはない)

 

  1. pmxファイルをインポートする
    ファイル→インポート→pmxよりhitogataで出力されたファイルを選択する
    その際に赤丸で囲んだ部分に注意する。
    ・物理演算と表示をオフにする。
    ・拡大縮小を0.08くらいにする(身長にして160cm弱くらい)

    f:id:yananann:20181008203246p:plain

  2. ロードされたモデルを舐めまわすように見る
    ロード直後は色もなければ骨格(?)も見えてるので
    赤丸の目を押してアーマチュアの表示を消します。
    ←の赤丸で囲んだ+を押してプロパティを表示させておきます。

    f:id:yananann:20181008203411p:plain


    プロパティ下部の「MMD Display」よりメッシュのみにチェックが
    ある状態でShadelessを押すとテクスチャが反映されます。

    f:id:yananann:20181008203529p:plain

  3. グループ化されたパーツを分解する
    ツリーよりメッシュを選択し左のツールシェルフよりMMDタブを選び
    [Separate By Materials]でグループ化したパーツを分解します。

    f:id:yananann:20181008203632p:plain

  4. 各パーツのポリゴンを削減する
    ・ツリーよりパーツを選択した状態で下のツールボックスから
     スパナマークを選択し直下の[追加]から[ポリゴン数削減]を選択
    ・比率を調節し程よい面数になったら適用を押します。(画像は減らしすぎ)

    f:id:yananann:20181008203700p:plain
    VRChatにアバター登録するときは総ポリゴン数20,000以下にする必要があるので
    画面上部の面が20,000に収まるまで他のパーツのポリゴンも削減します。
    (極端に削減するとひどくなるのでバランスよく削減しましょう)

    Tipsとして照れは使わないのでポリゴン数0でよいです。

    顔や手、上半身など削除できないパーツはシェイプキーが登録されているので
    パナマークの隣の逆三角のアイコンを選択しシェイプキーの項目より
    [全シェイプキーを削除]で削除してからポリゴン数を削減してください。
    ただし顔や手は表情や動作に司るシェイプがあるのでやってはいけませんw

    f:id:yananann:20181008204016p:plain

  5. 再度グループ化を行う
    ・パーツのトップを選択し、ツールシェルフより[CATS]を選択
     [FixModel]を行います

    f:id:yananann:20181008204036p:plain


     
  6. 表情周りを設定する
    ・EyeTracking(目線)とVisemes(発音)を初期値「><」から変えます。
     変えたらCreateEyeTrackingとCreateVisemesを押して反映させます。
     (CreateVisemes押すとEyeTrackingの設定が飛ぶ気がします。再度設定しましょう。)

    f:id:yananann:20181008204049p:plain

  7. FBX形式でエクスポートする
    選択したオブジェクトにチェックをいれます。
    カメラとランプのチェックを外します。
    上部の[ジオメトリ][アーマチュア][アニメーション]のタブを開き
    項目のチェックを全部外してエクスポートします。

    f:id:yananann:20181008204114p:plain

これでblenderでの設定は終わりです。慣れれば15分くらいでできます。
最初は2時間くらい格闘するかも?


アバター作成後、ワールドをうろうろするうちに、
スカートの挙動をちゃんとしたい、パンツの色を変えたい、テクスチャ書き換えたいとか
いろいろやりたいことが出てくると思いますが
そこからがblenderの本番だったりします。

 

Unityで詳細を設定しアップロードする

  unityを使う際はアカウント登録が必要です。

  このタイミングでVRChatのアカウントも取得してVRChatSDKを入手しておきましょう

 

  1. 新規プロジェクトの作成
    Newを選択してプロジェクト名をつける。後で自分がわかるプロジェクト名をつける

    f:id:yananann:20181009225449p:plain

    f:id:yananann:20181009225520p:plain

  2. VRCSDKのインポート
    メニューより[Assets]→[ImportPackage]→[CustomPackage]を押し
    [VRCSDK-2018.08.28.13.02_Public.unitypackage]をインポートする

    f:id:yananann:20181009225651p:plain




  3. Textureの導入
    Assets内に[Texture]フォルダの作成(右クリックでできます)
    作成したTextureフォルダ内にhitogataでエクスポートした際に出力された画像を入れます。
    Tipsとしてこの段階までに画像を編集すればそれがテクスチャに反映されます。

    f:id:yananann:20181009225813p:plain

    f:id:yananann:20181009225834p:plain



  4. FBXのモデルをインポート
    [Assets]フォルダ直下にblenderで出力したFBXファイルを入れる
    画面右ペインのタブより[Inspector]を選択し、Rig、Humanoid、Configureと選択する

    f:id:yananann:20181009225926p:plain

    Configureを選択するとグリーン人間が出てきます。
    もし出てこない場合はたぶんどこかでミスをした可能性があります。
    特に問題なければDoneを押します。

    f:id:yananann:20181009230044p:plain

  5. 設定したモデルを適切な形で具現化する
    Assets内のFBXを左ペインに入れると、気持ち悪い版が出てきます。
    どのように描写するかでリアル路線になってるので変えます。

    f:id:yananann:20181009230205p:plain

    赤丸のMaterialsより[まつげ、口中、舌]以外を選択して
    右のShaderよりTextureを選択します。
    (上の3つはStandardのままの方が映えます。)

    f:id:yananann:20181009230329p:plain



  6. 具現化したモデルの目線やリップシンクを設定する
    左よりモデルを選択した状態で、右の[AddComponent]を押し
    VRC_Avator_Descriptorを選択する。 検索窓にvrcいれると特定が早い

    f:id:yananann:20181009230521p:plain


    赤丸が視線の位置で、Y軸(高さ)Z軸(画面でいう左右)を調節し眉間のすぐ下あたりに配置する
    青丸の部分はその通りに設定する。(男なら性別は男で・・・)
    するとFaceMeshが出るのでBodyをそこに入れる

    f:id:yananann:20181009230637p:plain


    青丸の設定に関しては、このような位置にくるようにする。
    RipSyncについては大体以下のような感じでそろえる。

    f:id:yananann:20181009230823p:plain

  7. アップロードする。
    メニューのVRChat SDKよりShow Build Controlを押して後はよしなにする。

 

これでおしまい。使えるようになります

 

 

 

唐突な自分語りのコーナー。

自作アバター命名規則的に、L(数字)で作ってます。 LはLightning(簡易)の略

たぶん1回目でいきなりがっつり作るより、回数やって徐々に慣れるほうがいい気がしました。
これをやるまで全く触ってこなかったので・・・

L1:hitogataプリセットそのまま(VRChatに入れられて四肢が動くだけでいい)
L2:hitogataのパラメータを触って色を変えられるようにする
L2_X:スカートにコライダーつける。失敗しました
L3:出力されたテクスチャを自在に触れることができる(簡単な手書き)

L3.5:テクスチャを思い切り書き込み手書きに見えないようにする

L3.52(いまここ):スカートにコライダーを導入する

hitogataをベースにしたVRChatのアバター作成のメモ書き

後日しっかりとしたまとめをあげることにする。

結論から言うと一番最後の行だけ見ればいい内容w

 

全体の流れとしては、

hitogataでモデルを作成→blenderでポリゴンを削り、トラッキングの設定→unityで各部位の定義や動きの設定

 

そのうちのblenderでトラッキングの設定の部分にフォーカス


blender上での設定。

 

  1. hitogataで作成したモデルをblenderにロード
  2. Separate By Materialsでグループ化した部位を分解する
  3. 分解した部位に対してポリゴンを削除する
    (ただし瞬きや発音、指の動きなどアクションにまつわる部分については触れない)
  4. Fix Modelで再度グループ化を行う
  5. EyeTrackingで目の挙動を設定(今日の大きな気づき)
  6. Visemesでマイク入力をアバターに反映

 

hitogataで作成したモデルで、ネット上にある記事を参考にすると
目の挙動いわゆる、まばたきや注視する部分に関する記事がなく
手元にある設定を適当に適用すると、かなり強烈な挙動をする。

 

そこでFix Model後のEye Trackingで選択する設定について記載する。

 

f:id:yananann:20181005002919p:plain

画像の通りの設定でひとまずうまくいく。

触ってみて気づいたのがまばたきなどの
一つのアクションについて用意されているものが
アバター全体で用意されてるものから選択する状態になっていること。

 

つまり瞬きの感覚で爆発するアクションを選択すれば
ひっきりなしに爆発するようになったりする。

設定名の意味を読み解き、適切な設定ができればいいのだが、
そこに至るまで結構な回数挑んだので
かいつまんでショートカットを記載する。

 

EyeTrackingは大きく4つの要素で決まる。

ヘッド:目があるところ

左目と右目:目を定義する部分を設定

vrc.blink:まばたきのアクション 

vrc.lowerlid:まぶたのすぼまり(凝視などの下まぶたの動き)

 

上二つについては特に迷う余地がないとして、
下二つが文字だけでは難しいところだ。

hitogataの場合は、まばたきとベースと><とにやりの4点から選ぶことになる。

blink(まばたき)に><を入れると数秒に一瞬だけ目が><になる。

lowerlid(凝視や注視)は視線を動かすとそれに適用したアクションをする。

凝視や注視というのは目を凝らす、なので漫画でいうところの目が飛び出すアクション。

つまり><を定義してしまうと、><目が飛び出すという現象が起きる。

 

そのため、blinkにはまばたきを、Lowerlidにはベースかにやりを入れるとよい。

霧ヶ峰キャンプツーリングの歌詞postもろもろ

大体いつも意味わからないpostしてる事が大半ですが

そのうち半分以上は何かしら元ネタというと変だけど

何かあるもんです。

そしてよくやって、たまにバレたりする。

 

 

 

 

www.youtube.com

 

 

 

 

 

www.youtube.com

 

 

 

 

 

www.youtube.com

 

 

 

 

www.youtube.com

ふぅ

キャンプtips

基本的にキャンプのやり方みたいなものは

ググれば出てくることはあるけど

いい感じにハックした情報はそうでないので、

知ってる範囲の口伝を記載する

 

ちなみに直火禁止の場所で直火するのは死刑。これは口伝伝々以前の常識。

 

全体的なあれこれ

  • 買うときは使い捨てる前提で安く買うか、長く使う前提で高く買う。ただし永久に使えるものはない
  • 火を使うものは特に痛むのが早い。錆や油や熱によって番はガタガタになるし、熱でフレームは曲がる

 

  1. 肉焼くコンロにはアルミホイルを被せる
    脂が落ちるところには特に。翌日洗う難易度が変わる

  2. 脂で汚れた金網はバーナーや高熱で焼き切る
    金たわしで軽くこするだけで落ちる。やらないと洗剤が必要になる

  3. コンロより大きめの金網にする
    焼きすぎた肉の退避場所としても、手づかみできるスペースとしてもあると便利

  4. 金網自体が安価で手に入る
    100均とかで買えちゃうし・・・

  5. ガスレンジのカバー(厚いアルミホイルのやつ)で焼きそば焼けたりする
  6. タープ張る時に木に直接まくときは当て布する
  7. 某ブランドで確実に推せるのはソリッドステークだけ
    盲目的に買わずにちゃんと考えてね

  8. ホムセン箱やクーラーボックスは椅子になる
  9. ゴミ袋くらいは詰め込んでくと良い
    できれば燃えるゴミと燃えないゴミを分別しながら飲め
    というか分別できなくなるまで飲むな
  10. キャンプは安価に振り切らない以外は、必ず高額に仕上がる
    傾向的におそらくバスタブ曲線になる

9月18日にやったこと

  • 布団を干す
  • CCNA,LPIC,ITILの技術書を売りさばく
    総額15kが1kになる世界。CCNAの本30円て。。。LPICは500円だったけど。
  • 売りさばいた金で洗剤とハミ学校を買う
  • VRChat用アバターのL2にスカートの判定を追加する
    設定の仕方が悪いのかジャンプすると宇宙に飛んで
    メニューが開けなくなるので失敗
  • たくさん写真撮っておしまい

 

ってことで、今日のメインはVRChatアバター
L2にスカート判定を追加する。です。

 

プロットよりもプロトタイプよりもその前のプリセットからのスタート。
ということで特に何の設定もせずに作った初代アバター
Lightning 1st(素早く作った1号)、エルワンです。

それからテクスチャの色を変えたL2(エルツー)に判定を足します。

f:id:yananann:20180918024107p:plain

ザザース、ザザース、ナスザザース。

 

 

ちなみに1からアバターを作る方法は、こちらのページを参考にしました。

rhizomebrain.net

文字通り、うまく組み合わせある程度の加工で動かせるようになります。

・Hitogata_b2_21,Blender,Unityの3点でできちゃいます。
 今のところの認識は以下の通り

 Hitogata:ベースとなる人間や服を選び、ボーン(関節)やアクションを用意し出力する

 Blender:Hitogataでエクスポートしたモデルのポリゴンが調整できる。

 Unity:与えられたボーンやポリゴンを元に、詳細な動作を定義する。

 

L2ではHitogataで出力されたテクスチャの色を変え、
微妙にゴシックっぽい(ゴシックじゃない)感じにしました。
テクスチャファイルのうまい編集方法が知りたいけど、それは後々で。

 

そして進水したL2を待ってたのが、スカートを通り抜けるという問題。

 

ということで、スカートを修正する方向でいきます。
が!今回は失敗したので失敗メモを残します。

  1. Blenderで出力する際にスカートを別にする。(スカート以外とスカートのみ)
  2. Unityでスカート以外を読み込む
  3. 追加でスカートを読み込みスカートにClothの設定を行う
  4. 太もも部分にColliderの設定を行う
  5. L2_x1(エルツー改1)として出力

1ミリもモデリング・・・のリンク動画に上の方法があるのでそこまで書かないのですが
上の方法を試したところ結果的に失敗し、超高速で回転し宇宙に飛ぶ
タケコプターになってしまいました。

(タービン回せば発電できて永久機関完成なのに。)

f:id:yananann:20180918025340p:plain

 

結局L2に手戻り、スカートが突き抜けないように移動。

 

f:id:yananann:20180918025538p:plain

誰もいないところで森林浴に浸り

 

 

f:id:yananann:20180918025612p:plain

廃墟を探索して、挙句自撮りをしたり(この廃墟は結構いい感じだった)

 

f:id:yananann:20180918025650p:plain

こういう形で中秋の名月を見ることになったり。(実世界の夜は雨だし)

 

f:id:yananann:20180918025751p:plain

わちゃわちゃしたり。3DCGの至近距離は相当な破壊力があるし
手のひらを合わせたりわちゃわちゃするのは、すごく楽しい。

 

さて、次はどこの世界で誰と会うのか

気長に

f:id:yananann:20180917025206p:plain

こちらは2014年のGOXった時のチャート。

 

f:id:yananann:20180917025227p:plain

そして今年のチャート。

大きく上がりすぎるとその分反動はあるものですが、

過去の追体験をしてるんじゃないかと思えば、まだ期待が持てたりして

 

ただ2018年の方が明確にサポートラインができてるので

人が増えたのかなーと言う感じは凄くする。

 

そんな新しく入った人の手によって

全く同じようになるかというとそれは微妙で

それでもまだ期待が持てるチャートじゃないかなーと思ったりもする