Pikali’s diary

Unity素人,Blenderできない非IT系サラリーマンがVRChatを始めました。

Insta360の動画から3DF Zephyrに4方向の静止画を取り込む方法(覚書)

Insta360の360度動画から3DF Zephyrに4方向の静止画を取り込む方法

Insta360の公式ソフトとDF Zephyrだけでできます。

意外とググっても見つからないので、今試している方法を書いてみました。

(もっと良い方法、設定がありましたらよろしくお願いします)

まずInsta360の動画ファイル***.insvをmp4に変換します。

Insta360 Studioでファイルを開きます。

①File -> ②Export ->③ OK

 

f:id:Pikali:20190816143926p:plain

 

f:id:Pikali:20190816144134p:plain

MP4ファイルが作成されます。

この後ファイルが増えるので専用のフォルダに移しておいたほうがいいです。

3DF Zephyrを起動して新規プロジェクトを作成します。

f:id:Pikali:20190816144830p:plain

 

写真選択ページで”ビデオから写真を入力"をクリックして先ほど変換したmp4ファイルを選びます。

FPS、開始箇所、終わり箇所を設定ます。他の設定はよくわかんないのでこのまんまにしています)

f:id:Pikali:20190816145555p:plain

フレームの抽出とワークスペースの入力をクリックします。

動画から静止画が抽出されましたが、まだパノラマ画像なので一旦すべて選択を解除します。

f:id:Pikali:20190816150639p:plain

 

"パノラマ写真からの入力"をクリックして、先ほどできた静止画を選択します。(フォルダからD&Dできます)

 

f:id:Pikali:20190816151508p:plain

側面から上と下のチェックが外れていることを確認して"OK"をクリック

ここで分割した画像を保存するフォルダを指定します。

(しないとパノラマ写真と混ざってしまって、やっかいです)

f:id:Pikali:20190816152014p:plain

”選択”をクリックすると分割が始まります。

f:id:Pikali:20190816152719p:plain

分割が終わったので"次へ"をクリックして進みます。

(本人が写りこんでいたりしている画像を消去したい場合は一旦選択をすべて解除して、エクスプローラーのサムネイルをみながら不要な画像を削除してから選択しなおしています。)

f:id:Pikali:20190816153027p:plain

この画面が出たら(よくわからないので)"はい"をクリック

f:id:Pikali:20190816153127p:plain

"次へ"をクリック

f:id:Pikali:20190816153305p:plain

カテゴリーを今回は"市街地"にしてみました。

"次へ"をクリック

 

f:id:Pikali:20190816150216p:plain

実行をクリックしてモデル化がスタートしました。

 

#フォトグラメトリー

#Insta360

#3DF Zephyr

 

Unity 2017.4.28f1をインストールする

2019/6/19のVRChatのアップデートでアバターアップロードに必要なUnityのバージョンが2017.4.28f1になりました。

インストールついでにスクショしたので記事にしました。

まずはUnityトップページの右上の”はじめる”へ

f:id:Pikali:20190619203341p:plain

個人プラン(無料を選択)

f:id:Pikali:20190619203359p:plain

条件に同意してから下の方~にある

過去バージョンのUnity

f:id:Pikali:20190619203420p:plain

20174.28f1を選択

(Unity Hub持ってる人はUnity Hubの方が楽そうですが、そんな人にこの解説は不要と思われる)

 

f:id:Pikali:20190619203432p:plain

64ビットOSの人はインストーラを選択

f:id:Pikali:20190619203442p:plain

あとは流れで進んで下さい。

f:id:Pikali:20190619203453p:plain

余談ですがSTYLY

styly.cc

とかやってみたい方はオプションで

Mac Build Support
Android Build Support
WebGL Build Support
iOS Build Support

もインストールしとくとよいです

f:id:Pikali:20190619203504p:plain

お疲れさまでした

パソコンを購入しました。(3週間経過したので超ニッチなレビュー)

パソコンを購入して3週間経ちましたので、感想を書いてみます。

長期の出張がある仕事だったのでここ数年はノートパソコンです。

(ここ5年間で自分の家に住んだのは1年半くらいです・・・)

今まで使っていたPCは2年ちょい前に購入したCPU:Corei7-6700HQ メモリ:16G グラボ:GeforceGTX970mと2年前のノートPCにしては性能がよかったのですが、VRChatを始めてからはさすがに厳しい状態でした。

HTCVIVEは使用可能ですが、Oclus RIftは動作せず。

VRChatでは少人数(20人くらい)では大丈夫ですがイベントなど大人数の時は常時FPS10くらいまで下がり、画面がしょっちゅう固まるのでまともに話もできない状態になります。それでも使えていただけ良かったと思いますが。

今年に入ってGeForceRTX搭載ノートが出てきたので購入することにしました。

条件として、

15.4インチモニター(17インチだと対応しているカバンが少ない)

電源アダプタもいれて3kgくらいにしたい(重いと運ぶのがしんどいという上、最近の飛行機は手荷物7㎏までのところが多いので会社のPCも持たされる長期出張の時とか厳しい)

RTX2070以上(SteamVRはGTX1060でもよいらしいがノート用は能力低いので…)

メモリ:16G HDD:1T SSD:500GBくらいほしい。

そんなわけで2月頃から各社出始めたところでDellのm15シリーズに決めました。

www.dell.com大きなポイントは2070RTXが選べて比較的軽いのと値段も高くないと思ったからです。(当時2070RTXを選べるMSIはかなり高かった)本体が2.16kgと比較的軽いのもポイントです。(てかゲーミングPCの重さじゃないでしょ)

構成は

CPU:Core i7 8750H(6コア、9MBキャッシュ、最大4.1GHzまで可能 ターボブースト付き)

モリー:16GB,2x8GB,DDR4,2666MHz

HDD:1TB

SSD:PCIe M.2 512MB

グラボ:GeForceRTX2070 8GB Max-Q

以上で税込み275000円くらいです。(今思い出してもよく買った・・・)

注文して3週間くらいかかりました。

f:id:Pikali:20190331191009j:plain

箱をあけるとこんな感じです。

f:id:Pikali:20190331191044j:plain

箱から出したところ、ACアダプタがでかいです。

20cm x 10cm x 2.5cmくらいあります(コード除く)。

ただ薄いので持ち運びしやすいかもです。(PCの厚さとほぼ同じ)

f:id:Pikali:20190331191111j:plain

ACアダプタが1kgあります。

f:id:Pikali:20190331191920j:plain

電源のコードだけで200gあります。(海外の200vでも使用できるようにしてあるからかと)持ち歩くときは短いものか、プラグだけのを別途買ったほうがいいです。(前のPC用に買ったのがある)合わせて3㎏くらいで済みます。

f:id:Pikali:20190331191923j:plain

というわけでSteamVR パフォーマンスうテストをしてみました。

f:id:Pikali:20190331192443j:plain

このPCどこににもマークはありませんがVRレディです。

その後3週間使ってみましたが、VケットやVRCイベントでもかなり快適になりました。(人数多いときはFPS20くらいに下がることはありますが、周りの人も「重い~」とか叫んでるのでそんなものかと)

だいぶつよつよ(当社比)になったのでBeat Saber + LIV + バーチャルモーションキャプチャー + OBSという組み合わせでも動かせます。

 

ノートPC縛りのあるVRC民は検討してもいいと思います。(最近デスクトップCPU+無印RTX2070搭載がマウスから出たらしいのでそっちが気になりますが・・・)

 

追記:発熱がすごいのでノートPCクーラーは必需品と思われます。

 

 

 

 

 

VRCでアバターのサムネイルに好きな絵を入れてみる。

 


VRChatでアバターサムネイル(でいいのか?)に好きな絵を入れる方法です。

要約するとQuadに好きな絵を貼り付けたマテリアルを添付してアップロードの時出現するVRCカメラに映せばOKです。

 

f:id:Pikali:20190224215748p:plain

アバターをアップロードする手前までにProjectのビューに映したい画像をD&Dしておきます。

f:id:Pikali:20190224223822p:plain

Quadを作ります。

Hierarchyウィンドウ->Create->3D Object ->Quad

f:id:Pikali:20190224224340p:plain

RotationのYを180度にして裏返します。

読み込む図に合わせて縦横のScaleを調整します。

f:id:Pikali:20190224224616p:plain


Materialを作成します・(ProjectウィンドウCreate->Material)

f:id:Pikali:20190224223841p:plain

作成したMaterialのShaderをUnlit/Textureに変更し、画像をProjectウィンドウからD&Dします。

f:id:Pikali:20190224224915p:plain

四角形に図が付きました

f:id:Pikali:20190224225223p:plain

ここで1画面で作業している場合は2画面(Scene画面とGame画面が同時に表示する)にレイアウトを変更します。

画面のタブをD&DしてもOKですし以下の用意レイアウトを変更してもOKです。

元からあるレイアウトを使ってみますが、レイアウトで2by3を選んでみます。

f:id:Pikali:20190224230007p:plain

ここでVRChat SDK-> Show Build Control Panel -> Build & Publishを押してアップロード画面を出します。

Scene画面にVRCCamというカメラが出現しますのこれを動かして図を貼り付けたQuadが映るように調節します。(Scene画面の隅にプレビューが出てます)

Upload Imageをクリックすると映りが反映されるのでそれからアップロードすればOKです。

 f:id:Pikali:20190309133157p:plain

Dynamic Boneで揺らした髪が顔や体にめり込む対策(Dynamic Bone Colider使ってみた)

前回の記事でDynamic Boneで髪の毛を揺らすとこまで行ったのですが髪が体や顔にめり込むのでいちおう対策してみました。

今回はDynamic  Bone Coliderを3個使います。

(1個は頭あたり:前髪と横髪が顔に刺さるのを防ぐ

 もう1個は肩:後ろの髪が胴体に刺さるのを防ぐ

 残りは首:後ろの髪が首に刺さるのを防ぐ)

表示をワイヤーフレームに切り替えると確認しやすい場合があります。

f:id:Pikali:20190114144554j:plain

Headの下に空のGame Objectを作成します。(名前はHead Coliderとかにしときます)

f:id:Pikali:20190114151323j:plain


そこにDynamic Bone Coliderを追加します。

f:id:Pikali:20190114150141j:plain

とりあえずはざっくりこんな感じで作っときます。

f:id:Pikali:20190114152043p:plain

今度は各ボーンにコライダーの当たり判定を設定します。

今回、頭のコライダーには前髪、横髪を設定ます。

まず前髪のDynamic BoneのColider のSizeを1にします。

(このSizeは大きさではなくコライダーの数です)

下のElement 0のマスにDynamic Bone Coliderを作ったオブジェクトをドラックアンドドロップします。

f:id:Pikali:20190114153729j:plain

同じように横髪の2つも設定します。

f:id:Pikali:20190114153937p:plain

ここでコライダーの大きさや位置を調整します。

再生を押すと効果が確認できますので再生しながら調整するのがいいと思います。

アバターの顔は完全な球形ではないので1個のコライダーで完全にカバーするのは難しいのでボーンごとにコライダーを分ける方法もありますが、ほどよいところで決めとくのがよいかと思います。

た再生時の変更は再生を止める(もう1回再生を押す)とリセットされてしまうのでメモを取るなどして再生停止後あらためて入力する必要があります。

f:id:Pikali:20190114155908j:plain

動かしてみる場合はRootを選択して前後左右に動かしてみるとわかりやすいです。

f:id:Pikali:20190114161052j:plain

続いて後です。

(今回の場合後髪のコライダーはRadiusを0.03にしておいたほうが良いようです。)

Upper Chestの下にGameObjectを作成してDynamic Bone Coliderを作成します。

f:id:Pikali:20190114172601j:plain

今回は横に長くしたいのでDirectionをX、Heightを入力します。(とりあえず0.3とか)

球が2個に分かれて見えますが実際には横長のカプセル状のものができています。

続いてNeckの下にも作成します。

こちらは縦長ですのでDirectionをYに設定します。(Heightはとりあえず0.15)

f:id:Pikali:20190114173613j:plain

胴体に貫通しそうな後髪のボーンを選択してDynamic BoneのColiderのSizeを2にします。Elementの欄にそれぞれコライダーを作ったオブジェクトをドラッグアンドドロップします。

同じ作業を他の後髪にも行います。

その後顔と同じようにひたすらサイズや位置を調整して完了です。(この作業がいちばんしんどい)

しかし、頑張った後の結果がこれだからなぁ・・・

f:id:Pikali:20190114183215p:plain

追記

このままではあんまりなので、VRoid直してきました。

VRoidの修正

後髪ボーングループを3分割から左右2分割に

各ボーンの数を3個に減らす。

 Unityでは

頭と首のDynamic Bone Coliderをやめて前髪は固定(Dynamic Boneなし)、

横髪はX方向固定しました。(Freeze Axisをxに)

Upper Chestのコライダーを大きくして後髪だけ関連付けて前に行かないように

してます。

f:id:Pikali:20190114212502p:plain

これでようやくMiddleになりました。

f:id:Pikali:20190114212554p:plain

 

 

Dynamic Boneを使ってVRChatでもVRoidの髪の毛揺らしたい。

先月(2018/12)のアップデートでVRoidで髪の毛を揺らすことができるようになりましたが、VRChatでは揺れてくれません。

これを解決する方法の1つにUnityの有料アセットであるDynamic Boneを使う方法があるらしい、ということがわかり、さらに先月下旬のセールで半額だったので買ってみました。(1/13現在は元の価格に戻っています)

assetstore.unity.com

その後、これを使うとアバターのランクが下がるらしいという話を知ってしまい放置してました・・・がせっかく10$出して買ったんで頑張ってやってみました。

スカートに適用してしまうと足がスカートを貫通してしまい、この対応がまだできないので今回は髪の毛だけやってみようと思います。

VRoid Studioで髪の毛の揺れ物は設定しておいてください。

(ボーングループはあまり多くないほうが良いかもしれません、数がおおいとけっこう面倒ですw)

よくわからない場合はこちらの記事を参考にしていただくとよいかと。

 VRoid公式 on Twitter: "【髪揺れ機能解説①】
現状UIがちょっとわかりにくいので動画で解説します。

揺らしたい髪を選択(複数可)してから「ボーングループを作成」で、選択した房の中心に自動でボーンが設定されます。これだけで揺れます! #VRoid… "

こちらのさくま先生の記事がとても詳しいです、必見!!。

aozoranositade.ape.jp

 

以前の記事5.VRChatにアップロード

の手前まで進んでいる状態から始めます。(UniVRM-xx→Duplicate and Convert for VRChatの操作をしてクローンを作成した後です)

VRoid Studioで揺れ髪の設定をしてあればボーンのHeadの下に以下のHair Joint-~というものが並んでいます。これが髪の毛です。クリックで部位を確認して名称変更しとくと後でやりやすいかと思います。

f:id:Pikali:20190114082417j:plain



 

この時点からDynamic Boneのアセットをインポートしました。

(Dynamic BoneをインポートしてからUniVRM-xx→Duplicate and Convert for VRChatの操作をしてしまうと、足はスカートを貫き、目の動きもおかしくなってしまい、DynamicBoneコライダーが無数に誕生してステータスはVeryPoorになってしまいもはや素人の手には負えなくなってしまいました・・・泣)

f:id:Pikali:20190113163552j:plain

f:id:Pikali:20190113163604j:plain

ダイナミックボーンを髪の毛のボーンに割り当てていきます。

アバターのどこかに空のGame Objectを作ってここで髪の毛ボーンの数と同じだけダイナミックボーンのコンポーネントを作成してもいいという情報もあるのですが、どうもうまくいかないのでこの方法にしました。)

ボーンを選択してAdd ComponentでDynamic Boneを追加します。

f:id:Pikali:20190114094350j:plain

それだけでは動かないのでRootにボーンをD&D割り当てます。

f:id:Pikali:20190114095249j:plain

 

Dynamic Boneのパラメータを設定します。(いろいろ調べましたが結局よくわかんないのでこちらを参考にしました。Radiusは0.01くらいがいい気がします。Unity上だと動きの程度がよくわからないので、何度もアップロードしながら調整することになると思います。)

こちらの記事もおすすめです。

www.asset-sale.net

 

同様の作業をすべての揺らしたいボーンに行います。

今回は8個あるので8回やります

 ここでVRChat SDK ->Show Build Control Panel ->Publishで髪の揺れるアバターがアップロードできます。

注意:VRChatを起動しながら修正するとき、VRChatで選択中のアバターを上書きしようとするとUnityが落ちて作業がパーになるので必ずセーブしましょう。(泣

お疲れさまでした。

 (このままだと髪の毛が顔や体に刺さってしまうのでそれを避けるにはDynamic Bone Coliderの設定が必要です。)

(余談ですが、アップロード時の詳細ステータスにはDynamic Boneの数が0のままですがVRChatで確認すると増えてたりします、バグかな?)

f:id:Pikali:20190114102008j:plain

 

f:id:Pikali:20190114123244p:plain

 

関連記事

pikali.hatenablog.com

VRM(VRoid)アバターに帽子をかぶせてみた

VRoidアバターに帽子をかぶせてみたときの覚書です。

帽子以外にもリボンやかばんなどに応用できそうです。

以前クリスマスにサンタ帽をかぶせてみたのですが、ギリギリすぎたので今回あらためて別の帽子でやってみました。

booth.pm

VRMからVRChat形式に変換するところまでやります。

以前の記事の5.VRChatにアップロード

の手前まで進みます。

pikali.hatenablog.com

ダウンロードした帽子データを解凍します。

解凍したらProjectにドラッグアンドドロップ

f:id:Pikali:20190113131004j:plain

帽子を頭のボーンに貼り付けます。

(VRoidのボーンはボーンと書いていないので初心者の私はしばらくわかりませんでした、、、。)

 

f:id:Pikali:20190113131049j:plain

そのままでは灰色なので帽子にテクスチャを貼り付けます。

(どれか1つでよいようです)

f:id:Pikali:20190113131345j:plain

矢印を操作したり、Inspectorの値を調整して、位置と大きさを調節します。(映っていないときは上の方にあったり足元にあったりします。)

f:id:Pikali:20190113131518j:plain

こんな感じ(多少めりこむのは仕方がないかもです)

f:id:Pikali:20190113131709j:plain

あとはVRChatにアップロードします。

以前の記事5.VRChatにアップロードを参考にしていただければと思います。)