2017年10月23日

技術書典3 サークル参加レポ #技術書典

tbf3-myspace.jpg

技術書典3、おつかれさまでした。当サークルに遊びにきていただいた方、書籍を手にとっていただいた方、スタッフ他関係者のみなさま、ありがとうございました。

サークル参加して、「VRコンテンツのつくりかた2」というDaydream本を頒布してきました。
頒布した本の内容についてはは先日のエントリを参照願います。

○当日の話

以下、つらつらと。

・B5オフセット表紙フルカラーのP.44 新刊1種、旧刊なし、1冊500円で頒布。
・持ち込み113 - 提出見本1 - 展示見本1 - 残り25 = 頒布86(のはず)
・前回に引き続き、残りのうち10部(+1部見本)をCOMIC ZINさんの委託に預けました。
・かんたん後払いは10人と少し、アプリの使い勝手はよく、特にシェアコードのEmojiは良いなと思いました。
・BOBOVR Z5とDaydreamをスペース埋めに展示、Daydreamの紹介の意味で10人程度の方に体験してもらいました。
・かんたん後払いも効果もあるのか、1000円札支払いと500円玉支払いが見事に釣り合い、手持ちの500円玉数にほぼ変化なし。
・今回は100円玉ケースも用意したのでサイフがカタカタジャラジャラすることなく、良い感じでした。

台風という悪天候でしたが、島中の自スペースは何も不自由なく。寒いかと思いきや人がいっぱいで湿度が高く暑いぐらいで。
途中から冷房が効いてきて涼しいのとちょっと蒸してきたのをシーソーしつつ、全体的には1日快適にすごすことができました。

前回ははっきりと初心者ターゲットの本だったのですが、今回は1冊まるまるDaydreamという、特化したプラットフォームの話です。
最後まで見本誌をじっくり確認された上で「iPhoneは対応してませんか?」「残念ながらAndroid限定です」みたいなやりとりも数度ありましたが、Daydreamの知名度をあげる意味では目的は達成できたかなと思っています。


○制作の話

tbf3-100.jpg

もう少し時間をかけるつもりだったんですが、9月に風邪を引いたりお腹を壊したりみたいなのもあって、時間があった割にはちっとも計画的にできず、結果前回と同じぐらいの慌てながらの締め切り駆動執筆になってしまいました。

制作方法は、技術書典2の前回と同じ方式で、Re:VIEW+日光企画さんのWeb入稿で。2回目ということもあり、前回以上にスピーディで簡潔なやりとりでさっくりと本ができました。


○原価とか残りの話

今回は44ページ100部発注で、印刷費が約44000円+サークル参加費が7000円の計51000円なので、100部500円設定は実は単純計算では赤字の計画です。電子版を用意するのではなく、GitHubにRe:VIEW一式を公開しています。

これは、基本的に僕の本は「利益を出す商業本」「対価を得る同人誌」の流れではなく、「SNSやblogやGitHubに好きなことを置いてくる」スタイルの延長戦として、アナログのおまけグッズという感覚で作っています。

そのため買う側の観点で、「レアテーマの話がまとまって本の形になってるなら払ってもいいかな」感覚で価格を決めていますし、売る側の観点では「普段しないオフセ本頒布するという面白い体験がそれなりの原価で楽しめるならいいかな」感覚で価格を決めています。

あまり考えてないともいいます。

standaloneの続報まだかなー。

2017年10月20日

スマホVRはポジトラの白昼夢を見るのか?

Mobile inside-out VR Tracking, now readily available on your phone with Unity - Unity Blog
https://blogs.unity3d.com/jp/2017/10/18/mobile-inside-out-vr-tracking-now-readily-available-on-your-phone-with-unity/

Mobile inside-out VR TrackingをSamsung Galaxy S8でDaydreamGear VR+ARCoreにて実現する話がUnity Blogに掲載されました。
ASUS ZenFoneAR+Tangoでも実現した話がついでに掲載されています。

特に後者について、target23だとDaydreamが動かず、target24だとTangoが動かなかった僕の確認結果が突破されていて謎だったので、追試をしてみました。


〇プロジェクト一式よこせ系

Tangoはもう公開されてない古いSDKが必要だったりウニョいのでアレですが全部込みでGitHubに置きました。apkもあります。

Tango + Daydream
https://github.com/youten/TangoDream
ARCore + Daydream
https://github.com/youten/ARCoreDream


〇Daydream+ARCore

・Pixel XL(Android8.0)
・Unity2017.2.0f3を使用
・arcore-unity-sdk-preview.unitypackageをインポート
・Player Settingsまわりはblogにも掲載されている他、Unityのネイティブ対応に任せたGear VR/DaydreamとARCoreの公開ドキュメントの通りのため省略。

ここから話がはしょられ気味、よしなに補完しつつ完成させる。

・ARCore DeviceプレハブをHierarchyに配置、Tracking TypeはPosition onlyに設定。配下のFirst Person Cameraは使わないので無効にする。
・AR Session ConfigのDefaultSessionConfigを開き、Enable Plane FindingとEnable Pointcloudのチェックを外す
・GoogleARCore/HelloExample/Scripts/HelloARController.csをベースにblogの内容に従ってゴリゴリと書き換える
・VRCameraParent(Empty)>Camera(Camera)>CanvasCamPose(Empty)>CanvasとCamPoseText(Text)という階層構造で、ARCoreでposition移動させる対象の下に標準カメラを、さらにその下にデバッグ表示TextをWorld Spaceでぶら下げる。

ARCoreは起動・初期化時にカメラが原点になるらしく、適当に起動すると地面に埋まります。手元に持った状態で起動する方が楽なのでCameraのTransoform Y=1.2を設定。
このあたりはPlain Findingを有効にして地面認識を待ってずらす処理などが必要そう。

動かしてみた感想はそれなりに動いているが、Tangoと比較してプルプル気味、座標が飛びやすい。
Tangoと違ってArea Learningによる復帰ができないので実際に使おうとすると、人をうまく狙ったように動かす起動前チュートリアル設計が重要そうです。


〇Daydream+Tango


・ZenFoneAR(Android7.0)
・Unity5.6.3p4を使用
・Player Settings > Other Settings > Virtual Reality Supportedを有効に、Virtual Reality SDKsにDaydreamを追加
・Minimum API LevelをAndroid 7.0 'Nougat' (API level 24)に設定
・blogに従って、最新のTango SDK Ikariotikosを避けるも、TangoSDK_Biyelgee_Unity5.unitypackageは古すぎて手元にない。2つ前のTangoSDK_Gankino_Unity5.unitypackageが見つかったのでそちらを利用、Deprecatedフォルダ内のTango Delta Camera(Deprecated)を利用して成功。
・AndroidManifest.xmlのマージエラーは直下のmin17をmin19に変更することで回避。

結論として、Unityの設定としてAndroidのSDKバージョンがmin24だとしても、Pluginフォルダ内に含まれるAndroidManifest.xmlの方が優先され、min19target23としてDaydream(Android 7.0が要件)とTango(target23が制限)は同居できました。
Google VR SDKを含めるとtarget24になってしまうので、Daydream Controller APIが使えなくなるはず(回避可能?)。
Daydreamコントローラを使わないのであればペアリングまわりの操作は不要なので、デベロッパー設定でVR Entry Screenは外しておくとちょっと便利です。


〇さいごに

はー技術書典3前に色々すっきりしてよかった。

2017年10月18日

技術書典3 れいぞうこのドア か34にて「VRコンテンツのつくりかた2」を頒布します #技術書典

今週末の2017/10/22(日)に、秋葉原UDX アキバ・スクエアで開催される技術書典3にて、「VRコンテンツのつくりかた2」という本を頒布します。
1冊500円です。本文44ページです。
サークル名は「れいぞうこのドア」、スペースは「か34」です。

vr2-hyousi.png vr2-urabyousi.png

前回の技術書典2でははしっこでしたが、今回は島中です。

ka34-map.png

目次他、ページサンプルは以下の通りです。

2.png
3.png
4.png
5.png

・対象読者と方針
VRそのものとアプリ開発(VR/Android/Unity)に下知識または興味があって、日本発売が計画されている今のタイミングでのDaydreamについて幅広く知りたい人向けの本(のつもり)です。
コードは一切載っていませんし、開発ノウハウがゴリゴリ書かれたものではなく、読み物です。

・2章 Daydreamを知る
Daydreamの概要にはじまり、歴史的経緯やAndroidプラットフォームとしての要件(CDD)、Daydrean standaloneなどについて書いています。Oculus GOとかARとポジトラまわりの話のポエムも掲載しています。

・3章 Daydreamを使う
Daydreamの初期セットアップに始まり、ホーム画面の最低限の機能やアプリを紹介した後、おもむろにデベロッパー向けデバッグ設定を振り回してDaydream ViewなしでどうにかDaydreamを試す話に移ります。ついでにDaydream互換機であるBOBOVR Z5 Daydream Editionについても取り上げています。

・4章 UnityでDaydreamアプリ開発の入口を覗く
Daydreamも発表から1年半経って、Google VR SDK、略称GVR SDKがだんだん肥大化してきて、公式サイトもカオスな雰囲気になっているところに、入口からどのように覗けばいいのか、というツールやサンプルの紹介をしています。Hello WorldとしてGVRDemoを、GVR SDK for Unity v1.100.1で使い勝手が格段に進化したInstant Preview、こっそりサンプルが増えていたDaydream Elements、メディア再生アプリサンプルとしてすでに十分にできあがっているDaydream Media App Templateなどと、デザインガイドラインについての紹介を含んでいます。また、モバイル対応6DoFモーショントラッキングシステムであるNOLOについても書きました。

前回と同様に、今回もPDFとRe:VIEWのファイル一式をGitHubで公開予定です。ご了承ねがいます。

VRコンテンツのつくりかた2
https://github.com/youten/howto-create-vr-contents2

それでは、日曜日に皆さまにお会いできるのを楽しみにしています!

2017年10月10日

Unreal FEST EAST 2017 に行ってきた #ue4fest

ue4fest-east-2017.jpg

相変わらずUE4に手を出せていないのでごめんなさい・・・と思いつつパシフィコ横浜で近場なのと講演内容が魅力的すぎて我慢できなかったUNREAL FEST EAST 2017に行ってきました。楽しかったです。

UNREAL FEST EAST 2017
https://unrealevent.eventcloudmix.com/

○チャリで来た

いい天気だったのでチャリで行きました。暑かったです。
もうそろそろ地図を見ないでも自宅ー横浜/桜木町間を行けるようになりたいのですが、夜は道を間違えますね・・・

○「VR ZONE SHINJUKU 極限度胸試しハネチャリ」ゲーム会社×映像会社で作るヤバイVR体験

ハネチャリのレベルデザインとグラフィックのブラッシュアップの分業話おもしろかったです。
"ホワイトボックス"と"キットバッシング"というのは用語としてもう少し定着してもいいと思います。
# ゼルダの講演のやつ、とか名前ついても正直困る・・・

○「VR ZONE SHINJUKU」の知見、全て吐き出します!
VRならではのリアリティデザインで釣りのようなジャンルで既存のゲームとUIが革命されていく話、乗り物VRのヨーイングにまだ人類は勝てていない話、それでもガタガタ揺らしておけば人間は酔いづらくなる話、先に絶叫させる、とりみださせることによって没入間があとから付いてくる(体の現象に心が引きずられる)話、めっちゃ楽しかったです。

二人でバカスカ割り込んで喋ってこれだけ無事なのほんと発表力(プレゼン力とかじゃなくて舞台演じ力とかの域ですよね)ェ...

○ドラゴンクエストXIへの道 ?グラフィックスの作り方?

撮影不可、テキストのみSNS可だったので必死にメモタイプしました。

今見直すとところどころ間違ってるのですが脳内では補完できるのでまぁなんとかなったかな・・・
Tweetでも述べてますが内容は易しくゆっくりめだったので平和でした。

○Rez Infiniteはいかにして生まれたか - 我々が目指すシナスタジア(共感覚)表現の未来
水口さん「好きなことやってたら結構ほめられることになったんだよいいだろー」という話でした。

Rez、どうやってあんな「自然言語で相談するのが難しそうな表現に仕上げていくことができるのか?」って思ったんですが、イメージを合わせるためにひたすらプロトタイピングでしかないんですね。「VRゲームはやりながらつくるしかない」ってたびたび言われますが、そもそも水口チームは自然言語で検討するのが困難なものをつくろうとしてる歴史があって、その延長線上なのがよくわかりました。

○ドラゴンクエストXIへの道 ?The "L"oad To DragonQuestXI?

こちらも撮影不可、テキストのみSNS可だったので必死にメモタイプしました。

具体的なUEの設定オプションの情報とか、ボロボロ抜け落ちてます。HDDのシーク時間がとにかく敵だという話とか、GCのMark&Sweepとstatic常駐の使い方とかはUE4語にされるとわかりづらいのですが、コンピュータ・プログラミングとしては一般的な話ですよね、もう少しシンプルな説明にできたんじゃないかな、と感じました。(逆にいうと、このあたりの各メディアのレポートがダサくなるかかっこよくなるかが気になるポイントです)

>"大規模タイトルを制作する際に問題になりがちな、ロード時間・ヒッチング(カクつき)・ガベージコレクション・クック等に関する地味なお話しです。 ストライクゾーンが大変狭いセッションなのでご注意ください(^^;"

今ふりかえるとこのセッション説明、ものすごく正確ですねw

○堀井さんとゆるゆる話す『ドラゴンクエストXI 』の製作秘話

ドラクエファンとして生ほりいゆうじの引力には逆らえなくて大変楽しみなセッションだったのですが、紙山さんが無双してたのがとてもよかった。

「堀井さんがドラクエである」度が高すぎる
→しかし堀井さんの守備範囲は企画・演出であって、シナリオ・脚本ではない
→「堀井さんにおうかがいを立てる」プロセスでビッグタイトルを扱うと、設定が綺麗に収束するかは運になってしまう
→結果、雰囲気として最高だったけど、終盤のほぼ全てのイベントで矛盾・不自然な点があってそれをおさえこめていないDQ11みたいになる

というのをかなり感じてしまいました。

おつかれさまでした。