ViveTrackerを使ったAmazonで買えるフルボディトラッキング取付機材

たぶん誰かがまとめていると思うんですが、あんまりお金掛けずに入手性が安定している(Amazonで買える)物を書きます。

まずはViveTrackerの入手性が安定してくれたらうれしいですねorz

【国内正規品】 HTC VIVE Tracker 2018

【国内正規品】 HTC VIVE Tracker 2018

  • 発売日: 2018/03/23
  • メディア: Video Game

肘や手首や足にはこれを使うと良い

マウンタ

坪倉さんの公開してる 坪倉輝明@メディアアーティスト (@kohack_v) | Twitter

このマウンターのv2(25mm溝)を適当な3Dプリンタでプリントします。

HTC Vive Tracker Band Adapter by TsubokuLab - Thingiverse

f:id:izm_11:20180516142544p:plain

ネジ

こういうネジがちょうどぴったり。外しやすいですし。

バンド

AAA verclo 固定バンド 固定ベルト 5本セット 各サイズあり : 台湾生産 (2.5cmx30cm 非収縮 (10本セット))

これが平均体型の男性なら肘や足にちょうどフィットします。 細めの人は25cmとか20cmの方が良いかもしれません。

腰にはこれを使うと良い

坪倉さんの公開してる 坪倉輝明@メディアアーティスト (@kohack_v) | Twitter

このマウンターのv1 large(40mm溝)を適当な3Dプリンタでプリントします。

HTC Vive Tracker Band Adapter by TsubokuLab - Thingiverse

ネジは上に挙げたのを使いまわします。

f:id:izm_11:20180516142625p:plain 100円均一で買えるフニャフニャのベルトが40mm溝にちょうどフィットするので100均に行きましょう。 家から出たくない場合は「ガチャベルト」と言う商品名で調べると、望みの品がヒットしやすいです。

みんなもレッツフルボディトラッキング

ユニティちゃんトゥーンシェーダー入門以前 あるいは現代トゥーンシェーダーへの橋渡し

概要

古来よりNPR(Non-Photorealistic Rendering)と言うのはあって、ほとんどの人間はDirectXもしくはOpenGLを使った簡易なトゥーンシェーダーを書いたことがあると思います。
しかし人間にとって3DCGのモデリングは難易度が高いので、せっかく作ったトゥーンシェーダーをティーポットやドーナツのレンダリングするくらいしか思春期で経験することが出来ません。

そうした経験を持つ人間は成人してUnity+UTS2.0(ユニティちゃんトゥーンシェーダー)環境を手に入れます。

そして可愛いキャラクターを可愛くレンダリングしようと思ってUTS2.0.4のシェーダーファイルを開くとゴツい分量のコードと対面してしまいます。
またUTS2.0.4はシェーダーコードの分量に比例してマテリアル上のインスペクタを開くとビビるくらいテクスチャを指定できる場所とfloatやcolorを指定できる場所があります。UTS2.0.4のマニュアルを開いても専門家向けっぽい用語と使用例のオンパレードで、よくわかりません。
一体、この10年くらいで、何が起きてしまったのでしょう?

本エントリでは同様の疑問を持った僕がUTSに至るまでのトゥーンシェーダーの表現技法の発達を追いかけつつ、説明を試みます。本エントリは Unite2018Tokyo2日目の夜に UTS使いこなし系CGクリエイターの @AkatsukiWorks さんとベラベラ喋ってたラジオを元にしています。

暁ゆ~き デザイン開発ミニオン (@AkatsukiWorks) | Twitter さんの協力無しでは本エントリは成立しなかったので、本当にありがとうございました。(僕自身はモダントゥーンシェーダーエアプです…)

注意事項

  • 本エントリの誤りがあったら全て僕が悪いです。嘘ついてたら教えてください。
  • サンプル画像も数式も出てきません
  • UTS使いたいならマニュアル読んで!

とりあえずUTS2.0.4を使いたい

  1. アセットストアで適当なキャラクターを入手する
  2. マテリアルを全部UTSに置き換える
  3. BaseMap,1st_ShadeMap,2nd_ShadeMapの3個に元のdeffuseっぽいテクスチャを張って、下記みたいな感じに影色設定と有効化をする f:id:izm_11:20180512024248p:plain

終わり!!!!後の細かいパラメータはマニュアル読んで下さい。 最初に1影と2影のマップを当てる、というのが以外と忘れる人多そうなので、今日はこれだけ覚えて帰って下さい。

では以下はガガッと歴史的な説明です。

続きを読む

例のプールでオフ会をしてきたので知見を公開します

No.136 Hanazono Room – ピースタジオ CM・ドラマ・映画・グラビア・ロケの撮影スタジオ

こちらの貸しスタジオです。
たまたま機会があり、3時間コースでプールを借りることが出来ました。
得られた知見を公開します。

f:id:izm_11:20180429175543j:plain

予約

電話問い合わせを行います。プールの3時間貸し切りが約5万円でした。(最短利用が3時間からです)
後述しますがプールのみ利用する場合とプールのある階を貸し切る場合で料金が2-3万円変わります。
目安としては4-5人まではプールのみで大丈夫ですが、大人数になるとプールが手狭なこともあり、階ごと貸し切る方が良いかと思います。今回は3人で借りたのでプールのみのレンタルです。

移動

最寄り駅は新宿御苑で徒歩5分程度です。新宿から歩く場合は10-15分程度掛かります。移動中に飲み物を買っておくと良いです。

現地に到着した後は駐車場側から入り、電話で問い合わせると中には入れます。スタッフさんが迎えてくれ、施設の使い方の説明もしてくれます。

現地での注意点

まず、日中の室温がめちゃくちゃ暑いです。4月末でしたが室温が33度を超えています。プール用のクーラーが無い+天井がガラス張りで日光を思い切り浴びるので、めちゃくちゃ暑いです。
タオルの用意と飲み物の用意を忘れるとつらい目に遭います。遭いました。

また、プール内での飲食物の持ち込みは禁止なので、写真撮影を行う際は小物のフェイク飲み物とかを持ってくるなどの配慮か、係の人に事前相談を行う必要があります(プール以外の小部屋や共有スペースは飲み物大丈夫っぽいです)

f:id:izm_11:20180429172324j:plain

現地の環境

プール手前の3m*3m程度の小部屋にコンセントが2口あります。

f:id:izm_11:20180429181925j:plain

しかしプール内にはコンセントがありません。プール内で電子機器を使う予定がある場合は10mの延長コードを持参しましょう。

wifiはフリーwifiがあります。LINEの友達追加でスタジオのQRコードを読み込むと、idとパスワードが書かれたLINEメッセージが届きます。

また、ルータの設定が変な時は係の人を呼ぶと対応してくれます。 参考までにUnityのダウンロード、githubへのpush,pullが通りフィルタリングは掛かっていませんでした。回線速度は休日昼間に50Mbps以上安定して出ていました。 これはプログラミングを行う上で大変便利です。

VTuber流行ってるので指トラッキング手袋を作ってみた

概要

VTuber流行ってますよね。最近の一押しはアズリムさんです!元気で全力なアズリムさんをみんな見て!!!

www.youtube.com

ええと、話を戻すとHTC Viveを使った全身トラッキングをするとき、演者さんの指の開閉をセンシングするには Valve Knucklesやnoitom Hi5などの未発売(*1)なデバイスが欲しくなってしまいます。発売するの待つより自分で作れないかなあって思って作ってみました。

  • ESP8266+モバイルバッテリーで無線運用
  • 曲げセンサで指の開閉を取得してUnityにデータを送る
  • Unity側でキャリブレーションを実装

あたりを行っています。

作った物

現在こんな感じです!

www.youtube.com

試作基板と手袋で動作確認が終わったところです。

作っている様子

3/8くらいに作ってみようと思ってメモを書き散らして f:id:izm_11:20180325195257p:plain

3/11 にブレッドボード上で動作を確認して基板をガッと設計してFusionPCBに発注(結構送料高いお急ぎプランにしたけど10日くらい掛かりますね…)

  • 3/22 にFusionPCBから基板が届く
    f:id:izm_11:20180322235217j:plain
  • 3/23 にはんだ付けして動作確認
    f:id:izm_11:20180324143516j:plain
  • 3/24 くらいに必死で手袋に針と糸をチクチクして実装します。
  • 3/25 に冒頭動画公開

という感じでサクっとやっています。指の開閉はグーで一回、パーで一回抵抗値を覚えておいて間を補完する感じです。

最近はソフトウェアばかり書いていたので、たまにハードウェア絡むと納期があったり、針と糸にCtrl+Zが無いことに苦しんだりして楽しいです♪

最後に

これ完成したら使ってみたいなーって言う方いらっしゃいましたらTwitterのDMでお気軽に相談ください~

(*1) noitom Hi5が基板発注中に発売しちゃいました…もしかしてこのプロジェクト、ポシャるかも…orz

現実と戦うUNET入門

概要

諸事情でUnityのUNETを使わざるを得なくなった人に対するラーニングパスの提案です。

最初に

それUNETじゃないとダメですか?Photonありますよ?Monobitありますよ?また、リアルタイム性が不要だったらNiftyクラウドあります。 あとソシャゲ的な作りの場合はUNETあんまり使わないですよ。LANじゃないインターネット経由のマッチメイキングはUNETも有料ですよ?

UNETのリリース時に謳われたアップデートが遅々として進まないのは、もしかしたらUNETはUnity的に見捨てられてて、ある日突然deprecatedになるかもしれませんよ。

https://forum.unity.com/threads/unity-hello-is-there-anybody-out-there-p.445978/

また、十分な開発期間が取れるならLLAPIやUDPを元にHLAPI相当を自作するとかも検討に入るかもしれませんよ。

…はい、やりましょう。これも人生です。

UNETがあんまり好きじゃない理由

  • ドキュメントの未整備
  • 様々なバグがドキュメントに記載ないまま 「仕様です」のまま放置されている 例: https://forum.unity.com/threads/onstartclient-called-before-scene-is-fully-loaded.427952/
  • ホストマイグレーション未対応
  • 実践的なサンプルの少なさ
  • 出来る人の多くがPhotonに移行してしまうので、初心者向け資料ばかりある(この記事も初心者向けです。なぜなら僕が初心者なので)
  • 標準のNetworkTransformと標準のNetworkAnimatorすら使い物にならないので自作することになる。
  • SyncListを多用するとランダムにパケットロスする

この辺の話を聞いても、まだやりますか… 一応こういうまとめも訳しています。

UNET Unofficial Documentation (Errors, Workarounds, Best Practices)
https://qiita.com/neon-izm/items/8b98d8fbf590b31c72ef

具体的なラーニングパス

最初に 凹みさんの詳説を全部読む。

tips.hecomi.com

1. ひよこのたまごさんのUNET解説記事を全部読んで順番に試す。 http://hiyotama.hatenablog.com/entry/2015/07/06/153000
ステップバイステップの記事として一番情報量が多い日本語記事です。

2. Tank! Networking Demo.を穴が空くほど突つく。 Tank! Networking Demoは、2018年現在において、 まともな 資料があるUNETを使ったネットワークゲームっぽい作りの無料サンプルとしてほぼ唯一です。絶対におすすめです。 アセットストア https://assetstore.unity.com/packages/essentials/tutorial-projects/tanks-networking-demo-46213

解説動画 https://unity3d.com/jp/learn/tutorials/s/tanks-tutorial

Unityフォーラムスレッド https://forum.unity.com/threads/multiplayer-networked-tanks-demo-q-a.356443/ あと、このサンプルはPhoton版もあるので逃げたくなった時の移植も参考に出来ます(ボソッ)

それ以降
もっと凝った物ということで Tank! Reference Project  も2.と同じような感じですがキャラクター選択などの現実的な追加実装が入っています。また戦車かよ!という気もしなくもないですが…

https://assetstore.unity.com/packages/essentials/tutorial-projects/tanks-reference-project-80165

その他メモ(数か月前の自分に向けたメッセージ)

使う技術の取捨選択はこんな感じ f:id:izm_11:20180305154916p:plain

  • NetworkManager,NetworkdDiscoveryはまともにゲーム作るなら99%の確率で継承した自前版を作ることになる。
  • NetworkManagerを使った純粋なサーバークライアントモデルの資料は少ないのでホストクライアントモデルで作った方がマシ
  • Rpcで呼ばないと各端末のオブジェクトが同期しない。(逆に言うと、同期しなくても良い物はRpcを避けた方がネットワークに優しい)
  • 極論すればNetworkTransformやNetworkAnimatorもRpcの糖衣でしかない
  • 随時ジョイン可能なゲームにすると考えることが一気に増えるのでロビー→締め切り→ゲーム開始 型にした方が良い
  • そもそもネットワークゲームを初めて作る時にUNETを選ぶのは悪手。自分のネットワークの理解が足りないのか、自分のUNETの理解が足りないのか、UNET固有のバグかを絞り込めなくて死ぬ。MonobitかPhotonで始めましょう。
  • UNETのAndroidとUnityエディタの通信は、ウィンドウズのファイアウォール切って試すと通信成功したので、横着するならこれで良い気はしました。

以下随時思いついたら追記

https://forum.unity.com/threads/my-compiled-list-of-unet-bugs-issues.403578/

www.raywenderlich.com

UNET使ったカードゲームサンプル assetstore.unity.com