投稿

白黒イラストを 3D プリントしてコインやキーホルダーを作る方法

イメージ
これはなに こういう白黒イラストから こういうコインをプリントする方法です。 イラストはリアル嫁氏が描いたものです。 (キャラクターはカービィ、サンド、ピカチュウをお借りしています。カエルは完全オリジナルのけろぴっぴですが、けろっぴをリスペクトしているとのことです。) 白黒イラストのプリントのすすめ 「お父さんの部屋にあるなんか高い機械で、揺らすと怒られるやつ」、それが 3D プリンタです。 これでは旗色がわるいので、ここはひとつ「ぼく / わたしにも使える楽しいやつ」になってもらいます。 モデリングを覚えてもらうのはハードルが高いかもしれませんが、イラストならすぐです。 上の元絵はデジタルで描いてくれましたが、紙とマジックでも大丈夫です。仕上がりが不安ならこっそり白黒 2 値化してあげましょう。 線が細くなりすぎないようにだけ気を付けてもらうとよいと思います。 導入当初からこの活動を行っていた甲斐もあってか、家庭内通貨の製造依頼は嫁氏の方から来ました。ヤッター 方法 FlashPrint だけ使う方法 FlashForge のプリンタ用スライスソフト FlashPrint ( https://flashforge.co.jp/support/ ) は、グレースケール画像からモデルを作ってくれる機能があります。 STL や OBJ を吐けるので FlashForge のプリンタ以外でも問題なく使えると思います。(うちは Adventure3 を使っています。) バージョン 4.2.0 現在、ロード > 画像を選択するだけで OK です。 完成です!もう何も書くことはないですね。 ……コイン状にしなくてもよければ実際もう完成で、とてもお手軽です。 コイン状にしようとすると、ベースの厚さを 0mm にできないうえ、画像の周囲を透明にしても黒と判断されてしまうため、一手間必要です。 画像の中にグレーを流してやり(周囲は透明でなく白です)、 ベースの厚み + 0.1mm くらいの Z 平面でカットし、 下の板を捨てれば今度こそ完成です。 かんたん! あと 2 種類方法があるのですが……元絵が白黒(グレースケールでなく 2 値)ならこれが一番おすすめの方法なので、飛ばしてしまっても大丈夫です。 FlashPrint + Blender を使う方法 元絵にグレーを流さずに...

VR コンテンツ開発ガイド 2018 書いていました

VR コンテンツ開発ガイド 2018 という本を書いて…いました。いまは 2019 年です。 当時ブログの方には何も投稿していなかったのですが、一年ぶりに振り返ったツイートの連投をこちらにまとめておきます。 VRコンテンツ開発ガイド 2018の発売からちょうど一年ですね。2019 は出ていないみたいですし、この機会に感想とか差分とかぶら下げていこうと思います。あ、Kindle Unlimited化していますね! https://t.co/Gg1dIs8ywA — ウダサンド (@udasan_koubou) August 28, 2019 こちら共著で、著者ごとに章が分かれており完全に独立して読めます。個人的オススメは1章のHMDの光学系の話と、6章のVRのサウンドの話です。この本を手に取られる方の多くに刺さりそうな、汎用的・専門的・すぐに活かせる内容になっていると思います。 — ウダサンド (@udasan_koubou) August 28, 2019 僕の5章は、VRコンテンツのデザインTIPSです。前半ではHMDや入力デバイス、プレイエリアの広さやマルチプレイなどの基本的な技術的要素について…ではなく、そのメリットや制約を挙げて、それによってVRでどういうコンテンツが作れるかにフォーカスしました。 — ウダサンド (@udasan_koubou) August 28, 2019 …これ、たぶんタイトル流し読みすると「あー知ってる」ってなると思うのですが、わりと普通の文章にメリットとか何ができるかの話を書いているので、もしお読みになる際にはお付き合いいただけるとうれしいです。 — ウダサンド (@udasan_koubou) August 28, 2019 後半は、デザインの要素や考え方を書いています。コンセプト、体験の長さ、キャラクター、操作、移動方法、空間設計、マルチプレイ…などなど、ハシラスや個人で作ってきたコンテンツやお気に入りのコンテンツを例に解説しています。 — ウダサンド (@udasan_koubou) August 28, 2019 こちら、何か書きませんかと @korinVR さんにお声がけいただいて、はじめは書くことないかなとも思ったのですが、携わってリ...

UnDebuggAble ritTAi-chaN

イメージ
かわいいアバターになれるだけの実験的なソフト UnDebuggAble ritTAi-chaN (うだたん) を Oculus Store のアルファチャンネルで公開しました。 Oculus Touch の親指スティックで感情 (表情) を無段階に操作できます リップシンクにも感情がかかります 目と口の感情は Touch 左右別々にも操作できるので複雑な表情もできます 手でハートを作るとハートが出ます Touch 親指の感情は、ラッセルの円環モデルを参考に 2 次元マップしています。 テストをご希望の方は、Oculus ID に紐づくメールアドレスを Twitter の DM で @udasan_koubou にお知らせください。 詳細な操作方法はソフトの Details に記載しています。(位置調整や親指スティックの割り当て変更など) うだたんの話 ~ VR アバターで自撮りする話 from Udasan 上記のスライドに実装面の少し詳しい話を書いています。 モーメント うだたんメイキング うだたんになってしまった人々 クレジット ニコニ立体ちゃん  (株式会社ドワンゴ) Final IK  (RootMotion) MMD4Mecanim  (Nora 氏) MikuMikuDance  (樋口優 氏) Classic Picture Frame  (Vertex Studio) 2017/11/20 : モーメント追加

[Unity]BlendShapeBlink - ブレンドシェイプでまばたき

イメージ
Unity 用のまばたきスクリプトです。 モデルがブレンドシェイプを持っていれば使えます。 任意のゲームオブジェクトにアタッチ Blink Shapes に「まばたき」など、まばたきに使うブレンドシェイプを指定 Skinned Mesh Renderer を指定してから、Index を指定 (複数 Skinned Mesh Renderer をサポートするため、個別指定になっています) Min Weight / Max Weight を指定 (通常 0 - 100) Avoided Shapes に、例えば「笑い」「ウィンク」など、このブレンドシェイプが一定の閾値以上のときは破綻を防ぐためにまばたきを抑制するブレンドシェイプを指定 閾値 Threshold Weight を指定 (0.01 とかでもよいし、多少のブレンドを許容するなら 25 などに調整) コードは以下です。左下のリンクから DL できます。 こちら  MMD4MFaceBlink - MMD4Mecanimでまばたき  の上位互換になっています。

VR の移動方式を集めてみた (家庭用編)

VR コンテンツの移動方式を集めてみました。 家庭用編ということで、標準的な部屋と機材でできるものに限っています。 なお、観測範囲は Oculus, Vive のメジャーコンテンツや OcuFes 等のコンテンツが主です。 随時追記予定です。 テレポート テレポート先を指定して瞬時に移動します。 Farlands 視線と Oculus Remote のボタンにより、任意のテレポート先とテレポート後の向きを指定できます。また、神視点からのテレポートもできます。 視線をテレポート先の地面に合わせ、ボタンを押したままにしている間テレポート後の向きを視線の差分で操作でき、ボタンを離すとテレポートします。テレポート時にはごく短時間の黒フェードが入っているように感じます。 Bullet Train Oculus Touch から出るレーザーで、あらかじめ設定されたテレポートポイントを選択してテレポートできます。 ABXY ボタンを押し続けるとレーザーが出ます。レーザーは通常直進しますが、近くのテレポートポイントに吸い寄せられます。ボタンを離すとテレポートします。テレポート後の向きはポイントごとにあらかじめ決まっています。テレポート時には白フラッシュが入ります。テレポートポイントの吸い寄せ時は音と振動が入ります。テレポートポイントは特徴的な位置に設定されているほか、アイテムおよび敵の近くにもあります。テレポートポイントは通常非表示で、レーザーを出している間のみ表示されます。レーザーを出している間、ゲームはスローになります。 Robo Recall Oculus Touch から出るレーザーで、任意のテレポート先とテレポート後の向きを指定できます。 アナログスティックをどちらかに倒すとレーザーが出ます。レーザーは直進後に弧を描いて落ちます。アナログスティックの方向でテレポート後の向きを操作できます。スティックを離すとテレポートします。テレポート時にはやや長めの白フラッシュが入ります。レーザーを出したときやポイントが一定量動いたとき、テレポート後の向きを変更したとき、テレポートできない点を指した際などは音や振動が入ります。レーザーを出している間、ゲームはスローになります。 超高速移動 移動先を指定...

HTC Vive の音声ミラーをスクリプト制御する (ソーシャルスクリーンのネタバレ対策)

イメージ
HTC Vive を展示等で利用する際、HMD を着けている人が見ている映像 (あるいは第三者視点の映像) をディスプレイに表示する ソーシャルスクリーン は、周囲の人を楽しませ、惹き付けるのに有用なことはよく知られています。 この際、映像と合わせて音声も スピーカー出力 できるとより良いことが多いです。 ヘッドフォンの音声を物理的に分岐する、サーバー/クライアント構成をとり HMD 接続 PC とスピーカー接続 PC を分けるなど、いくつか方法はありますが、SteamVR の設定でも簡単に実現できます。 以下のように、 「設定」 > 「オーディオ」 > 「デバイスにオーディオをミラーする」 でスピーカーを選択するだけで OK です。 さて、 ネタバレ対策 で一部のシーンでソーシャルスクリーンを隠したいことがあると思います。 映像の方は例えば Unity のカメラ制御などで前面に出せばできるので詳細は割愛しますが、音声ミラーも合わせてオンオフしたいので、 オーディオのミラーリングのオンオフ を スクリプト制御 することを考えます。 Unity + SteamVR Plugin 1.1.1 を使っている場合、以下でできました。 (2017/1/15 追記 : SteamVR Plugin 1.2.0 の場合、下記 11 行目、GetString() の引数 "" を削除してください。API が変わっています) GetString() すると、以下のような文字列が取得できます。 "{0.0.0.00000000}.{4bad97d2-1df8-4fdb-bf3b-ccb574d6ff34}" これを SetString() してから Sync() すれば反映されます。 ミラーリングしないときは空文字列です。 上記の文字列はデバイスのプロパティのバス関係の末尾と同じなように見えます。 openvr_api.cs には他にも CVRSettings.SetBool(), SetInt32(), SetFloat(), SetString() と複数のセクション、キーの定義があるので、SteamVR の設定の多くはスクリプト制御できるのではな...

[OculusRift]VRで写真撮ってメールで送るやつ(仮)

イメージ
VR 空間内で見ている景色を、Leap Motion を使って手をファインダーっぽくすることによって撮影し、そのままメールで送るやつを作っていたので今更ながらまとめました。 (2015 年の夏に作って出展したきり放置しており…) 撮影している様子はこちらです。 撮影すると、登録しておいたメールアドレスに写真が届きます。 みなさんが撮ってくれた写真がこちらです! . @udasan_koubou さんのVRで写真撮ってメールで送ってもらった!親指と人さし指で作った構図通りに写真撮って、本当に自分のメールに送ってくれる! レアなユニティちゃんとUnity仮面2ショット! pic.twitter.com/ScXBH26FYB — Somelu (@Somelu01) 2015年8月24日 VRで写真を撮ってメールで送るやつ(仮)を体験!夕日とUnity仮面とUnityちゃんを写真に収めました!! #OcuFes pic.twitter.com/JYLP6P2dYD — 懐中時計 (@kaityuudokei100) 2015年8月24日 ウダサンさんのVRで写真をメールで送るやつ(仮)の撮影結果。裏でユニティ仮面が走っているんですが、上手くフレームに納められなかったw pic.twitter.com/Gvur0O6jdK — ザバ(ザバイオーネ) (@z_zabaglione) 2015年8月24日 VR で旅行して思い出が残せたりすると楽しそうですね。(これを作っていた 2015/8 はともかく、これを書いている 2016/5 現在、多分そういうアプリもありそうです) 課題はやはり、両手で構えてからタイマーで撮影する方式になっているため、瞬間で撮ることができない点です。音声認識で「ハイ、チーズ」といった方法は考えられますが、Oculus Touch などのボタンで撮影した方が手堅いですね。 手でやるなら、動画にしたり連射してあとから選べるようにすると、タイマーの欠点を補えるかもしれません。 なお、メールは一旦ローカルの HTTP サーバー (BlackJumboDog) に送信し、そこから Gmail を経由して送信元アドレスが Gmail になるようにしています。(一般向け...