むっちむちなアリスで Nostalogic 立体視テスト。

D

YouTube にも上げました - つちのこ、のこのこ。(はてな番外地)

昨日の今頃*1うpしたんだけどもう 900 再生超えてるし!

タグの威力でしょうか?*2

  1. かこみき本買ったぉ!
    キャラクターをつくろう! 3DCG日和。 vol.2 - MikuMikuDanceで踊る、ユーザーモデル制作

    キャラクターをつくろう! 3DCG日和。 vol.2 - MikuMikuDanceで踊る、ユーザーモデル制作

  2. むっちむち流行ってる……モデルかこみき氏ですか……エロかわいいな、って何故いまごろクイーンズゲイト!?*3
  3. この鞭、立体視用に空間埋める素材に良いね。キャラいっぱい出すとエンコードで画質死ねるし、次は 1体でも空間表現できそうなこの娘単体でテスト動画作って上げようか。
  4. って物理演算Fixしないと鞭だのツインテールだのは無理だっけか。VMDView を試してみて……あああああっ! (;_;)
  5. ……試してから作れば良かった。まあ無理だろうけれどもどれだけズレるか試しに MikuMikuDance 直接で立体視動画作ってみよう……あれ? 全然ズレないんですが?

てなわけで、もう物理演算Fix のことは考えなくても良くなりましたとさ。

しかしいつの間にこうなってたのだろうか。MMD杯動画で使っていた Ver.7.06 では
D
な状態で初音ミクツインテールとか Lily の服とか悲惨な状態だったんですが。

■バージョン履歴■
Ver.7.08(2010/09/04)
・MEIKOモデル修正
・エッジの色変更機能追加
・ワイヤーフレーム表示追加

Ver.7.07(2010/08/23)
・MEIKOモデル追加
・おまけ機能だった背景黒色、モデルの完全透明化をメニューに追加
 (「背景」→「背景黒化」,「表示」→「モデル非表示」)
・物理演算時、床を計算する・しない の選択をメニューに追加
 (「物理演算」→「床」)
・物理剛体最大数を16384個まで拡張
・フレーム移動時にWAVEを短く鳴らすモード追加
 (「ファイル」→「フレーム移動時WAVを鳴らす」)
・その他バグ修正

MikuMikuDance.exe Ver.7.08 readme.txt

その他バグ修正

これか? これなのか!?



それはさておき。

アリスモデルですが、作者のかこみき氏が精力的に改良している

みたいで 追記11: なんてところまでバージョンアップされてますね。動画で使ったモデルも既に過去のものに。*4
screenshot
今話題のむっちむちのみでなくモデル本体も秀逸な出来なので色々と使いたいところ。ドワーフモデルも先日出てきた*5のでクイーンズゲイト&ロストワールドでの『アリス vs ドワーフ対戦 MMD リプレイ』なんてのも出来るね。*6

2010-09-15 追記

D
ぬか喜びだったぉ! (;_;) かんなPが検証してくださいました。

先に検証されてしまいましたので今さらですが。

あれからMMD杯に投稿したデータでやってみたらば初音さんのツインテはあいかわらずですた……。

Lily の服のブレは収まった気がするので何らかの変化はあるみたいですが。


camera.csv

Vocaloid Motion Data 0002,1296845642
カメラ・照明
0
0
16
0,-15,0,10,0,21.7724,0,0,0x146B146B146B146B146B146B146B146B146B146B146B146B3700000000
161,-15,0,14.85,0,0,0,0,0x146B146B146B146B146B146B2E3D007F2E3D007F146B146B2D00000000
198,-20,0,14.85,0,18.335,0,0,0x146B146B146B146B146B146B2E3D007F2E3D007F146B146B2D00000000
307,-20,0,12.5244,0.770703,18.335,0,0,0x146B146B146B146B146B146B146B146B146B146B146B146B2D00000000
865,-15,0,14.375,0.157583,18.335,0,0,0x146B146B146B146B146B146B2E3D007F2E3D007F146B146B2D00000000
960,-15,0,15.225,0.158,0,0,0,0x146B146B146B146B146B146B2E3D007F2E3D007F146B146B2D00000000
1477,-20,0,15.225,0.158,0,0,0,0x146B146B146B146B146B146B3E39007F146B146B146B146B2D00000000
1650,-20,0,15.225,0.158,0,360,0,0x146B146B146B146B146B146B454A007F146B146B146B146B2D00000000
1848,-10,0,17.525,0.158,0,360,0,0x146B146B146B146B146B146B146B146B454A007F146B146B2D00000000
2050,-15,0,17.525,0.158,51.566,360,0,0x146B146B146B146B146B146B454A007F146B146B146B146B2D00000000
2200,-15,0,13.475,0.158,0,0,0,0x146B146B146B146B146B146B334B007F146B146B146B146B2D00000000
2500,-25,0.05,13.475,0,-29.7938,0,0,0x146B146B146B146B146B146B334B007F146B146B146B146B2D00000000
2770,-25,0,13.475,0,18.3346,0,0,0x146B146B146B146B146B146B334B007F146B146B146B146B2D00000000
2975,-25,0,13.475,0,18.335,-360,0,0x146B146B146B146B146B146B334B007F146B146B146B146B2D00000000
3350,-20,-4.6,13.475,0,18.335,-360,13.751,0x146B146B146B146B146B146B146B146B146B146B146B146B2D00000000
3420,-20,-4.6,13.475,0,18.335,-360,13.751,0x146B146B146B146B146B146B146B146B146B146B146B146B2D00000000
0

parallax.py (再掲)

# -*- coding: utf-8 -*-
u"""parallax カメラの PMD→CSV から立体視用データを作る

Python 2.6.5
"""
from __future__ import division
import math

BETWEEN_EYES = 0.354159  # 初音ミクモデルの目の間隔 / 2
FILENAME = 'camera'  # csv の主ファイル名

def parallax(distance):  # 視差の半分
    return math.degrees(
        math.atan2(BETWEEN_EYES, distance))

f = open(FILENAME + '.csv', 'rb')
data = f.readlines()
f.close()
keyframes = int(data[4])
print 'camera: %s, light: %s' % (keyframes, data[5 + keyframes])
RIGHT = data[:5]
LEFT = data[:5]
for i in range(keyframes):
    line = data[5 + i]
    (frame_no, distance,
     pos_x, pos_y, pos_z,
     axis_x, axis_y, axis_z,
     curve) = line.strip().split(',')
    p = parallax(abs(float(distance)))
    print frame_no, distance, p
    RIGHT.append(','.join(
        (frame_no, distance, pos_x, pos_y, pos_z, axis_x,
         str(float(axis_y) + p),
         axis_z, curve)) + '\n')
    LEFT.append(','.join(
        (frame_no, distance, pos_x, pos_y, pos_z, axis_x,
         str(float(axis_y) - p),
         axis_z, curve)) + '\n')
RIGHT.extend(data[5 + keyframes:])
LEFT.extend(data[5 + keyframes:])
f = open(FILENAME + '_R.csv', 'wb')
f.write(''.join(RIGHT))
f.close()
f = open(FILENAME + '_L.csv', 'wb')
f.write(''.join(LEFT))
f.close()

*1:14時くらい

*2:自分で付けたわけじゃないけど。つーか、あれって鞭の挙動を研究する会じゃなかったのか?

*3:これの前身のロストワールドけっこう集めてたよ

*4:ところで手の銃を消せるのなら、同様にホルスターに収まった状態のを出現させるのも出来ると便利だと思う。つーか動画では銃を使わないのでホルスターに収めておこうと思ったのですが PMDEditor でモデル改造しないとできないみたいな感じなので諦めてしまった

*5:D

*6:どちらも手元に無いので、これは単なるアイデアだけですが