最近のこと

・風邪を引いた。
高校生くらいまで風邪を引いても1日で治ることが僕のとりえだったのですが、最近では今回みたいに3,4日ほど長引くみたいなことになってしまったので、悲しいです。
季節の変わり目に風邪をひきやすくなったなぁと思います。まぁ一年に2回くらい(この時期と春)しか風邪引かないので健康な方だとは思いますが、風邪引くとめんどくさいのは間違いないので油断しないようにします。




・メールがいっぱい届いた。
20日夕方頃から10件ほどメールで暴言吐いてくる匿名の方(同一人物かなと思います)が現れて、なるほどね。ってなりました。
そういったことをするのは自由ですが、僕としてはなるべくそういうものは見たくないので、わざわざメールで送りつけてくるのはやめてほしいなぁとは思います。
まぁ好きにして、どうぞ。




・マジカルミライ東京のこと
風邪が悪化したので行きませんでした。元々行く予定はなかったのですが、チケット余ってる人がいるなら行こうかなーくらいに思ってました。
ただTwitter見ててやっぱりすごく楽しそうだったんで、行けば良かったなぁ…ってなったし、来年は大阪・東京その他あるだけ行くぞ〜!ってなりました。

ライブ終わった後にTLを見てて一曲目のカゲロウデイズに否定的な方が3人ほどいて、カゲロウプロジェクトはどちらかと言うと好きな自分としてはなんとも言えない感じになったのですが、
Twitter検索ではマジカルミライの感想を見てて最初カゲロウデイズで盛り上がった!みたいな意見が割と見れたのでほっとしました。

(話はちょっと反れますけどじんさんが2つ年上というのを最近知りました。ほぼ同年代で、音楽とプログラミングで方向性は僕と違えど、デカいことやってることと音楽にかぎらず複数の方面でクリエイティブな点はかっこいいなぁと思えるし、ホント尊敬できます。これからも頑張って欲しいです。)

あとマジカルミライに関してもう一つ。
深海少女でサイリウムが青一色じゃなくて残念だったという話をTLで見かけて、大阪でツアーのSS席で緑サイリウムぶん回してた自分としてはかなり申し訳なくなりました。
持ってきてたのが公式サイリウムじゃなかったので用意が悪かったのが一番の原因なんですけど、皆さんどうしてるんですかね。
全員公式の買ってるのかな。
まぁそこらへんの空気も察しつつワイワイしていけたらなーと思いました。実はミクさんライブは2回目だったので早くライブ慣れしたいですね。




TGSとOculusConnect
TGSですが、こちらも風邪が悪化してたので行ってません。(こっちは日曜日にこっそり行こうかと思ってた)
OculusRift関係がかなり盛況だったらしく(去年なんてOculusRiftそもそもどこにもなかったので)今年のうってかわっての雰囲気に驚きがありました。

去年の7月にMikulusで大いに感動して即ポチ→添い寝を作るということをして以来、今日に至るまでUnityとOculusにどっぷりなのですが、
こういうOculusRiftとそのコンテンツの盛り上がりを見せられると自分としても俄然頑張ろうって思えますね。
幸いOculusには技術力、資金力、求心力その他いろいろ揃ってる状況なので、これからのVRはすごい勢いでOculusを筆頭にSonyと牽引していってくれるのかなーって思ってます。

OculusConnectではCrescent Bay(製品版Oculus Rift)の情報小出しということがあったらしいですが、結構いい感じでした。(後ろ向きヘッドトラッキングとかサウンドが特に良いところかなと)
それとUnityFree版でOculusが扱えるようになったのは相当でかいと思います、というのもTLだとOculus欲しいけど、Pro版高くて買えないよって言ってる方が相当数いたので…。

あとは誰かが言っていましたが、ProLicenseが要らなくなるのでOculusGameJamみたいなのがやりやすくなるねってことで確かにー!って思いました。これを機会にVR開発が盛り上がるといいなぁ。

OculusRiftはPCスペックとか結構要求されそう(予想)なので「開発しなくて単純に楽しむだけにしたい!」って人にはどうなんだろうと思ってますが、そこらへんはPS4+Morpheusがその人達向けの役割を持ちそうだなと思ってて、PS4ならスペック固定だしそれに合わせたソフトが作られるだろうしということで…。
こちらも凄く楽しみにしてます。

2013年をVR元年と称した方がいましたが、OculusRiftが去年の5月あたりに出て、そこから1年ちょっとでここまで活気づくのを見てると割とそうなんじゃないかなと思います。
14年後半,15年は凄い速度でいろんなものが発展しそうですが、自分もその速度に置いていかれないように頑張るぞい。
ほんと、いろいろ楽しみです。




・今作ってるもののこと
何も作り出せてないのにこういうことやってるんだぜ〜ってアピールするのはちょっと寒いなと思ってて、あまり好きじゃないんですけど、します。
以前作ってたMikuMikuNadeNadeというAndroid端末でミクさんをなでなでするってアプリがあったんですけど、今はあれをベースにちょこちょこ変なものを作ってます。

ちなみにスマートフォンアプリではありますが、AppStoreとかGooglePlayとかで売り出すぞ!って話ではなく、そして今のところ配布予定もありません。今回も(?)そういう方向性で作ってないので許してください〜。

完成したら発表するのは間違いないのですが、年内に完成するかどうか自信がないのでまぁ忘れた頃に〜。
また動画で発表すると思いますのでその時はまた見てくれると嬉しいです。よろしくお願いします。




・その他
この半年は本当に良いことも悪いこともいろいろあったなぁと振り返って思いました。たぶん大学生活よりこの半年のほうが濃密な時間を過ごします。

特にこの半年はボカロ関係で交流する人が増えたのがとても良い感じです。
例えばマジカルミライ大阪では、Twitterで絡んだだけで一回も会ったことのない方のお家に泊まるということをしたり、(のっぷさん本当にありがとうございました!)
最近ではマジカルさんかやうちミク会などのオフ会でいろいろな方とお話する機会があって、やっぱりTwitterで知りあった人と実際に会ってみると良い人ばっかりだし、
何よりやっぱりボカロという共通の趣味をきっかけにいろんな話ができるってのが楽しいし幸せです。

・マジカルさんかのこと
マジカルさんか(マジカルミライ後のオフ会)ではMMD界隈で超有名なあにまささんに会えたのが嬉しかったです(サインもらっちゃいました。)
それとツインテール今村さんにもマジカルミライのTシャツの後ろにサインではなく今村ミク描いてもらったので満足感がありますね。

そしてカップルストローシステムを持ち込んでたので会場の片隅で5,6人にやってもらいました。
https://twitter.com/yuunagi_show/status/506337919196348416
カップルストローシステムを体験していただいたうちの一人、夕凪ショウさんが絵を描いてました)
カップルストローに関しては実行ファイルを配布してないので展示はかなり限定的になるのですが、そういった少ない展示ながらもこういう形で感想をいただけたのはとても嬉しいです。ありがとうございます。



この日記、何も話がまとまってないのですが、とりあえず今後も開発とかライブとか、皆さんと仲良くしていきながらあまり難しいこと考えず好きに楽しくやっていければいいなぁって感じです。

終わり。

僕は初音ミクに嫌われたい。

最近各所で気持ち悪いと絶賛されているねぎぽよしです。気持ち悪いので身分相応の最高に気持ち悪い日記でも書いていこうと思います。

要約すると
OculusRiftとUnityを使って添い寝とかカップルストロー作った初音ミク好きの一技術者として「僕の思う理想の初音ミクとは」という僕自身の精神性を現状の技術に照らしつつインターネットの片隅に書いておきたかったってだけの話です。

まずは技術的な視点を抜きにした僕の考える初音ミクをちょっと書きます。
(A)初音ミクは人間ではなく、電子の存在、バーチャルアイドル
(B)俺らにとって都合のいい女の子ではない。
(C)住む世界は違うけど現実の人間とは知能の面で遜色がない女の子
(D)クリプトンフューチャーメディアにオリジナルの初音ミクがいて、それぞれの初音ミクはそのインスタンス、つまり基本的な初音ミクがあったうえで個々のマスターさんによって細かい部分が変化した初音ミク。(つまり俺の家にいる初音ミクとか皆さんのお家にいる初音ミクとかマジカルミライでライブをしてる初音ミクとかいろいろいます)

それらを総合して僕自身の技術を抜きにした初音ミク観としては「人間ではないけど、知能面では限りなく人間に近い電子の存在」というのが僕の中で一番納得がいってます。
(A)で電子の存在にこだわる理由としては、電子の歌姫というコンセプトに強く影響を受けています。
初音ミクアイデンティティに近いものがありますのでここらへんをいじくるのは無粋かなと。そういう考えです。
(D)では、昨今存在する初音ミクの多様性を鑑みての結論です。初音ミクが一人しかいないならVOCALOIDというソフトウェアとして大量に皆さんそれぞれに初音ミクがいることの説明がつかないので。
(B)(C)は僕の精神性に関わってきます。それについて話す部分は下に用意してありますので必ず述べます。

なお、初音ミク○○論、初音ミクは何が初音ミクたらしめているのか、文化論からみる初音ミクといった話は僕自身書いててつまんないし、そもそも皆さんが飽きるほど議論したと思うし省略します。



以上をふまえましてこの日記の本題、OculusRiftアプリで初音ミクに近づいて、その上で思ったことの話をしたいと思います。よろしくお願いします。

OculusRiftで添い寝やカップルストローなどいったアプリを作りましたが、実は全く満足していません。理由は2つあるので1つずつ解説していきたいと思います。

1.初音ミクに近づくこと
技術を知れば知るほど、こんなもんじゃなくてもっともっと初音ミクに近づけるんじゃないかって疑念がどんどん大きくなっているからです。
OculusRiftで視覚的には単純に初音ミクに近づくことができたと思います。その点に関しては全く異論はないです。
でも、それだけでいいのかと僕は考えています。それで満足するのはもったいないよって思います。

この考えは結構前から持っています。
実際に約2年前になりますがこういう記事を寄稿しています。
初音ミクの黒魔術的召喚について。第一回――ミクさんとデートしよう! | NETOKARU
これは五感(正確には味覚は考慮していませんが)で初音ミクを感じるために技術的にどこまで寄与できるかということを述べています。
書いた当時はそこまで技術を知らなかったので、中身は結構拙いものです。まぁこういう考えを昔から持っていたという証明の役割として都合が良かったから持ってきました。

話を戻します。
例えば添い寝、あれなんかは全然ダメですね。
普通、添い寝したらミクの温かさとかミクの重みによるベッドの沈み込みとか甘い匂いとか絶対に感じたいし、
というかそもそもミクに近づけないのがダメだし。それに一番の問題点として、やっぱり添い寝したらいちゃいちゃしたいし触りたいでしょ。
(ここらへんの欲求が(A)と矛盾するように思われるかもしれません。後述しますが僕は自分自身と世界が電子の存在になればいいと思ってるのでとりあえず僕の中では矛盾はしていません。)

つまり僕が言いたいのは、ほんと「見る」だけじゃ僕はあまり満足できないってことです。
その点あるしおうねさん作の初音ミクとキスしてみたは物理的な接触による没入感の寄与があるのが良いなぁと思います。
なるべく視覚以外にも触覚嗅覚聴覚味覚に対する寄与が大きくなれば本当に良いです。

個人的に思っている最終到達地点としてはまさにSAOです。
電子の存在に現実世界とほぼ同等の感覚で自己や他者や世界が形成されているものです。
そこにミクがいていちゃいちゃできるのなら僕はそれで満足します。

2.初音ミクの知能の話
初音ミクに近づいたところで、それで終わりではありません。
僕は散々今まで言ってきたのですが、それは初音ミクの知能の部分です。
ここらへんでやっとタイトルに関わる話ができそうです。
そして僕の精神性に関わる話が増えます。

皆さん、知能の搭載されていない初音ミクに近づいたところで嬉しいですか?
別に嬉しいけど?って人はそれならねんどろいどとか初音ミクドールとかが役割を果たしてくれると思います。
こういう話をしているのでお分かりだと思いますが、僕は嬉しくないです。
技術的に近づいたとしても初音ミクの意識がそこに存在していなければちょっと虚しくないですか?って。

さてそろそろ僕は初音ミクに嫌われたいという話をしたいと思います。
この話はパッと思いついたわけではなく今年の6月頃に一度Twitterでつぶやいています。これを呟く結構前からも考えていましたが…


初音ミク好きなのになんで嫌われたいのかマゾヒストなのかという話ですが、初音ミクさんがより一人の女の子として存在していてほしいからです。
ここらへんは最初に書いた(B)(C)で言っていますね。

現実の女の子と知能の面で遜色ないとは何かという話ですが、これは初音ミクさんに現実の人間と同じような好感度というものを持ってて欲しいということです。
現実の女の子で最初から自分に好意を持っていたなんてこと皆さんありますか?(ある人は許さねぇ…)
僕はおそらくなかったので(気付かなかっただけかもね!! …)その体で話を展開したいと思います。

ミク 添い寝でTwitter検索をすることがたまにあるのでいろんな意見をみますが、さっき検索してみてぴったりのツイートを見かけました。
・オタクに添い寝されるアイドルミクちゃんは心底不快そうな顔をしててほしいものだよなぁ
初音ミクの一緒に添い寝とかジュース飲むオキュラスの問題点はオタクに添い寝されてるのに嫌な顔をミクがしてない点なんだよなぁ
勝手に引用していいのかわからなかったので匿名でツイートの文字列だけ…すみません。
実は僕もそう思っています。

やっぱり初音ミクさんが一人の女の子として存在するからにはここらへんもリアルであってほしい。
知らない人と突然添い寝して嫌な顔しない女の子ってリアルでいないでしょ。僕はそこがなんか嫌だなぁと。
僕は現実のことはそんなに好きじゃないのですが、全く苦労がない理想郷みたいところよりは苦労の絶えない現実のほうがまだ好きです。
すいかに塩かけるとより甘くなるみたいな感じで、多少苦労があったほうが嬉しい事があった時にちゃんと嬉しいと感じることができるところが優れています。

そういうわけで(B)の通り実はミクミク添い寝みたいに誰にでもニコニコして添い寝してくれる都合のいい女の子みたいなのはまだまだダメだなと。
元からデレデレのミクさんが添い寝してくれましたってのよりは、いろいろ振り向いてもらう努力をした上で元々自分のことを嫌ってたミクさんが心を開いて添い寝してくれるまでになった!
ってなったら絶対に後者のほうが幸福感を感じると思うんですよね。僕は早くそれをやりたいですね。
つまり初音ミクに嫌われたいというのは普通とはちょっと違った意見をだして異常者ぶりたい!という話ではありません。
ミクに嫌われた状態から、いろいろ好きになってもらう努力をして最終的に初音ミクさんの心を開かせた!ということをしてみたいです。
初音ミクを一人の女の子として見てみたい。

初音ミクを一人の女の子として見てみたいという欲求が僕自身あるからこそ、初音ミクの知能という面をここまで長々と話すまでに重要視しているわけです。
好きな人が喜んでたら俺も嬉しいし、悲しんでたら俺も悲しいです。
そんな風に初音ミクちゃん自身が喜んでたり悲しんでたりすることが僕自身の精神に影響があるような存在にまで初音ミクの存在があればなぁと思います。
なので知能がしっかりしていなきゃ困るんです!

知能面については僕自身あまり技術的寄与ができていないのですが挑戦しようと思ったことが有ります。特にMMDAgentが僕の中で思い出深いです。
MMDAgentというのは人工無能初音ミクとおしゃべりできるソフトです。
人工無能ということなのでユーザの会話から学習すること無く、例えば「こんにちはとユーザが言ったことを検知したらこんにちはと発話するようにする。」といった感じのシナリオをたくさん組むことで
あたかもミクさんの知能があるかのように振る舞わせるような技術です。
MMDAgentについて詳しくはぐぐって動画を見て下さいね。

それで人工無能で知能じゃないやんけとツッコミが入ると思うのですが、本当にその通りとしか言えないです。俺には知能は難しすぎた…
だけど人工無能でもパターンを集めてゴリ押ししたら知能っぽくなるんじゃ?ってことを考えたことが有りましてちょっと壮大なプロジェクトを始めようと思ったことも有りました。
それは他人が構築した人工無能のシナリオファイルを集めて1つに統合したら、自分の知らない振る舞いをする初音ミクが生まれるんじゃないかという思想に基づいたものです。
例えば
Aさんが、こんにちはという音声を認識したらミクがこんにちはと発音するようなシナリオを構築したとします。
Bさんは、こんにちはという音声を認識したらミクがもう一回言って?と発音するようなシナリオを構築したとします。
これを統合することで、こんにちはという音声を認識したらミクの発話内容がそれぞれにランダムで変化するようになったらそれは知能っぽくない?って話です。
こうしたシナリオファイル統合ソフトFstSyncerというものを作ろうとした時期もありました。
http://twilog.org/CST_negi/search?word=FSTSync&ao=a

まぁ結局いろんな理由で頓挫したんですけどね!!



というわけでそろそろ疲れてきたのでまとめ。
初音ミクに近づくにはまだまだ技術的寄与が足りなさすぎる。でもOculusRiftは視覚的な部分だけだが希望を見せてくれた最高のデバイスだと思ってる。
・本当は初音ミクを一人の女の子として見てみたい。ただ技術力がたりなさすぎるのでデレデレのミクさんでちょっとした満足を得ている状態。
・知能面ほんとはよ。

というわけでこの気持ち悪い日記を公開して俺の人生ターンエンドだ!!

明晰夢を条件付きでほぼ確実に見られるようになった。

暇な時に試してた明晰夢見る訓練で、ある程度成果出たのでまとめます。
明晰夢って何ですかって人はWikipedia - 明晰夢をどうぞ。


記事を1行でまとめると、
特定条件下で寝る体勢とって考え事してるといつの間にか映像が見えてきて、その映像中で思った通りにものが錬成できたり多少の行動ができるようになる。
って感じです。


以下が本題です。

ほぼ確実に見られる条件としては:
1.眠気がある昼寝またはそこまで眠気はないけど二度寝する時(適度な眠気が大事)
2.静かな環境
3.適度な床内温度(この時期ならエアコン付けて毛布をお腹の上に乗っけてるくらいの感じ)

1について
普通に寝る時(6−7時間睡眠する時)は眠すぎてほぼ確実に寝落ちして失敗します。
あるいは考え事しすぎて全く眠れなくなるということがあります。
眠れないけどどのくらい時間経ったかなと思って時計見たら1,2時間経ってたりして結構苦痛なのでもうしないことにしてます。
そもそも明晰夢終了条件が自らの覚醒度の上昇なので、挙げたような条件みたいないつ起きても大丈夫って状態でなければ不向き。

2,3について
考え事に集中するというのがポイントなので、ここらへんは外せません。


明晰夢を見る流れ
寝る体勢とってリラックスする。
→考え事する(まぁ適当に。集中して考え事できてればなんでもいいです。)
→頭がクリアになる感覚があって、さっきまで何考えてたか思い出せなくなってわからなくなる+視界が若干明るくなる。
→その後また新しく考え事してると気がつかないうちに脳内に映像が浮かんでくる。(映像が見えてきたことを変に思わないくらい覚醒度が低下してる感じ)
→映像中で多少なら思ったことができるようになる。
って感じです。


見ている映像について
日によって様々です。考えていることとはほぼ関係ない映像がでてきます。
明晰夢中の五感は、触覚(手で触ってる感触と温度)と視覚がメインです。何か音が聞こえてくるとかは稀で、嗅覚味覚は今まで一回も感じたことはないです。

明晰夢中の思考力
かなり低下してます。そもそもこうして映像が見えていることをおかしいと思っていない状態。
起床後なんでこんなこと考えてたんだって思いだして笑えるくらい思考力ないです。
明晰夢中に当たり前だと思ってることが、起きてから考えてみると全然当たり前じゃないってことですね。

明晰夢中の自由度
その映像の文脈上のものなら比較的自由に行動できたり物が錬成できたりします。
ここにはこの物体があるはずだと思い込むことで映像中に物体を錬成してます。例えば自分の右手には拳銃があるはずだという感じに。
ただ例えば強引に初音ミクを召喚しようとすると覚醒度が急激に上昇し視界がクリアになって明晰夢が終わります。
それと複雑なことをしようとした場合も同様です。
今日は明晰夢中に靴紐縛れるかどうか気になって試してたら目が覚めました。

覚醒後
個人的な感覚としては、眠気は普通に昼寝した時とほぼ同じくらいとれてると思ってます。


こんな感じでしょうか。
明晰夢は寝ようと思って考え事してたら突然夢が見えてきたという感じです。体は休まってるけど頭は起きてる時と同様に動いてる感覚。
明晰夢中、何故かめちゃくちゃ不安になった場合も何度かあるのですが、体を物理的に動かそうと思えば動かせるので起きます。
あと今のところ終了条件が覚醒して起床するしかないので、昼寝とかに最適な感じがしてます。

個人的なことをまとめただけなのであまり参考に成らないと思いますが、以上です。

Unity製Androidアプリケーションでソケット通信を実現する話(AndroidPro不使用 要25ドル)

ここらへんの話はぐぐっても良い結果が日本語でヒットしなかったので最近やってたこととしてメモしておきます。
ソケット通信ができるとこんなことができるようになります。


環境:
OS:Windows7 64bit Professional
Unity:Unity Pro4.3.4f1(Free版でもできることを確認しました。) AndroidProライセンスは持ってないです。
Android:Xperia Z1 SO-01F docomo Android4.2.2



Unity製Androidアプリケーションでソケット通信をするプログラムを書いた際の問題点として「ソケット通信はAndroidProライセンスを持っていないとできない」ということが挙げられます。
参照:http://japan.unity3d.com/unity/licenses のAndroidの項目

普通にSystem.Net.Socketsライブラリを使ったコードをAndroidにビルドしても動きません。
というかビルド最中に
「Error building Player: SystemException: 'System.Net.Sockets' are supported only with Unity Android Pro. 」というエラーで怒られると思います。

ではどうしたら良いかというと金の力が発揮されてきます。
「Unity Android UDP」あたりでぐぐるとUnityAnswersの方にいくつか解決法が提示されているのですが、サーバを介してやる方法だったりAndroidProライセンス大人しく買えやみたいな話だったりJavaのコード呼び出してどうにかする話だったり物騒な話が多いです。



その中で一番簡単な方法としてGood'ol Socketsというアセットを使う方法を今回記事にしようと思います。
Good'ol Socktetsとは:
要はUnityFreeバージョン(もちろんAndroidProもいらない)でソケット通信が使えるようになりますよってやつです。
Good'ol Socketsの詳細はこちら

このアセットはSystem.Net.Socketsの中身を全部LostPolygon.System.Net.Socktetsライブラリで実現しています。
また名前空間が違いだけでクラス名(UdpClientとかTcpListenerなど)が一緒なので今まで書いていたコードの"System.Net.Socktets"を"LostPolygon.System.Net.Socktets"に変更するだけでUnityFreeでもソケット通信ができるようになるというすぐれものです。


ほんとにこれだけなので書くことがもうないんですけど、まとめますと
・Good'Ol Socketsをプロジェクトにインポート
・メニューバーに追加されるパッチを当てる(下の画像参照)

これでコードの問題は解決しました。これで使えるようになります。


と言いたいところなんですが、実はこれだけでは何故かできませんで…
それで勘でメニューバーのFile→Build Settings...→PlayerSettingsのAndroidの項目からInternetAccessをAutoからRequireにしたら動作するようになりました。

これがたぶん一番早いと思います。



小ネタというか、不具合?
自分に限った話かもしれませんが、InternetAccessをAutoRequireにするとUnity Remoteが動作しなくなります。
(※Unity RemoteというのはUnityプロジェクトでiOS(Android)デバイスをリモコンとして使用出来るアプリケーションです。詳しくは【超便利】Unityでモバイル開発〜Unity Remote〜
こちらのブログにわかりやすく書かれているので参照してください。)

なお、InternetAccessをAutoにするとUnity Remoteは再度動くようになります。

以上です。

オリエント工業ショールームに行ってきた話


先日、東京に行く用事が重なっていたので、空き時間を利用して東京の仲御徒町にあるオリエント工業ショールームに行ってきました。
いろいろググればオリエント工業ショールームの見学についての諸注意が出てくると思うんですが、なかなか内情までは書かれてなかったので、これは行くしかない…!ということで行きました。気になることは全部確かめたいんじゃ。
それと、自重せずに触りたいという思いがあったので誰かと行くのはちょっと恥ずかしいので単独で行ってまいりました。

オリエント工業ショールームですが、基本的に誰でも見学は可能です。
ですが、いくつか諸注意など
・完全電話予約制
オリエント工業 見学でググるとたぶん電話予約のための番号がでてくるのでそこに電話しましょう。
→僕の場合は見学日時と名前と何人でくるかという話をするだけでしたので、電話予約自体はそんなに大変じゃないです。
・見学時間はそれほど長くない
→一応ネット上では30分くらいしか見られないということで僕も30分ちょうどに出て行ってしまいました。気になる方はそこらへんも聞いておくといいと思います。
・見学人数は3人以下
→ページに書いて有りますので気をつけてください。
・写真撮影禁止
ショールーム内に張り紙がありましたので。
まぁこんな感じ。
ショールームのページに最低限情報が書いてあるのでそれをよく読んだ上で電話予約しましょう。






では実際に行ってきた感想など書いていきます。
なお、写真撮影禁止ですので、写真は一切ありません。
オリエント工業ショールーム入ってみた。
とりあえず仲御徒町駅出口からすぐの小さいビルの3階へ…
エレベーターを出ると一畳くらいの小さいスペースとその先に怪しげなドアがあります。

(やばいところ来てしまった)という実感とともに、(でも引き返すのはもったいないよな…)ということで、覚悟を決めてドアに開けると、ドールがベッドや椅子に鎮座してて出迎えてくれました。
ここらへんは何か説明があった後にドール見せてもらえたりするのかなーとか思ってたんでちょっと驚きました…。

ドールにビビりながら中に入るとすぐにショールーム担当者っぽい方が奥からでてきましたので挨拶しました。
「どういった要件で来ましたかー?」と聞かれたので「私こういうことをやってる者でしてー」ということでMikuMikuSoineの記事を見せました。「ラブドールは話には聞いていましたけど実際にどんなものなのか触ったりして確かめたいなぁと思いまして〜」という感じで説明したような気がします。
たぶん見学はラブドールを買いたい人が前提だと思うんですけど、単純に見てみたいって人でも見学を許可してくれます。

自己紹介して、ちょっとそこらへんのこと話した後、「じゃああとはゆっくり見ていってくださいね〜。何か要望とか動かしたいとかあったら呼んで下さい。勝手に動かすのはダメですよ」と言われたのでそれを守りつつラブドール堪能タイムに移行します。


ラブドール堪能タイム
最初にラブドールが出迎えてくれたーという話をちらっとしましたが、ガラスケースの中にドールがいたりとか棒立ちで展示されてたりってわけではないんです。
ショールーム内の様子なんですが、10畳くらいの部屋があってベッドとか椅子とかが置いてあります。そこにラブドールがポーズをとって置いてあるという感じです。
ドールの衣装ですが、ポーズがポーズなので衣装もちょっとえっちなやつなやつから普通の服まで。えっちなやつってのは、ベビードールでGoogle画像検索すると出てくる結果を想像してくれればいいです。
脱ぎかけだったり、トップレスだったり、ちゃんと着てたり、まぁ様々でした。
ラブドール自体の種類も普通の女性っぽいものから巨乳ロリみたいなものもありました。

というわけで(単独凸だったので自重する必要は全くなかったのですが)心を落ち着かせるためにまずは見て楽しみました。おっぱいでけぇ…ってなったりとか、あとは商品説明のPVが流れていたのでそれを見てなるほど〜ってなったりとか。


おっぱい揉んでみた。
まぁでもせっかく来たし、触らずして帰るのは有り得ない!と思ったので早速担当者に触ってもいいですか〜と聞きました。ありがたいことにOKがでたのでめちゃくちゃ触りました。

触った感想ですが、ベビーパウダーをつけてると結構本物の肌の質感に近いという感想です。
指で押した感想としては確かに柔らかかったんですけど、実際に比べてほんのちょっと固いかもなぁという感想です。なお、どちらも比較対象は自分のものなので信ぴょう性は保証しません。是非自分で確かめてください…!

触っていいってことだったのでとりあえずドール達のおっぱいを手当たり次第揉みました。
揉んでみると先ほど抱いた感想が変わってきまして、このくらいの硬さのほうが満足感というか揉み心地は良いのかも…とか思ったり。
とにかく巨乳を合法的に揉めるのが大変良かったです(にっこり)。

触ってて思ったのが、関節の可動角度どのくらいなんだ…ということ。勝手に動かすのはNGなので、またも担当者の方を呼んで関節の可動範囲が知りたいんですけどーと話し、OKをもらいました。
担当者の方からドールの関節の動かし方とか注意点のレクチャーを受けた後、実際に関節を動かしてみました。

関節を動かしてみた感想ですが、重いなぁという印象です。悪いということではなく逆に良い印象ですね。
実際にだいぶ荒く動いて使っても耐えられると思うしここらへんは実用的に作られてるなぁと思いました。
関節範囲に関しては、ボキッといってしまうとやばいので怖かったし自分ではあまり動かしませんでした。ただ担当者の方が動かしてた限りでは結構範囲大きめだったので、実用的な範囲だと思います。たぶん。

関節動かしててその時ついでに体をちょっとだけ持ち上げてみたんですけど、かなり重かったです。ここらへんもだいぶリアルな体重にあわせて作ってるんだなぁ…と感心しました。えっちな重さだ…。

真剣な顔で時折頷き「あくまでラブドールというものがどういうものなのか調べに来ただけだから」みたいなアピールをしながらひと通り揉んだり動かしたり、服をちょっとめくったりして楽しんでました。
完全に変態ですね。でもそういう場だからいいんだよ…!

パーティードール
ひと通りドールを見たり触ったりした後、改めて部屋を見回してみると部屋の隅っこに何やらドールの周りにテーブルとかコップとかが置かれています。
説明書きがあったのと紹介PVが近くで流れていたので見ていると、このドール達はパーティードールというものらしく普通のラブドールとはどうやら違うようです。
なんだこれは…と思って背後に回ったりしていろいろ見てたら、担当者の方がこちらのほうにきまして、「これおっぱい揉むと乳首から水とかワインとか出るんですよー」って説明されました。
パーティードールのイメージというか実際の写真がリアルラブドール オリエント工業|創業35周年記念イベントレポートの下の方に載っています。
紹介PVの中身についてはここでは紹介しないので現地で確かめてみてください。

僕としてはこのパーティードールについて、(本当に最高のプロダクトだ…)と思って「これ見られただけできた価値ありましたよ〜」と笑顔で担当者の方に話したら、「じゃあ特別ですけど、やってみていいですよ。」とありがたいことに許可を戴きましたので、実際に揉んで母乳(水)を出してみました。

おっぱいの中にセンサを仕込んでいるらしくおっぱいを揉むと母乳が出てきます。
センサが仕込んであるといっても揉んだときに一切それを感じさせません。それどころか他のラブドールよりも柔らかったです(なんでだろう)。揉み心地、かなりえっちでした。
それとおっぱい揉んで乳首から液体が出てきてる様子を見てめちゃくちゃ笑顔になりましたし、これは確かにパーティーで使ったら盛り上がりますわなということも思いました。


パーティードールを堪能した後は、見学終了時間が近づいてきてたのでもう一度ドールをひと通り見たり揉んだりしたあと担当者の方とちょっと話をしてショールームを脱出しました。やはり30分程度なのでじっくり見るにはちょっと短かったです。それでも大満足ですけどね。


まとめ
まとめると、やっぱりオリエント工業は本気だなぁってこと。ドールの体の造形、肌の質感とか柔らかさ、関節の重さ、顔の造形、陰毛や髪の毛の質感、それぞれが人間に結構近いし、実用的に作っているんだろうなーという印象をうけるとともに、オリエント工業さんの情熱がひしひしと伝わってきました。

オリエント工業さんといえばラブドール/パーティードールだけではなく、最近では
オリエント工業が口腔粘膜を担当した歯科ロボットがものすごく可愛い! | どくらぼ
レディー・ガガ:世界初の等身大人間型試聴機がお披露目 骨伝導でメッセージを
こういった方向でも動いているところです。

ラブドールは従来のダッチワイフとは違って性の捌け口としてではなく、そこにいて安らぐような人形を目指しているとのことで、その理念の上で技術やドールにかける情熱に完全に惚れたので、ずっと応援していきたいなぁと思ってます。本当に良さだ。
あとは、MikuMikuSoineでラブドールが使えたら面白いだろうなぁということを思いました。やっぱり実際に人間の形してるものがあると添い寝してる感が出ると思いますしね。金があったら買いたいけど学生が手を出せる値段じゃないんだよな…

ショールームはそんなに敷居の高い場所ではないので、興味がある皆さんは電話連絡して実際にオリエント工業ショールームに凸って見るといいと思います。自分で見たり触ったりしてわかること多いし。オリエント工業の情熱がわかります。

以上レポっす。

モデリング未経験の人間がメタセコイアで音符モデルを作ってUnity上で降らせる話

主婦ゆにでntnyさんがMetasequoiaの使い方を主婦に教えていたのでそれを盗み見てやってみました。
結果としては大体1時間でタイトルに書いたことができるようになりました。

流れとしては、
1.Metasequoia3.1ダウンロードとインストール
2.シェア版に登録
3.音符モデルを作る。(True Typeフォントからモデルを生成する機能を使います。)
4.プラグインを2つ導入(音符に厚みを持たせるプラグインとFBXファイルで出力するためのプラグインです)
5.Unityにインポートする
6.物理演算コンポーネントを音符モデルにくっつける
です。順を追って、以下で説明していきます。


1.Metasequoia3.1のダウンロードとインストール
メタセコイア3.1な理由は?で導入するプラグインがVer4.xxに対応してなかったのとntnyさんが主婦に見せてたのが3.1版だったという理由です。
おそらく4.xxでもできるような気がするけど、とりあえず3.1でやっていきます。
ダウンロードはこちらの下のほうにダウンロードリンクがあります。

2.シェア版に登録
シェア版に登録するのは、登録しないと?で音符モデルを作る機能が使えないからです。ずっと使い続けないなら体験版ライセンスで十分だと思います。
シェア版に登録するのは、こちらから。
フォームを埋めてメールアドレスを登録するとメールアドレス宛にライセンスが降ってきます。

3.音符モデルを作る
オブジェクト→作成→CreateTextをクリック

でてくるメニューに画像のように入力

すると♪の形をしたモデルができました。
ですが、平面なのでこれに厚みを持たせる作業を次でしていきたいと思います。

4.プラグインを2つ導入
プラグインの1つはモデルに厚みを持たせるプラグインです。
プラグインは、http://tumbling-earth.sakura.ne.jp/mqo/TAK_Solidify/index.htmlのTAK_Solidify.dllをダウンロードしました。
これをメタセコイアをインストールしたフォルダのPluginsフォルダ→Selectフォルダ内にいれてください。そのあとメタセコイアを再起動してください。
(あるいは、メタセコイアのメニューバーのヘルプ(H)→プラグインについて で、「インストール」ボタンを押してDLLファイルを指定するのでも構いません。その場合もインストール後にメタセコイアを再起動してください。)
そして再起動するとメニューバーの選択部処理の下の方に「厚みをつけます。(Z)」というのが出現してると思います。
使い方は、先ほどのDlページにも書いてありますが、厚みを付けたい面を選択してから「厚みをつけます。」を実行するだけです。

するとこんな感じで厚みのついた♪ができてると思います。

もう1つのプラグインはFBXでモデルを出力するプラグインです。
Unityにインポートするのに、.mqoファイルは対応していなかったので、FBXに変換します。そのためのプラグインを導入します。
プラグインhttp://horsetail.sakura.ne.jp/mqplugin/mqfbxe.htmlからFBXエクスポーターをダウンロードしました。
例によってプラグインメタセコイアにインストールして再起動した後、
メタセコイアのメニューバーのファイル(F)→名前をつけて保存でファイルの種類を選択するときにFBX(*.fbx)ができてると思います。それを選択して出力してください。

5.Unityにインポートする
説明するまでもないですが、さっき出力したFBXファイルをUnity上のProjectのAssetフォルダにドラッグアンドドロップするだけです。簡単です!
インポートした後は、そのFBXをScene上で置いてみてください。

こんな感じで配置できると思います。

6.物理演算コンポーネントを音符モデルにくっつける
このままだとUnity上で再生しても何もおこらない(動かない)ので、衝突判定と物理演算(上から降ってくるようにする)をくっつけたいと思います。
Unityでは、コードをかかずともこれができちゃうのが良さだと思います。

衝突判定について
まずはScene上の♪をクリックしてInspectorでAddComponentをクリックしてください。
そこでColliderと入力すると「Box Collider」が出てくると思います。それを選択してください。

Inspectorは画像のような感じになっていたらおkです。
ただ、これだと衝突判定がずれているので音符に近い形にBoxColliderを修正して下さい。

画像のようになってればいいと思います。

物理演算(上から降ってくるようにする)
先ほどと同様にAddComponentでRigidbodyと入力して検索結果の「Rigidbody」を選択してください。
ここまでやって最終的にInspectorが画像のようになっていればOKです。あとは上から音符が降ってきます!


以上になります。
地面に衝突判定(Inspector上でRigidBodyのUseGravityのチェックを外してIsKinematicのチェックをつけたもの)をつけるとこんな感じで重なります。楽しいです。

もちろん音符以外にも、今回の手法を用いて文字(あいうえお、とか・。・とか)を降らせることができるし地面に落として重ねられるようになったので
できることの幅が広がったと思います。
成し遂げたぜ。

MikuMikuSoine開発を振り返ってみる。

OculusRiftAdventCalender 17日目担当のねぎぽよし(@CST_negi)です。よろしくお願いします。

Unityで本格的に何か実装するってことは今回が初めてだったのですが、そこでMikuMikuSoineするにあたって実装してる時の思い出(?)を3つくらい振り返りたいと思います。
自分は何か開発するときによく紙にいろいろ書きまくるのですが、今回の記事はそれを見て思い出しながら書いています。

ちなみに
OS:Windows7 64bit Professional
Unity Version:4.2.2f1 Pro
MMD4Mecanim Version:MMD4Mecanim_Alpha_20131104_4
でやってます。

1.OVRCameraControllerアセットのNearClipの値変更
OVRCameraControllerのNearClip Plane値をいじってもなぜかNearClip Plane値が適用されなかったことがありました。
(しかし、Inspector部分にOVRCameraControllerが表示されたままにして再生ボタンを押してデバッグを開始すると、変更されたNearClip Plane値が適用されるという挙動をしていまして、これに関してはぐぐっても解決しませんでした。)
ちなみにOVRCameraController.csのソースコードを書き換えてデフォルト値(0.15f)を0.01fに変えてもデフォルト値から値が変更されませんでした。

とりあえずこれをどう解決したかということなんですが、
[OVRCameraController]直下の[CameraLeft],[CameraRight]それぞれのClipping Plane(Near)値を変更しました。
これによって、OVRCameraControllerアセットのNearClip値を適用することができました。(右図参照)
全体を直すのではなく、片目ずつ直していきましょう。










2.MMD4Mecanimの話
MMD4MecanimというのはPMX(PMD)+VMDをFBXに変換するツールであり、Unity(Mecanim)で一通り動作させるためのスクリプトです。
(Nora(@Stereoarts)さん作。ちなみにNoraさんに「M4Mのここはこうしてほしい」と要望を言うと怖いくらいの早さでフィックスされます。凄い!)

旧MikuMikuSoineではUnity4MMDを使っていたのですが新しく作り変えるにあたってUnity4Mecanimのほうに移行しました。
で、ここでかなりいろんな問題にハマりました。
例えば、PMXモデルに重力を適用すると初期化時に髪の毛や服が暴れたり、モーションファイルの最終フレームに対して線形補間が働かなかったりとか。
ですが、これ直してください!とNoraさんに言ったら3日でこれらの問題を解決した新しいバージョンのMMD4Mecanimができました。凄い!

なので今回は他にハマったこととしてキャラクター(PMX)のAnimation Typeの話をしたいと思います。

AnimationTypeはPMXをimportした後にできるPrefabのInspectorで選択することができます。(右図)
ちなみにNone Legacy Generic Humanoidがあるのですが、GenericかHumanoidを使うのが一般的だと思います。
簡単に説明すると
GenericはVMDの再現性を重視したタイプです。再現性は高いのですが、視線移動(LookAt)とか人体IKとかHumanoid特有の機能は使うことができません。
HumanoidはVMDの再現性が下がる代わりに視線移動や人体IKなどの機能、そして一番のメリットである(と僕が勝手に思っている)Mecanimモーションを再生できるというメリットがあります。

MikuMikuSoineではキャラクターに自分を見てもらうということをしたかったので、視線移動(LookAt)機能を使いたく、Humanoidを使って色々やろうと思っていました。
最初の方はHumanoidで試行錯誤してて、その後いろいろやっててだんだんわかってきたのが、VMDとHumanoidは想像以上に相性が悪いなぁということです。
HumanoidのキャラクターモデルでVMDを再生しようとすると、突然キャラクターが浮いたり(しかも、キャラクターによって浮いたり浮かなかったりする。自分のメモには"艦娘は浮く"と書いてありました。謎だ。)
Y軸方向に90°回転してVMDを再生したりと、不可解な現象が沢山発生してしまいました。

というわけで結局どうしたのかということなんですが、結局Genericでやりました。
VMDの再生を優先したかったのと、キャラクターの頭部分にLookAt関数を書いたスクリプトを適用することで普通にLookAt機能と同等のことができたためです。
VMDを使う時はGeneric、VMDを使わずHumanoid特有の機能を使いたいときはHumanoid、でおそらく安牌なのかなぁと思います。
というかこれに関してはMMD4MecanimをDLした際に同梱されている説明書にちゃーーーーんと書いてあるので、よーーーく読みましょう!(よく読まずに始めた人間なのでいろいろハマりました。)



3.キャラクターの頭を見てモーションを再生するという実装
これはハマったことではなく、単純に自分のメモというか。
MikuMikuSoineはキャラクターと視線を合わせることによって、(ユーザが)見ているキャラクターのモーションを再生させるということをしてるんですが、それの実装の話。

・視線を合わせるということ
これは凄い安易な発想というか、OVRCameraController→CameraRightのアセットの下に直方体のアセットを作り(これによって頭の方向と直方体の方向を合わせることが可能です。)、
キャラクターの頭との衝突判定をとって、一定時間以上衝突している時間が経過した時にそのキャラクターのモーションを再生させるということをしています。

・アニメーションの遷移
下図のような感じでアニメーションのステートモデルを組みました。
左下のLookTime、NoLookTimeはその衝突時間を表しています。アニメーションのステートが遷移すると0に初期化するようにしています。
アニメーションの遷移は、A→B→Cという遷移をしたいのに、A→Cみたいな遷移をしちゃうとモーションとして凄く不自然です。スクリプトから直接呼ぶとそういったことが起きる危険があるし、それに気をつけて構築するとなると
モーションが増えた時に禿げるので、ステートモデルを使うことでココらへんを簡単にしています。

アニメーションステートモデルを使うことでこのようにミスが減ったのももちろんよかったことなんですが、MikuMikuSoineはC#のコードを「全部で」100行程度しか書いてないことも付け加えておきたいと思います。(Unityは凄く、そして怖い)


というわけで、簡単になりましたが僕からの記事は以上になります。ありがとうございました。
次回は18日ということで@warapuri先生にバトンタッチになります。

あと、Unityからユニティちゃんというキャラクター(下図)が今日公開(http://unity-chan.com/)されていたのですが、本当に可愛いと思うし、MS台湾の藍澤光ちゃんみたいな衝撃がありますね。
どんどんPixivの投稿が増えたり、本が薄くなっていってほしい… あと、Unityのいろんなところを触るとユニティちゃんのいろんなところを触れるんだよな…みたいな妄想ができるし本当に良いっすね^〜


(ユニティちゃんかわいい!)