hisaitamiのブログ

とあるプログラマーの日常

HoloLensアプリ開発(18日目)BlenderでRigifyしてUnityで動かした

ボーン入れは骨が折れる

ボーンを入れるのめちゃめちゃ大変でしたが、ひとまずポーズを変更できるようになりました。

f:id:hisaitami:20170423141608p:plain

手や指先の部分は回転させながらボーンを設定する方法が分からなかったので妥協しました。

f:id:hisaitami:20170423141656p:plain

Unityで動かしてみる

前回と同様に真似させていただいたのはこちらのページです。→「【Unity】Blenderで人型のボーンを入れて、Animatorで走るアニメを再生する - おもちゃラボ

動かしてみたところ。

youtu.be

まとめ

  • 何度もやっているうちにBlenderの基本操作に慣れることができた
  • オリジナルデータは60万ポリゴンなので数万ポリゴン程度にリダクション
  • リダクションは3D BuilderやBlenderで可能
  • Blenderの場合はShaderの設定でShadelessにチェックを入れるとキレイに表示される
  • BlenderからFBX形式でエクスポートしてUnityに取り込む
  • UnityのRig設定でHumanoidにする
  • Unityの場合はUnityChan/Skinシェーダーを使うとキレイに表示される

HoloLensアプリ開発(17日目)OBJファイルをBlenderに取り込む

3Dスキャンデータを動かしたい

せきぐちあいみさんが自分を3Dスキャンしたデータをフリー素材として配布されています。

サクッとUnityで動かしたいところですが、いろいろクリアすべきことがあって、一つずつ解決していきたいと思います。

下の記事を参考にBlenderにデータを取り込んでボーンを設定することに挑戦してみます。

nn-hokuson.hatenablog.com

Blenderでデータ取り込み

メニューから File > Import > Wavefont (.obj) をクリックし、ファイル選択画面から aimi3dnormal.obj ファイルを選びます。すると何も表示されません。取り込み失敗です。

インポートするモデルのスケールとかサイズといったものを予め設定しておく必要がありそうです。下記の情報を参考にBlenderの設定変更をしました。

blender3d.isopro91.com

今回はmm単位の精度は求めないので下のように設定してみました。

Units

  • Length: None → Metricに変更
  • Unit Scale: 1.000000 そのまま

Display

  • Lines: 25 適当に増やす
  • Scale: 1.000 そのまま

OBJファイルを取り込む際の設定も調整しました。

f:id:hisaitami:20170422142426p:plain

すると下のようにいい感じに取り込むことができました。頭の位置にカーソルを合わせ3D CursorのZ座標の値を確認すると 1.71974m と表示されます。たぶんこれで合っていることにしますー。

f:id:hisaitami:20170422140608p:plain

と、ここで力尽きたのでアーマチュアの設定は次回に。。。

HoloLensアプリ開発(16日目)2つのモデルを調整して表示した際のメモ

はじめに

今回はHoloLensではなくてUnityの作業メモです。

「プロ生ちゃん(暮井 慧)」と「許斐 まい(このみ まい)」の二人に教室の中で並んでるシーンを作成することにします。

データも情報も公開されているので真似しただけなのですが、今までさっぱりわからなかったシェーダーの調整方法を学ぶことができました。自分でやってみることは大切ですね。

完成したイメージはこんな感じです。

f:id:hisaitami:20170421135039p:plain

モデルの身長とシェーダーを調整

シーンに追加した段階では2つのモデルのスケールを

プロ生ちゃんが156cmぐらい、許斐まいが158cmということだったので、高さが156cmの立方体をシーンに追加して調整します。この時にモデルのZ座標を微調整して位置を合わせるのと、カメラの視野角を狭くして歪みを抑えるなどしつつ何となく2cmぐらいの身長差となるようモデルのスケール値を調整します。

f:id:hisaitami:20170421135048p:plain

スケールの調整が終わったら、シェーダーを統一して見え方を合わせます。下記の情報を参考にユニティちゃんシェーダーを適用してみました。

pronama.azurewebsites.net

pronama.azurewebsites.net

利用規約などについて

このコンテンツは、『ユニティちゃんライセンス』で提供されています

f:id:hisaitami:20170421150454p:plain

暮井 慧(くれい けい)について

利用ガイドライン

「許斐 まい」について

©キャラミん運営委員会|キャラクターデザイン 小見山貴広|3Dモデリング かこみき

キャラミん 公式Blog | デフォキャラ 許斐まい

HoloLensアプリ開発(15日目)セミナー「VR/ARビジネスと開発技法の最前線2017」に行ってきた

昨日はGOROmanさんの5時間にも及ぶ集中講義を拝聴してきました。

lab-kadokawa21.peatix.com

メモを整理してブログに書こうと思ったけど、

自分のキャパを超えた濃い内容だったので単なる脳内のダンプとして書いておきます。

最後はMacのバッテリーが無くなってしまったのですが、

質疑応答や、HTC・VIVEの西川さんからの新しいデバイス情報、

そして角川アスキー総合研究所の遠藤さんを交えた御三方でのトーク・セッションも濃かったです。

ということで、、、

1. 世界のVR/AR最前線

GDC,VRDC

Microsoft

Google

  • Cardbord → Daydream VR
  • Tango AR
  • 色んなサービスを自社で持ってるのが強み、Street View とか
  • Daydream Instant Preview、開発ツール標準
  • Daydream対応端末専用

Unity

  • Daydream, Cardbord, Hololensサポート
  • EditorVR、Unity上でVR空間で作業ができる、建築とか直感的

Xiaomi(シャオミ)

アメリカのゲームショップ

  • Viveが常設
韓国 VR Expo 2017
  • 政府バックアップ → 企業主体のVR開発
  • ほとんどアーケード、会場の80%ぐらいVRアーケード
  • VRキューブ → VRカラオケBOXみたいな
  • 韓国人口は日本の半分、ターゲット市場は中国
  • 中国アーケード3000から5000ある
  • ショッピングモールのプリクラコーナーの後ろにVRコーナーがある
  • 日本のIPにとても注目している
SVVRサンノゼ
中国深セン
  • 1980年代はのどかな漁村
  • 中国の経済特区になる、30年後は未来都市
  • 1400万人住んでる、スマホ持ってないと生きていけない
  • BtoBの問屋街
  • HMD大量にある、1000種類以上ありそう
  • トキワ荘、スタートアップは家賃3年間タダ
  • シャオミ、電子炊飯器、セグウェイ的なやつ
  • ショッピングモールにVRコーナーがある、もろもろのHMD使用
  • Viveのゲームセンター、ハードすごい、コンテンツは改良に期待…
  • 本屋に技術書たくさんあるで、VR関連もおおい、iPhone修理本とか
  • どこにでもVRアーケードある
  • 飲食店、テーブルにQRコードスマホでスキャン→メニューが表示される→注文・支払い→調理中とか状況まで見れる
  • 道端のバナナ売ってるおばちゃんもQRコード持っててお金を払える
  • 偽札が出回ってるので現金は信用がない!
  • WeChatペイかアリババのアリペイ
  • シェアサイクルにQRコードがついてる→スキャン→解除コードでる→どこで乗り捨てOK
  • スマホバッテリーキレたらどうする? モバイルレンタルバッテリーがある。適当な店でQRコードかざすと充電器が借りれる→パクると金戻らない→返すと金返ってくる
  • VRアーケードのコンテツが酷い、酔う、流行ってない! 7割が赤字
  • 行くならツアーでいくのがいい。 クレジットカード使えない、言葉が通じない英語も

Insta360訪問

  • 深センスピード
  • 創業2年、社員300人、世界中の家電量販店に並んでいる
  • Insta360 Pro、8K動画、VR対応 → すげぇキレイ、GoProいらない
  • Insta360 AirAndroidに刺すと使える

テンセント社訪問

  • Epic Gamesの親会社
  • 30兆円時価総額、アジアでNo.1、創業18年、従業員3万人
  • チャットアプリ(WeChat)、ソーシャルゲーム
  • 今後はVRに注力する
  • テンセントVR、HMD作ってる
  • WeChatは8億人が使っている、送金できる

2. VR/AR基礎知識

1968年

  • 元祖VR/ARヘッドマウントディスプレイ
  • ユタ大学、アイバン・サザランド
  • ダモクレスの剣
  • コンピュータ歴史博物館

1985年

1999年

2000年

  • 2012年 MTBS 3D掲示板にパルマーラッキー投稿

90年代との違い

  • コンシューマVR → パーソナルVR
  • 個人が買えるぐらい安くなった

ラッキング

  • 方向、向き
  • 昔はなかったので飛び出す絵本でしかなかった
  • ジャイロセンサー昔は高かった7万→すげぇ安くなった

ポジショントラッキング

  • 高さ、位置
  • 赤外線で頭の位置をとれる

視野角

  • 液晶パネルの前にレンズが付いた
  • レンズの歪みをソフトで補正する
  • カメラだとレンズの歪みをレンズの組み合わせで解決→重くなる→高くなる

瞳孔間距離(IPD)調整機能

  • うまく調整しないと3Dに結像しない

HTC Vive

  • ライトハウスを2台つかう
  • 赤外線レーザーを灯台のごとく照射している
  • HMD側のへこんでるところに受光器がある
  • ルームスケールが可能
  • Amazonとか秋葉原で買える

Vive Tracker

  • 12,000円
  • 位置、向きが撮れる
  • 銃、グローブ、バット
  • 手、足
  • HMDを装着した状態でキャッチボールできるレベルでモーション撮れる
  • 6濃のポゴピン(接続端子, 入力3、出力3)

Oolus Rift

  • 正規オンラインショップで買うべし
  • Touch

Gear VR

  • Oculusの技術
  • 500万台出荷、月間アクティブ100万ユーザ
  • ユーザ多い、PC不要なので

HoloLens

Zenfone AR - ASUS - マーカーレスでオブジェクトを表示 - 部屋を3Dスキャン - 例えば、Amazonとかでソファー買う、部屋に置いて寸法が分かる - ドミノゲーム

現在のVRコンテンツ

・ゲーム ・アプリ ・ソーシャル ・360度動画(実写系、CGプリレンダー) ・教育

プラットフォーム

  • HTC Vive → Valve Steam  - Job Simulator
  • Oculus Store
    • Feli & Paul STUDIOS、360度動画コンテンツつくるなら参考になる
    • シルク・ド・ソレイユ、VRならではの撮影
    • 日本OPUSの釣りゲーム
    • youne.co エニグマ

VRツール

ソーシャル

  • Toy Box

VRアニメ

3. 実践VR/ARコンテンツ開発

Insta360 Pro

  • 奥行きがある
  • 8Kで解像度もいい
  • バレーボールぐらいの大きさ

実写撮影で注意する

  • トーリー大事、ぼっち感の解消

プリレンダCG

  • カメラ、ディレクター、演者がVR空間に入って撮影することも考えられている

Unity

  • Asset Store
  • Sketch Fab

牡蠣とカレー

最初の体験(牡蠣)

  • 最初に変なコンテンツを体験すると二度とやらなくなる

快適度(カレー)

  • 甘口、中辛、辛口

VR酔いのメカニズム

  • 既存のゲームや映像をそのままVRに移植→うまくいかない
  • カメラがめちゃめちゃ動くので酔う
  • 視覚誘導生事故運動感覚(ベクション)
  • ジェットコースターコンテンツで視覚で加速を感じたりする
  • 視覚のベクションと三半規管がずれてると気持ち悪くなる
  • 毒を食べたのと同じような状態 → 吐き出そうとする → 酔って吐く
  • 個人差があるので色んな人にテストしてもらう必要がある

ゲームシステム、見せ方をVR向けにする

  • カメラの主導権はプレイヤー
  • ラッキングは常に有効
  • UIとかも視点に合わせて移動させないと酔う
  • 自動車運転、自分が運転すると酔わない、人の運転は酔う

視点誘導のテクニック

  • 始めてVRを体験した人は360度見渡さない、気づかない
  • 小物による誘導、Lostではホタル、Henryではてんとう虫
  • 3Dオーディオによる誘導
  • 後ろから音をだすとか、立体音響を活用する

カメラの画角

  • FOV(画角)はシステムの値を使用、FAVはそのままで
  • ズームなどはVR酔につながる

カット切り替え

  • 今までの映像文法ではあたりまえだったカット切り替え
  • VRではテレポートが有効
  • テレポートでもぱっと切りかるよりトランジション入れた方がいい
  • 脳が予測できるようにする
  • 神様の視点、高いところから見下ろす視点は酔いにくい

主観視点

  • 旋回は危険、すげぇ酔う
  • 敵に攻撃くらって揺らす煙室は、すげぇ酔う
  • スナップターン、30度、45度単位で離散的にターンする、非連続的なターン

水平線

  • ロールすると感覚の不一致が起きやすい
  • 人間の耳にはリンパ液があって水平を感じてる
  • 視覚情報とずれると、毒を食べた→吐く
  • 回避策は宇宙にする
  • コクピットを出すと酔いにくい
  • コクピットにより視野が狭くなるとべくションを減らすことができる

まずはプロトタイプを作ってみる

  • 下手に絵コンテを見せても伝わらないことがあった、けんけん乱舞
  • トライ・アンド・エラーで色んな人の意見をもらう
  • UnityVRエディタが今後でてくる、デザイナーでも使えるようになる→次世代のパワーポイントになってきている

テスト重要 - 開発者はだんだん慣れてくる

適切な位置に置く

  • オブジェクトがカメラに近すぎると寄り目になる
  • 寄り目は疲れる
  • 75cm以上離して配置することで寄り目を解消する
  • 一番快適なのは目から2.5m辺り

以上

HoloLensアプリ開発(14日目)フロンターレの旗その2

今回の変更点

前回のはカメラの正面に旗が1本だけ見えるというものでした。

思ったより自然と風景に溶け込んで見えることが分かりました。

知り合いからも本物っぽい旗が見えるだけで

インパクトが少ないという感想をもらいました。

そこで、

好きな場所に好きなだけ旗を立てられるようにしました。

www.youtube.com

部屋の中では問題なかったのですが、

外でやってみると地面から落ちる問題が発覚しました。

ただ、旗の部分だけは空中に残ってくれたので

動画のような感じになりました。

落ちないで残った台座の上に

どんどん積み重ねてみました。

youtu.be

本当はもっと広範囲に旗を並べたかったのですが、

最初の位置からあまり移動すると視点カーソルが表示されなくなって無理でした。

空間マッピング使うなら屋内で。

HoloLensアプリ開発(13日目)ドットイートゲーム

引き続き『Unity5 3Dゲーム開発講座』を読んでいます。

CHAPTER 04のドットイートゲームが完成しました。

LESSON 06で「タイトル」「勝ち」「負け」などのシーンを作成するところもサンプルソースを使わずに自分でやってみました。

普段はほとんどゲームやらないけど、こんな感じで本を見ながら作るのは面白いですね。

3Dゲームがこんなに手軽に作れるとは。

気がついたら、VRからもARからも離れているので明日はHoloLensに戻ってみようかと思います。

HoloLensアプリ開発(12日目)『Unity5 3Dゲーム開発講座』を読む

ずいぶん前に買ったのですが…

先週、シェーダーの勉強をしようと思って「The Book of Shaders」でGLSLを触ってみたのだけど、UnityでのGLSLサポートはテスト目的のみが推奨で、通常のケースではCg/HSLで記述することが後で分かってショックだった。

いろんな技術情報blogを参考に真似しようとすると、

知らないことが多くて頓挫することが多い。

ふと棚をみるとこの本があったわけです。

とても分かりやすい

CHAPTER 01が読み終わった。

  • 知識ゼロから始められる
  • 手順が細かく書いてあるので再現できる
  • 用語の説明が完結で分かりやすい

先に読んでおけば

最初に読めばよかったなと思ったけど、やりたいことが先にあってとにかくやってみた、というのもアリだと思う。

ただ技術書には「賞味期限」がある。

内容が古くなるまえに読まないと役に立たなくなってしまう。

この本は2015年1月のUnity5 β19を前提に書かれているのだけど、

2017年の今でも基本的なところが変わってないUnityは一貫性があって助かると思った。