マミさんの膝の上

主に、Unity・3D プリント・設計・解析のネタや、VR関連についてのメモ書きです。

Oculus Audio SDK メモ

【概要】

先日、OculusMobileVRJamの「GATE-D」チームのお手伝いをさせて頂きました。 vrjam.challengepost.com

作業の目的の1つがGearVRで再生される360度動画に対して、臨場感のある音響環境を構築する事であり、Oculus Audio SDKを使用し環境構築を行いました。
よって、本ポストはOculus Audio SDK を使用したUnity開発時のメモ書きになります。
Oculus Audio SDKを触ってみたいなという方への参考となれば幸いです。

【開発環境】

Windows8.1 Unity 5.0.1p3 Oculus Audio SDK Plugins 0.10.2

【動画の再生環境】

スフィアに360動画を投影し、その内部にカメラ(人)がいる状況になります。

【Oculus Audio SDK導入方法】

解凍した「AudioSDK」フォルダ内の「Plugins」/「Unity」/「OculusSpatializer.unitypackage」をUnityでインポート

【Oculus Audio SDK サンプル】

「Assets」/「OSPTestScene」/「OSPTest」シーンを開き、再生! マウスを回転させるとスピーカーから音が出ている事を体感出来ると思います。 f:id:RyutoSouma:20150513002520p:plain

【実際に使用するには?】

「OSP」内の「OSPAudioSource(スピーカー)」「OSPManager」をHierarchyに配置 f:id:RyutoSouma:20150513225256p:plain
「Audio Listener(聴者)」と「OSPAudioSource」の位置関係を調整します。 f:id:RyutoSouma:20150513225049p:plain
デフォルト設定の場合は、スピーカーと聴者の距離が1程度になるようにすると、色々おもしろいかと思います。

【音楽再生環境の検討】

動画の再生に合わせて、スピーカーの配置を検討しました。

初期配置案

【6方向+頭上】
* 問題点
思ったより、斜め方向から音が出ている事を知覚出来なかった。
これは単なる調整不足と私のSDK理解不足の為、きちんと調整すれば臨場感は下記最終案より良くなるはず。 f:id:RyutoSouma:20150513005536p:plain

最終配置案

【前後左右+頭上】
4方向の場合、音源毎の音声ファイルを減らせる為、工数を減らせる事が一番のメリットでした。
頭上は、BGM再生専用にする事で、他のスピーカーと設定を変えています(減衰率を減らしています
f:id:RyutoSouma:20150513005557p:plain f:id:RyutoSouma:20150513005600p:plain

【感想】

SDKのDLから半日程である程度環境の検証が出来るほど手軽で、Oculus Audio SDKは非常に面白いと思います。
なにより、聴覚を使った「そこにいる感」を出せるようになるので、これは今後の開発では必ず使用したいと思います。
具体的には、女の子モデルにアタッチしたいですね!
また、各設定項目については、後日追記したいと思います。

Oculus Rift DK2 汎用マウント設計 試作~モデル公開

【概要】

Oculus Rift DK2 に部品を取り付ける為の、汎用マウント設計の試作からモデル公開についてまとめた記事になります。 下記エントリの続きです。
mmsnaia.hatenablog.com

【完成モデル】

f:id:RyutoSouma:20150426195513j:plain
f:id:RyutoSouma:20150426195510j:plain

【公開モデル】

下記でSTLを配布しています。
興味のある方はDLしてモデルを見て頂ければと思います。
※この部品だけでは何も取り付けられ無いのでご注意を!
www.thingiverse.com

【モデルの特徴】

  • 取り付け時に部品は不要
  • 質量は、恐らく10g程度(造形時に必要なフィラメント量より)
  • Oculus Rift DK2 の展開にも対応 f:id:RyutoSouma:20150426195452j:plain

【前回からの変更点】

  • 爪なんていらんかったんや…(╹◡╹)
    真面目な話、形状的に爪が無くてもずれに大きな影響は無く、爪がパキパキ折れる事で僕の心もパキパキ折れるので、除去しました。
    f:id:RyutoSouma:20150416222839j:plain

【モデルのこだわり】

  • CADソフトでモデリングするには比較的やっかいな形状の、3次元的な曲げ要素を何箇所か入れてモデリングしています。 正面/側面/上面から見て頂けると、なるほどと思って頂けるかも。
  • サーフェスコマンド未使用

【雑談】

  • 振動モーターや、PCファン等を取り付けるモデルを設計するつもりですが、何か面白そうな部品がありましたら、ご連絡下さいヽ(´ー`)ノ

  • 今回のモデルで、多分一番重要な数値です。爪部の元形状が入っているのが嫌なので、リモデリング必須ですね。 f:id:RyutoSouma:20150426193619p:plain

  • 3Dプリンターちゃんと同棲し始めてから、毎晩寝かせてくれないんだ...//// (駆動音的な意味で)

DMMでの造形誤差考察@ナイロン

【概要】

DMMで発注出来る材質のうち、ナイロンで造形した際の誤差を検証した記事です。
サンプル数が少ないですが、どの程度の寸法値で設計すべきかの参考にして頂ければと思います。

【結論】

はめ合いの様な構造を設計する場合、造形時に収縮する側に対して「0.00 ~ -0.05mm」で設計すると「自然には抜けないが、手で少し強めに押せば抜ける」程度の造形になる。

【LeapMotino Mountの材料】

DMMで発注出来る素材は色々あります。
選べる素材一覧 - DMM3Dプリント

元々、LeapMotion Mountは材料を想定しないかったのですが、何件かの製作事例をご報告頂く中で、価格・材料特性(爪部の柔軟性確保)からナイロンでの造形のみにすべきと判断しました。
アクリルのレッド、めっちゃカッコイイんですけどね…(´Д⊂ヽ


【発注方法】

モデルを1つのSTLデータに複数挿入し、造形依頼を投げた為、4500円程度で造形出来ました。
ただし、これはDMMから造形を断られる可能性があります(断られるかどうかの判断基準が公表されておらず、今回はOKでも今後はダメかもです)
また、色も白色しか選択出来ません。


【測定条件】

測定機材:ノギス(シンワ)
LeapMotionの挿入部のうち、短手方向(LeapMotinoでは30mm)を3箇所測定
LeapMotionの短手方向は30mm

【測定結果】

造形サイズ 測定1 測定2 測定3 LeapMotionの挿入可否
29.95(-0.05) 29.80 29.85 29.85 可能
29.90(-0.10) 29.80 29.75 29.70 可能
29.90(-0.10) 29.70 29.70 29.70 可能
29.85(-0.15) 29.70 29.65 29.60 可能
29.85(-0.15) 29.80 29.80 29.80 可能
29.80(-0.20) 29.75 29.70 29.70 可能
29.80(-0.20) 29.80 29.75 29.70 可能
29.75(-0.25) 29.60 29.60 29.60 不可

【測定結果から読み解ける事】

30.00mmに対して、最低限 29.70mm以上あれば挿入は可能。ただし、29.70mmの場合、相当外すのが硬い
最大造形誤差は0.20mm
目標値に対して、マイナス方向の誤差しか出ていない。これは形状から考えても、収縮している為と思われる。

【LeapMotionのはめ合い形状値について】

下図の様に、29.95mmに設定しています。これは、造形誤差が最大0.20mmあっても挿入可能な事、仮に+方向に0.05mm程度の誤差が生じても耐えうると判断した為です。
f:id:RyutoSouma:20150419202159p:plain

LeapMotion Mount for Oculus Rift DK2 の有償版 @DMM 発注対応

【概要】

LeapMotion Mount for Oculus Rift DK2 の有償版になります。

注文価格は4000円になります。

make.dmm.com

 

【補足】

  名前入りの無償版に比べて1000円程値段が上がっています。
  (実際には、無償版の頃より造形価格が250円程値上がりしていたので、切り良くする為に、+800円させて頂きました)

  よろしければ、ご注文頂けますと幸いです。

 

【学生さんへ】

  本マウントを使用してみたいなーという学生さんが見えましたら、お気軽にtwitter等でご連絡下さい。
  実用には耐えうる程度のモノでよろしければ、指定の発送先(大学研究室や個人宅等)へ、2週間程度で無償で発送させて頂きます。ご連絡お待ちしていますヽ(´ー`)ノ

LeapMotion Mount for Oculus Rift DK2 名入り版無償DL公開

【概要】

Oculus Rift DK2 に LeapMotion をマウントする為のモデルデータを公開しました。

 

【配布先】

www.thingiverse.com

 

【公開の経緯】

  色んな方にご協力を頂いたおかげで完成した本モデルになります。お礼の意味も含めて、無償版(名前入り)は既にDMMで発注出来るようにしています。
 しかし、どうせ無償で発注出来るようにしているなら、自分で印刷出来る人は印刷して貰った方が良いかと思い、公開させて頂きました。
 ただし、 DMMで出力出来る造形精度を前提にLeapMotionとのはめ合い公差や変形を考えモデリングしています。
  FDM(熱溶解積層法)の3Dプリンターだと厳しいかもですが、最低限下記を守って造形頂けるといけるかもしれません。


【印刷時の注意点】

・PLAなど変形が少ない素材を使用する。
・使用する3Dプリンターの一番小さな厚みで造形する(0.1mm以下が望ましい)
・積層方向は、下図右側の配置がベター

 

f:id:RyutoSouma:20150418205336p:plain

【ダウンロード時の注意点】

・ 商用利用は禁止です(誰もやらないと思いますが)
・ モデルの改変は、個人の範囲内でなら構いませんが、公開は行わないで下さい。
    これは、精度・強度と造形時の変形を考慮しつつ、機能としての要件を満たす為に色んな部分で見えない調整をしています。改造されてしまうと、それが満たされなくなる可能性がある為です。


【お願い】

  DMMで無償版に1000円追加した有償版を公開させて頂きました。
  有償版での収益は、学生Oculus開発者に本マウントを配布する為に使用する予定です。(既に何名かに印刷したマウントを配布させて頂きましたヽ(´ー`)ノ)
  油田発掘してウハウハ(になる予定)なんだ!という方は、是非ご利用頂けますと、幸いです。
  よろしくお願い致します。

Oculus Rift DK2に取り付ける汎用マウント設計 開発コンセプト~3Dプリント(1回目・2回目)

【概要】

   Oculus Rift に色々な部品を取り付けられるようにする為の、基本形状モデリングと3Dプリント経過です。


【開発の経緯】

・ 現状の不満点
    Oculus Rift DK2 に色々な部品を取り付けて、体験者が視覚以外の情報を得られるようにしたいと考えています。
    しかし、Oculus Rift には部品固定用の穴等が無く、他の部品を取り付ける場合は両面テープや、ケーブルに結束バンドで無理やり括りつけるといった手段しかありません。

・ 発想の起点

    Oculus Rift DK2 に「パチっ!」とはめられる部品のようなモノがあれば、それをベースに形状を追加すれば色んな部品を取り付けられるんじゃないかな?という思い付きから作り始めました。

【開発コンセプト】

・ 部品そのままの形状で取り付けできる事(両面テープ等を使用しない)
・ 一度取り付けたら容易には外れない事(振動モーターやファンを取り付けたいので、簡単に取れると困る)
・ ベースとなる部品なので、なるべく軽く小さく頑丈に


 【設計案検討】

  赤枠の辺りに取り付けられる部品にすれば良さそう

f:id:RyutoSouma:20150416220519j:plain

 

【設計案1】
  Oculus Rift DK2を測定しながら、まずはザクッとモデリング

 

【設計案2】
  取り付け時の回転防止+振動モーター取り付け用のスペース確保の為のスカート追加

f:id:RyutoSouma:20150416220830j:plain

 

【設計案3】
振動モーター取り付け可能かを検証する版



 

 【印刷】

  造形時間は、ピッチ0.1mm、メーカー推奨設定で約4.5時間

 ・初回印刷
  突起がもげた・・・造形物は犠牲になったのじゃ・・・。・゚・(ノД`)・゚・。

f:id:RyutoSouma:20150416222133j:plain

 

 ・形状を修正して再印刷
    無事刺さるようになりましたが、まだまだ改善が必要

f:id:RyutoSouma:20150416222601j:plain

f:id:RyutoSouma:20150416222724j:plain

 

f:id:RyutoSouma:20150416222839j:plain

 

【04/16 夜時点での感想】


下記の問題点はあるが、大きな問題では無いので、形状の微調整で対応出来る。

3Dプリンターの適切な造形条件を探る事と併せて出力していきたい。
・問題点1
    PLA成型だが、形状の性質もあって思った以上に反りが強い
    →反りに合わせてモデルの曲率修正。

・問題点2
    爪が折れやすそう
    →折れた部分の厚みを3mm(元は2mm)に変更



 

 

3Dプリンター (Bellulo) 平面出し

Belluloが届いて3つ程造形してみたのですが、ある程度大きな部品を出力しようとすると、一番最初のフィラメントのノリがどうも悪い。
ちゃんと平面出ししないと・・・と思い、平面出しをしてみた時の記録になります。

【平面出しの概要】
  平面の板を、出力台の全面出力すれば、平面度見れるよな!という単純な理屈から、下記の手順で平面出しを行いました。
  全体で1.5時間(実工数15分~20分)程かかりましたが、4隅の高さ調整が出来ました。

【調整条件】
  積層ピッチ : 0.1mm
  3Mのマスキングテープ貼り付け済

【1. 平面出し用の部品作成】
T1mm(厚み1mm)で、Belluloの造形限界の200×200mmの板を作成



【2. 板の印刷】
  下図の様に、綺麗に出力される箇所とされない箇所を見ながら高さを調整していきます。
  開始時点では、かなり酷い出力がされていますが、中心になるにつれて、四隅の調整が段々と良くなっていっている事が見て取れるかと思います。

【感想】
  アルミ板が、250×250mmあるせいか、割とシビアな調整が要求されました。
 具体的には、4隅のうち、1箇所のネジ1回転で、対角線上のフィラメントが浮いたり浮かなかったりする感じです。
  とは言え、一度調整が完了すると、180×50程度の部品でも印刷のノリが大分良くなりました。
  ネジが振動で動くことも無さそうなので、一回調整してしまえば、後は大丈夫そうです!

  ちなみにBuildTakを購入したので、届いた際には、下記の様なパーツで再調整しようと思います。