2012年9月15日土曜日

未完

MikuMikuOnline開発は終了となります。

本件の開発資産を元に別のソフトに取り組む予定です。

MikuMikuOnline Concept版を以下に置いておきます。



YouTube
http://www.youtube.com/watch?v=xHi3xrA0pMs

twitVideo
http://twitvideo.jp/contents/lists/aopon3


ポータル
http://cozmyportal.blogspot.jp/

2012年9月8日土曜日

アクセサリ3

http://mmo.h2so5.net/
MikuMikuOnline 先を越されてしまった

主目的である底辺層拡大と問題の提起は誰が作っても達成されるので
こちらは適当なとこまで作ってから方向性を再検討しよう

魔が刺して便乗配布してみたけど、ユーザー環境テストとか全然やってない
思いつきで行動するのは自重しないと


(済)ファイルパスD&D
(済)表示モデル数
(済)表示対象距離
(済)自座標のアクセサリ反映
(済)リソース読み込みエラー処理
(済)リソース読み込み処理を非同期
-バッティングする
--物理演算中に剛体追加とか...
--描画処理中にモデル解放とか...
PMDファイルをDirectoryを切らずに置いていると周辺ファイルもまとめて送付してしまう
GPU使用率が100%になることがあるの原因は?
-モデル数に比例増加するのも問題、1体10%喰っている
クライアントとサーバのバージョンチェック
バージョンアップ通知
音源共有とか
-http://d.hatena.ne.jp/araigeta/20081021
-http://mainori-se.sakura.ne.jp/sst/wiki.cgi?page=%B2%BB%C0%BC%A4%CE%BD%E8%CD%FD
-http://www.platinumegg.net/d/?cat=9&paged=10
サーバ側の管理機能


アクセサリ制御
・アクセサリ管理画面
- 衝突判定の有無
- 衝突判定の方法は一から調べないと
- 表示順
- 自アクセサリだけ順番指定してもあまり意味がないか
(済)・指定座標に配置
(済)・指定方向に配置
(済)・モーション設定
(済)・所持ボーン指定
・所持(モデルに追従)
- ボーン変形はGPU...どうやって位置合わせる


カメラ制御
・視点を中心とした視線変更
・視点中心移動
- 基準切替しないとわかりにくい
・ターゲットモデル

検討
・XML読み書きの排他制御
・昇降
・暗号管理
・動画、生放送連携(リクエストとか?)

パフォーマンス
・サーバー、queへの書き込みか読み込み画面表示で負荷


課題

キーイベント
起動直後1回目のpressが無反応になる課題

マウスイベント
press、releaseの瞬間しかイベントが取れないので
Drag状態の判定が怪しい
releaseの取得漏れがある

カメラ上下でキャラクターの向いている方向と垂直を軸に回転させているのだけど
微妙に回転軸がずれる。垂直軸を求めるときにずれているのかな

http://mikudan.blog120.fc2.com/blog-entry-318.html

分割シャドウマップ

http://sssiii.seesaa.net/article/280964095.html

送信間隔はどれくらいにすれば?

http://rob2.jp/mmodev/

OS終了イベントの自動終了


積んでるタスク

1.3Dプログラミング基礎
ver2.8を入れてみる→SlimDXのバージョンが上がってた どうしよう


2.ツイッターbot
MMDBotAgentのタイムラインからトレンド抽出
MMDBotSeigaの個人とお題を分けようかな
ごちゃごちゃして見難いし
俺得モデルフェス用のスタンドアロンクローラーマイリスとクリップ

3.3Dプログラミング応用
・ゲームっぽく移動できるもの
・表情をプリクラっぽく出力できるもの
・モデルの首挿げ替えするもの
・IKモーション→標準モーションに変換

https://twitter.com/AEPS1/status/239006371490717696
http://v-nyappon.net/?m=diary&a=page_detail&target_c_diary_id=979053

2012年9月2日日曜日

アクセサリ2

リソース読み込みエラー処理
クライアントとサーバのバージョンチェック
バージョンアップ通知
音源共有とか
-http://d.hatena.ne.jp/araigeta/20081021
-http://mainori-se.sakura.ne.jp/sst/wiki.cgi?page=%B2%BB%C0%BC%A4%CE%BD%E8%CD%FD
-http://www.platinumegg.net/d/?cat=9&paged=10
ファイルパスD&D(済)
自座標のアクセサリ反映
表示モデル数
表示対象距離
リソース読み込み処理を非同期にしたい、排他制御は...
サーバ側の管理機能


アクセサリ制御
・アクセサリ管理画面
- 衝突判定の有無
- 衝突判定の方法は一から調べないと
- 表示順
- 自アクセサリだけ順番指定してもあまり意味がないか
・指定座標に配置(済)
・指定方向に配置(済)
・モーション設定(済)
・所持(モデルに追従)
- ボーン変形はGPU...どうやって位置合わせる
・所持ボーン指定(済)


カメラ制御
・視点を中心とした視線変更
・視点中心移動
- 基準切替しないとわかりにくい
・ターゲットモデル

検討
・XML読み書きの排他制御
・昇降
・暗号管理
・動画、生放送連携(リクエストとか?)

パフォーマンス
・サーバー、queへの書き込みか読み込み画面表示で負荷


課題

キーイベント
起動直後1回目のpressが無反応になる課題

マウスイベント
press、releaseの瞬間しかイベントが取れないので
Drag状態の判定が怪しい
releaseの取得漏れがある

カメラ上下でキャラクターの向いている方向と垂直を軸に回転させているのだけど
微妙に回転軸がずれる。垂直軸を求めるときにずれているのかな

http://mikudan.blog120.fc2.com/blog-entry-318.html

分割シャドウマップ

http://sssiii.seesaa.net/article/280964095.html

送信間隔はどれくらいにすれば?

http://rob2.jp/mmodev/

OS終了イベントの自動終了


積んでるタスク

1.3Dプログラミング基礎
ver2.8を入れてみる→SlimDXのバージョンが上がってた どうしよう


2.ツイッターbot
MMDBotAgentのタイムラインからトレンド抽出
MMDBotSeigaの個人とお題を分けようかな
ごちゃごちゃして見難いし
俺得モデルフェス用のスタンドアロンクローラーマイリスとクリップ

3.3Dプログラミング応用
・ゲームっぽく移動できるもの
・表情をプリクラっぽく出力できるもの
・モデルの首挿げ替えするもの
・IKモーション→標準モーションに変換

https://twitter.com/AEPS1/status/239006371490717696
http://v-nyappon.net/?m=diary&a=page_detail&target_c_diary_id=979053

2012年8月24日金曜日

アクセサリ

次の仕事探し開始のせいか集中力が駄々下がり
今年中にコンセプト版出したいな

アクセサリ制御
・アクセサリ管理画面
- 衝突判定の有無
- 表示順
・指定座標に配置
・指定方向に配置
・モーション設定
・所持(モデルに追従)
・所持ボーン指定


カメラ制御
・視点を中心とした視線変更
・視点中心移動
・ターゲットモデル

検討
・クライアントとサーバのバージョンチェック
・XML読み書きの排他制御
・音源共有とか
・D&D
・昇降
・暗号管理
・動画、生放送連携(リクエストとか?)

パフォーマンス
・サーバー、queへの書き込みか読み込み画面表示で負荷


課題

キーイベント
起動直後1回目のpressが無反応になる課題

マウスイベント
press、releaseの瞬間しかイベントが取れないので
Drag状態の判定が怪しい
releaseの取得漏れがある

カメラ上下でキャラクターの向いている方向と垂直を軸に回転させているのだけど
微妙に回転軸がずれる。垂直軸を求めるときにずれているのかな

http://mikudan.blog120.fc2.com/blog-entry-318.html

分割シャドウマップ

http://sssiii.seesaa.net/article/280964095.html

送信間隔はどれくらいにすれば?

http://rob2.jp/mmodev/

OS終了イベントの自動終了


積んでるタスク

1.3Dプログラミング基礎
ver2.8を入れてみる→SlimDXのバージョンが上がってた どうしよう


2.ツイッターbot
MMDBotAgentのタイムラインからトレンド抽出
MMDBotSeigaの個人とお題を分けようかな
ごちゃごちゃして見難いし
俺得モデルフェス用のスタンドアロンクローラーマイリスとクリップ

3.3Dプログラミング応用
・ゲームっぽく移動できるもの
・表情をプリクラっぽく出力できるもの
・モデルの首挿げ替えするもの
・IKモーション→標準モーションに変換

https://twitter.com/AEPS1/status/239006371490717696
http://v-nyappon.net/?m=diary&a=page_detail&target_c_diary_id=979053

2012年8月18日土曜日

よろず

モデルとモーションの共有は大体できたかな
アクセサリに入る前に小課題をこなそう
日曜は休みたいな


・基本コマンド以外のモーション反映(済)
・非共有モーションのremoveタイミング(済)
・メッセージ表示位置(済)
・視点を中心とした視線変更
・視点中心移動
・ターゲットモデル

不具合
・メモリリーク
-毎フレームのメッシュ変形処理でリーク
-GPUに渡す定数バッファでリーク
--new SlimDX.DataStreamの解放漏れ

検討
・XML読み書きの排他制御
・アクセサリの扱い
・音源共有とか
・D&D
・昇降

パフォーマンス
・サーバー、queへの書き込みか読み込み画面表示で負荷

・ファイル読み込みの並列化
-先頭から都度サイズを読み取って行くので
-並列化は難しい?

・メッシュ生成の並列化
-テクスチャをtexture2Dにするときに負荷
-並列化すると例外を吐くが成功するまでループしても
-並列前より速い


課題

キーイベント
起動直後1回目のpressが無反応になる課題

マウスイベント
press、releaseの瞬間しかイベントが取れないので
Drag状態の判定が怪しい
releaseの取得漏れがある

カメラ上下でキャラクターの向いている方向と垂直を軸に回転させているのだけど
微妙に回転軸がずれる。垂直軸を求めるときにずれているのかな

http://mikudan.blog120.fc2.com/blog-entry-318.html

分割シャドウマップ

http://sssiii.seesaa.net/article/280964095.html

送信間隔はどれくらいにすれば?

http://rob2.jp/mmodev/

OS終了イベントの自動終了


積んでるタスク

1.3Dプログラミング基礎
ver2.8を入れてみる→SlimDXのバージョンが上がってた どうしよう


2.ツイッターbot
MMDBotAgentのタイムラインからトレンド抽出
MMDBotSeigaの個人とお題を分けようかな
ごちゃごちゃして見難いし
俺得モデルフェス用のスタンドアロンクローラーマイリスとクリップ

3.3Dプログラミング応用
・ゲームっぽく移動できるもの
・表情をプリクラっぽく出力できるもの
・モデルの首挿げ替えするもの
・IKモーション→標準モーションに変換

2012年8月10日金曜日

通信7

モデルとモーションの共有は大体できたかな
アクセサリに入る前に小課題をこなそう
日曜は休みたいな

・セッション管理を再検討

・UI整備
 アカウント管理
 キー設定
 モデル設定
 ユーザーリスト
 モーション設定
 アクセサリ設定 ※あとまわし
  アクセサリ配置検討

・サーバー、queへの書き込みか読み込み画面表示で負荷
・視点を中心とした視線変更
・モデル読み込み時の負荷軽減

・モデルの解放がされていない
・ファイル読み込みの並列化
・モデル準備の
・視点中心移動
・非共有モーションのremoveタイミング


課題

キーイベント
起動直後1回目のpressが無反応になる課題

マウスイベント
press、releaseの瞬間しかイベントが取れないので
Drag状態の判定が怪しい
releaseの取得漏れがある

カメラ上下でキャラクターの向いている方向と垂直を軸に回転させているのだけど
微妙に回転軸がずれる。垂直軸を求めるときにずれているのかな

http://mikudan.blog120.fc2.com/blog-entry-318.html

分割シャドウマップ

http://sssiii.seesaa.net/article/280964095.html

送信間隔はどれくらいにすれば?

http://rob2.jp/mmodev/


積んでるタスク

1.3Dプログラミング基礎
ver2.8を入れてみる→SlimDXのバージョンが上がってた どうしよう


2.ツイッターbot
MMDBotAgentのタイムラインからトレンド抽出
MMDBotSeigaの個人とお題を分けようかな
ごちゃごちゃして見難いし
俺得モデルフェス用のスタンドアロンクローラーマイリスとクリップ

3.3Dプログラミング応用
・ゲームっぽく移動できるもの
・表情をプリクラっぽく出力できるもの
・モデルの首挿げ替えするもの
・IKモーション→標準モーションに変換

2012年8月4日土曜日

通信6

・モデルの表示
・モデルの移動

モデル読み込みのMemoryStream化
モデル破棄時のbulletからの解放
テクスチャ管理のMemoryStream化

送信間隔はどれくらいにすれば?

http://rob2.jp/mmodev/

とりあえず毎フレーム送信

受信、モーションの反映

サーバー、queへの書き込みか読み込み画面表示で負荷

モーションの確認

回転ベクトルも伝文に乗せる

セッション管理を再検討

UI整備

アクセサリ配置検討


課題

キーイベント
起動直後1回目のpressが無反応になる課題

マウスイベント
press、releaseの瞬間しかイベントが取れないので
Drag状態の判定が怪しい
releaseの取得漏れがある

カメラ上下でキャラクターの向いている方向と垂直を軸に回転させているのだけど
微妙に回転軸がずれる。垂直軸を求めるときにずれているのかな

http://mikudan.blog120.fc2.com/blog-entry-318.html

http://sssiii.seesaa.net/article/280964095.html

積んでるタスク

1.3Dプログラミング基礎
ver2.8を入れてみる→SlimDXのバージョンが上がってた どうしよう


2.ツイッターbot
MMDBotAgentのタイムラインからトレンド抽出
MMDBotSeigaの個人とお題を分けようかな
ごちゃごちゃして見難いし
俺得モデルフェス用のスタンドアロンクローラーマイリスとクリップ

3.3Dプログラミング応用
・ゲームっぽく移動できるもの
・表情をプリクラっぽく出力できるもの
・モデルの首挿げ替えするもの
・IKモーション→標準モーションに変換

2012年7月29日日曜日

通信5

クラサバ伝文

・サインアップ 済
・リザイン 済
・ログイン 済
・ログアウト 済
・パスワード変更 済
・静的情報 済
・動的情報 済

動かすのに必要な伝文は終わり

次は受信内容から
・モデルの表示
・モデルの移動




課題

キーイベント
起動直後1回目のpressが無反応になる課題

マウスイベント
press、releaseの瞬間しかイベントが取れないので
Drag状態の判定が怪しい
releaseの取得漏れがある

カメラ上下でキャラクターの向いている方向と垂直を軸に回転させているのだけど
微妙に回転軸がずれる。垂直軸を求めるときにずれているのかな

http://mikudan.blog120.fc2.com/blog-entry-318.html

http://sssiii.seesaa.net/article/280964095.html

積んでるタスク

1.3Dプログラミング基礎
ver2.8を入れてみる→SlimDXのバージョンが上がってた どうしよう


2.ツイッターbot
MMDBotAgentのタイムラインからトレンド抽出
MMDBotSeigaの個人とお題を分けようかな
ごちゃごちゃして見難いし
俺得モデルフェス用のスタンドアロンクローラーマイリスとクリップ

3.3Dプログラミング応用
・ゲームっぽく移動できるもの
・表情をプリクラっぽく出力できるもの
・モデルの首挿げ替えするもの
・IKモーション→標準モーションに変換

2012年7月22日日曜日

通信4

クラサバ伝文

・サインアップ 済
・リザイン 済
・ログイン 済
・ログアウト 済
・パスワード変更 済
・静的情報
・動的情報

引き続き静的情報

ファイルアップロード
ブロックリスト
モデル選択
キー設定
状態

をサーバーに送信、保持

ファイル送信時の分割サイズをどうすればいいのか
とりあえず1024*1024/8で追々試してみながら調整

クライアントとサーバーの値の比較のため取得伝文も必要


課題

キーイベント
起動直後1回目のpressが無反応になる課題

マウスイベント
press、releaseの瞬間しかイベントが取れないので
Drag状態の判定が怪しい
releaseの取得漏れがある

カメラ上下でキャラクターの向いている方向と垂直を軸に回転させているのだけど
微妙に回転軸がずれる。垂直軸を求めるときにずれているのかな

http://mikudan.blog120.fc2.com/blog-entry-318.html

http://sssiii.seesaa.net/article/280964095.html

積んでるタスク

1.3Dプログラミング基礎
ver2.8を入れてみる→SlimDXのバージョンが上がってた どうしよう


2.ツイッターbot
MMDBotAgentのタイムラインからトレンド抽出
MMDBotSeigaの個人とお題を分けようかな
ごちゃごちゃして見難いし
俺得モデルフェス用のスタンドアロンクローラーマイリスとクリップ

3.3Dプログラミング応用
・ゲームっぽく移動できるもの
・表情をプリクラっぽく出力できるもの
・モデルの首挿げ替えするもの
・IKモーション→標準モーションに変換

2012年7月15日日曜日

通信3

クラサバ伝文

・サインアップ 済
・リザイン 済
・ログイン 済
・ログアウト 済
・パスワード変更 済
・静的情報
・動的情報

とりあえずつまらない部分を完了


モデルファイルを共有するためには
PMX/PMDファイルのみではなく関連ファイルも同梱しなくてはならない。
画像ファイルがその大半となる。

PMX/PMDファイルが存在するディレクトリ内のファイルを
1ファイルに圧縮しパスワードを付与

クライアントからサーバーにアップロードされた圧縮ファイルは
その状態のまま共有される

他クライアントが圧縮ファイルを使用する際は
ファイルとして展開せず、Streamで保持する
※ファイルパスで見ている処理を変更する必要がある

問題はパスワードの隠蔽をどうするかですが
.netで書いている以上、簡単に解析されてしまうので
気休め程度にしかならないと割り切ります

ファイルの送信:
分割したバイト配列を非同期送信
1つ目の応答が正常だったら2つ目を開始
受信側は受信中の状態管理が必要

ファイルの要求:
クライアントから要求する場合、応答伝文で受け取るわけだが
分割受信とかできるのだろうか?


課題

キーイベント
起動直後1回目のpressが無反応になる課題

マウスイベント
press、releaseの瞬間しかイベントが取れないので
Drag状態の判定が怪しい
releaseの取得漏れがある

カメラ上下でキャラクターの向いている方向と垂直を軸に回転させているのだけど
微妙に回転軸がずれる。垂直軸を求めるときにずれているのかな

http://mikudan.blog120.fc2.com/blog-entry-318.html

http://sssiii.seesaa.net/article/280964095.html

積んでるタスク

1.3Dプログラミング基礎
ver2.8を入れてみる→SlimDXのバージョンが上がってた どうしよう


2.ツイッターbot
MMDBotAgentのタイムラインからトレンド抽出
MMDBotSeigaの個人とお題を分けようかな
ごちゃごちゃして見難いし
俺得モデルフェス用のスタンドアロンクローラーマイリスとクリップ

3.3Dプログラミング応用
・ゲームっぽく移動できるもの
・表情をプリクラっぽく出力できるもの
・モデルの首挿げ替えするもの
・IKモーション→標準モーションに変

2012年7月7日土曜日

通信2

実装前にクラサバの復習
http://note.chiebukuro.yahoo.co.jp/detail/n1653
http://www.atmarkit.co.jp/fdotnet/vblab/appqa_06/appqa_06_01.html

Monitorを使う場合、受信と受信文処理のタイミングがずれることがある。
イベントを使う場合、即時性はあるが受信文処理に時間が掛かると
イベントが待ち行列を作るため危険



課題

キーイベント
起動直後1回目のpressが無反応になる課題

マウスイベント
press、releaseの瞬間しかイベントが取れないので
Drag状態の判定が怪しい
releaseの取得漏れがある

カメラ上下でキャラクターの向いている方向と垂直を軸に回転させているのだけど
微妙に回転軸がずれる。垂直軸を求めるときにずれているのかな

http://mikudan.blog120.fc2.com/blog-entry-318.html

http://sssiii.seesaa.net/article/280964095.html

積んでるタスク

1.3Dプログラミング基礎
ver2.8を入れてみる→SlimDXのバージョンが上がってた どうしよう


2.ツイッターbot
MMDBotAgentのタイムラインからトレンド抽出
MMDBotSeigaの個人とお題を分けようかな
ごちゃごちゃして見難いし
俺得モデルフェス用のスタンドアロンクローラーマイリスとクリップ

3.3Dプログラミング応用
・ゲームっぽく移動できるもの
・表情をプリクラっぽく出力できるもの
・モデルの首挿げ替えするもの
・IKモーション→標準モーションに変

2012年7月1日日曜日

通信

忘れないうちに( ..)φメモメモ
http://mikudan.blog120.fc2.com/blog-entry-318.html
剛体位置を強制的に戻すのはいいとして、回転は保持しないとカクカクする
剛体が数珠繋ぎになっている場合、位置ずれが連鎖する
そもそもどこを基点とした移動制限なのか



とりあえず操作可能になったので

http://bowlroll.net/up/dl6121

次はネットワーク通信をしてみたいと思います。

通信方式として
1.クライアントサーバモデル
2.ピアツーピアモデル

選択課題として
・サーバ負荷
クラサバの場合、負荷が集中してしまう
・情報管理
ピュアP2Pだと不正端末を管理できない

P2Pに中央インデックスサーバを追加したハイブリットP2P
インデックスサーバを各端末に持たせるスーパーノード型P2P

グループ毎に小さなネットワークを構築できるようにするならば
スーパーノードを選択できるP2Pで、
スーパーノードから中央インデックスサーバに情報提供するのがよいか

http://ja.wikipedia.org/wiki/Peer_to_Peer

共有する必要がある情報
随時
・モデル
・モーション
・NGリスト
常時
・スーパーノードIP (スーパーノード to スーパーノード)
・ノードIP (スーパーノード to ノード)
・ユニークID
・モデル位置
・モデルベクトル
・使用中モーション
・(保有する他ユーザ情報)

1ノードを個人
1スーパーノードを集団とすると
スーパーノード to スーパーノードは組織間交流となる
ノードが他所のスーパーノードに出向くとして、
・ノードがスーパーノードを渡り歩くようにするか
・所属するスーパーノードを経由して情報をもらうか
レスポンスは前者がよい
セキュリティは後者がよい

全体を管理することは不可能
個人が自己管理するには心許ない
よってスーパーノード単位でならば可能?

データ転送量と接続の連続性が課題となるか


http://gyazo.com/cdc940119245107bcc2ff0c23fbf6c26


皮算用的だが、実際に運用できた場合の課題として
モデルデータの不正共有が想定される

配布方法を変えてみたり、パスワードを凝ってみたり、Readmeを英語で書いたりと
涙ぐましい努力が続けられているが不正配布が減らない現状をみるに、
完全解決を求めずよりましな状態を目指したほうがよさそうだ。

不正使用・配布する人が何を求めているのか、
突き詰めれば人との繋がりだろう。

繋がりを求めていないのならば、その行いが公開されることは無く
被害認識できないので問題ないといえる。

・明示的にデータ共有する人・グループを選択すること
・NGユーザーを共有すること

お互いに不可視とすることでましな状態にならないだろうか

そういう意味では不正配布を必死に非難することは
掲示板の荒らしを非難して喜ばせているだけなのかもしれない
もちろんユーザー間の意識共有にも有効ではあるが。


課題

キーイベント
起動直後1回目のpressが無反応になる課題

マウスイベント
press、releaseの瞬間しかイベントが取れないので
Drag状態の判定が怪しい
releaseの取得漏れがある

カメラ上下でキャラクターの向いている方向と垂直を軸に回転させているのだけど
微妙に回転軸がずれる。垂直軸を求めるときにずれているのかな


積んでるタスク

1.3Dプログラミング基礎
ver2.8を入れてみる→SlimDXのバージョンが上がってた どうしよう


2.ツイッターbot
MMDBotAgentのタイムラインからトレンド抽出
MMDBotSeigaの個人とお題を分けようかな
ごちゃごちゃして見難いし
俺得モデルフェス用のスタンドアロンクローラーマイリスとクリップ

3.3Dプログラミング応用
・ゲームっぽく移動できるもの
・表情をプリクラっぽく出力できるもの
・モデルの首挿げ替えするもの
・IKモーション→標準モーションに変

2012年6月30日土曜日

マウス操作

http://moepic.com/plg/key_r.php

キー操作
・前進後退 [済]
・左右旋回 [済]
・左右平行 [済]
・歩く走る [済]
・座る [済]
・ジャンプ [済]
・自動移動 [済]
・視点前後 [済]
・カメラ上下(視点無視) [済]
・カメラ旋回(視点無視) [済]
・スクリーンキャプチャ [済]

マウス操作
・視点前後 [済]
・カメラ上下(視点無視) [済]
・カメラ旋回(視点無視) [済]

モーション
・前進(歩く) ぺんぎん氏
・前進(走る) susuki氏
・後退(歩く)
・後退(走る)
・左右旋回
・左右平行(歩く) [済]
・左右平行(走る)
・座る [済]
・ジャンプ(待機) [済]
・ジャンプ(歩く)
・ジャンプ(走る)
・待機 susuki氏


http://www.nicovideo.jp/watch/sm14977206
https://twitter.com/penguin_island/status/216110873310281728

1ミクセルが40cmで1セル5.0fだから、時速3.24kmだと40500f/hで、1/30secあたり0.375f

http://www10.plala.or.jp/masisi/pmd.html

キーイベント
起動直後1回目のpressが無反応になる課題

マウスイベント
press、releaseの瞬間しかイベントが取れないので
Drag状態の判定が怪しい
releaseの取得漏れがある

カメラ上下でキャラクターの向いている方向と垂直を軸に回転させているのだけど
微妙に回転軸がずれる。垂直軸を求めるときにずれているのかな


積んでるタスク

1.3Dプログラミング基礎
ver2.8を入れてみる→SlimDXのバージョンが上がってた どうしよう


2.ツイッターbot
MMDBotAgentのタイムラインからトレンド抽出
MMDBotSeigaの個人とお題を分けようかな
ごちゃごちゃして見難いし
俺得モデルフェス用のスタンドアロンクローラーマイリスとクリップ

3.3Dプログラミング応用
・ゲームっぽく移動できるもの
・表情をプリクラっぽく出力できるもの
・モデルの首挿げ替えするもの
・IKモーション→標準モーションに変換

2012年6月22日金曜日

キー操作2

http://moepic.com/plg/key_r.php

キー操作
・前進後退 [済]
・左右旋回 [済]
・左右平行 [済]
・歩く走る [済]
・座る [済]
・ジャンプ [済]
・自動移動 [済]
・視点前後 [済]
・カメラ上下(視点無視) [済]
・カメラ旋回(視点無視) [済]
・スクリーンキャプチャ

マウス操作
・視点前後
・カメラ上下(視点無視)
・カメラ旋回(視点無視)

モーション
・前進(歩く) ぺんぎん氏
・前進(走る) susuki氏
・後退(歩く)
・後退(走る)
・左右旋回
・左右平行
・座る [済]
・ジャンプ(待機) [済]
・ジャンプ(歩く)
・ジャンプ(走る)
・待機 susuki氏


http://www.nicovideo.jp/watch/sm14977206
https://twitter.com/penguin_island/status/216110873310281728

1ミクセルが40cmで1セル5.0fだから、時速3.24kmだと40500f/hで、1/30secあたり0.375f

http://www10.plala.or.jp/masisi/pmd.html

入力イベント
現状、foamイベントで実装していますが
DirectInputのほうが楽なのかな?
同時押しが取りやすくていいですね
起動直後1回目のpressが無反応になる課題

カメラ上下でキャラクターの向いている方向と垂直を軸に回転させているのだけど
微妙に回転軸がずれる。垂直軸を求めるときにずれているのかな

積んでるタスク

1.3Dプログラミング基礎
マウス操作
キー操作
ver2.8を入れてみる→SlimDXのバージョンが上がってた どうしよう


2.ツイッターbot
MMDBotAgentのタイムラインからトレンド抽出
MMDBotSeigaの個人とお題を分けようかな
ごちゃごちゃして見難いし
俺得モデルフェス用のスタンドアロンクローラーマイリスとクリップ

3.3Dプログラミング応用
・ゲームっぽく移動できるもの
・表情をプリクラっぽく出力できるもの
・モデルの首挿げ替えするもの
・IKモーション→標準モーションに変換

2012年6月17日日曜日

キー操作

一段落したところでキー入力による操作を実装しようと思います

そもそもMikuMikuDanceを知ったきっかけがMMORPGのSNSだったのですが
うっかり足を踏み入れたせいですっかり御無沙汰になってしまいました。

そういうわけで初めてプレイしたMMORPG「ResonanceAge」の後継である
「MasterOfEpic]の操作キーを使わせてもらおうかと思います。

http://moepic.com/plg/key_f.php

・前進後退
・左右旋回
・左右平行
・歩く走る
・座る
・ジャンプ
・自動移動
・視点前後
・カメラ上下(視点無視)
・カメラ旋回(視点無視)
・スクリーンキャプチャ

キーにあわせたモーションを作るか探すかしないといけませんね

http://www.nicovideo.jp/watch/sm14977206


積んでるタスク

1.3Dプログラミング基礎
マウス操作
キー操作
ver2.8を入れてみる→SlimDXのバージョンが上がってた どうしよう


2.ツイッターbot
MMDBotAgentのタイムラインからトレンド抽出
MMDBotSeigaの個人とお題を分けようかな
ごちゃごちゃして見難いし
俺得モデルフェス用のスタンドアロンクローラーマイリスとクリップ

3.3Dプログラミング応用
・ゲームっぽく移動できるもの
・表情をプリクラっぽく出力できるもの
・モデルの首挿げ替えするもの

2012年6月16日土曜日

エッジ2

なんやかんやでHLSLでのエッジ描画はできたのですが、
1.顔の内側にもエッジが乗る
2.法線深度マップの解像度を上げるとGPU使用率がきつい
※RenderTargetに出力してshaderResourceを渡すようにしないと色が出せない

エフェクトエッジ前提のモデルならまだしも
MMD系のモデルをそのまま用いる場合は不向きなようです

MMEへの足掛かりが掴めたので良しとしましょう

ついでなので反転ポリエッジを追加することにしたのですが、
反転ポリの頂点位置は元ポリ座標に法線方向に加算して求めていて
頂点座標の計算をHLSLでやっているので
エッジ処理もそっちに持っていかないといけません。

同じモデルを2回描画する感じでできるかな

反転した頂点インデックスをあらかじめ用意しておいて
フラグを乗せて通常描画、エッジ描画としてDraw
フラグが立っていたらHLSL側で頂点座標ずらしと法線方向を反転



積んでるタスク

1.3Dプログラミング基礎
マウス操作
キー操作
ver2.8を入れてみる→SlimDXのバージョンが上がってた どうしよう


2.ツイッターbot
MMDBotAgentのタイムラインからトレンド抽出
MMDBotSeigaの個人とお題を分けようかな
ごちゃごちゃして見難いし
俺得モデルフェス用のスタンドアロンクローラーマイリスとクリップ

3.3Dプログラミング応用
・ゲームっぽく移動できるもの
・表情をプリクラっぽく出力できるもの
・モデルの首挿げ替えするもの

2012年6月10日日曜日

エッジ

MMDの反転ポリによるエッジ
頂点は増えるわ予想外の不具合を生むわで
敬遠しがちなのですが、MMDXのエフェクトを用いたエッジ
GPUを用いたエッジ描画に挑戦してみようかと

処理フローはシャドウマップ同様に
Main.fxでモデルのエッジをEdgeMapに書き出し
Main.fxでモデルを描画
Edge.fxでEdgeMapを描画
っぽい

Edge.fxにはinputとしてエッジ幅、画面サイズ、画面の頂点座標&テクスチャ座標、EdgeMap
EdgeMapには法線と深度が書き出されており
それを元にEdge.fxで描画


エッジ箇所の検出計算が理解できない
EdgeMapからの読み込み座標が誤っているのか?
モデル部の切り出しはうまくいっているように見える
モデル部の内側が同じ値で埋まっている模様


http://codeoncanvas.blogspot.jp/2010/02/xnafps20.html


積んでるタスク

1.3Dプログラミング基礎
MMDXのエッジを見る
マウス操作
キー操作
ver2.8を入れてみる→SlimDXのバージョンが上がってた どうしよう


2.ツイッターbot
MMDBotAgentのタイムラインからトレンド抽出
MMDBotSeigaの個人とお題を分けようかな
ごちゃごちゃして見難いし
俺得モデルフェス用のスタンドアロンクローラーマイリスとクリップ

3.3Dプログラミング応用
・ゲームっぽく移動できるもの
・表情をプリクラっぽく出力できるもの
・モデルの首挿げ替えするもの

2012年6月9日土曜日

並列化と高速化

前回に続き

・並列化は現状以上に効果を発揮できる箇所なし
・モーフモーションの更新フラグの持ち方を変え処理時間を半分程度に縮小

ulaさんのルカ、ユフ
508さんのリン
tdaさんのミク

に、きしめんを踊らせた状態で30fpsをやや下回ります。

物理演算が並列化できないのがかなりネックになっています。
MMDXで並列化しているらしいのでそちらを見てみましょうか。

MMDXの並列化
1.ボーン変形
2.非同期に物理演算開始
3.モーフ処理
・・・

なるほどモーフ処理に掛かる時間と重ねているんですね
PMXの場合、ボーンモーフがあるのでその辺り分離しないといけません

同様の方法をとった場合、
モデル数が少ない場合は効果が大きいのですが
モデル数が多くなると、
モーフ処理は並列化されているのでそれほど増加しないのに
物理演算は比例して増加するので効果は限定されます。
もちろんやらないよりやったほうがいいのです。




積んでるタスク

1.3Dプログラミング基礎
MMDXのエッジを見る
マウス操作
キー操作
ver2.8を入れてみる→SlimDXのバージョンが上がってた どうしよう


2.ツイッターbot
MMDBotAgentのタイムラインからトレンド抽出
MMDBotSeigaの個人とお題を分けようかな
ごちゃごちゃして見難いし
俺得モデルフェス用のスタンドアロンクローラーマイリスとクリップ

3.3Dプログラミング応用
・ゲームっぽく移動できるもの
・表情をプリクラっぽく出力できるもの
・モデルの首挿げ替えするもの

2012年6月6日水曜日

並列化の検討

PMXモデルの描画手順

1.ボーン・スキン設定値取得
2.1.の値を用いてボーン変形(物理前)・頂点移動等
3.物理演算
4.1.3.の値を用いてボーン変形(物理後)
5.FPS調整
6.地面影描画
7.影描画
8.モデル描画

CPU側で重いのが2.と3.

この二つの並列にできればいいのですが
2.で物理演算を行うための初期姿勢を求めているので
2.が終わらないと3.を実行できない


Bulletはマルチスレッド対応されているらしいのですがやりかたがわからない

C++ではビルドしなおしてランタイムライブラリの設定でできるらしい
http://blog.livedoor.jp/dhime/archives/51784551.html

使える環境だとしてもなるほどわからんですが
http://bulletjpn.web.fc2.com/15_Parallelism.html


Bulletが重いのはあきらめて、
ボーン変形をモデル毎に並列化する?

前回スレッドを作って試したときはスレッドを作ることに時間をとられて
返って遅くなってしまいましたが、モデル数が多ければ効果的でしょうか。
.net4.0だとSystem.Threading.Tasks.Parallelとか使えて楽そうですね。
尤も、便利だけど遅いだと困りますがとりあえずやってみましょう

System.Threading.Thread は 遅くなった
System.Threading.Tasks.Parallel は 効果あり
処理時間は最も重いモデル+α

Bulletが1f=33msec中の半分を喰っているので
モデル4体で限界になります。

積んでるタスク

1.3Dプログラミング基礎
高速化 並列化の検討 もっといい方法はないか
MMDXのエッジを見る
マウス操作
キー操作
物理演算
MMDと比べて重力の影響が大きいのはバージョンの違いなのか実装不具合なのか
ver2.8を入れてみる→SlimDXのバージョンが上がってた どうしよう


2.ツイッターbot
MMDBotAgentのタイムラインからトレンド抽出
MMDBotSeigaの個人とお題を分けようかな
ごちゃごちゃして見難いし
俺得モデルフェス用のスタンドアロンクローラーマイリスとクリップ

3.3Dプログラミング応用
・ゲームっぽく移動できるもの
・表情をプリクラっぽく出力できるもの
・モデルの首挿げ替えするもの

2012年6月5日火曜日

SlimDXのSampleFramework

SlimDXのSampleFrameworkを使ってViewerを作って
というか勉強していたのですが、
Formに描画するのでちょっと扱い辛い

PictureBoxのHandleに描画するよう変更
FPSとFrameNoの表示をラベルコントロールに変更



積んでるタスク

1.3Dプログラミング基礎
高速化 並列化の検討 もっといい方法はないか
MMDXのエッジを見る
マウス操作
キー操作
物理演算
MMDと比べて重力の影響が大きいのはバージョンの違いなのか実装不具合なのか
ver2.8を入れてみる



2.ツイッターbot
MMDBotAgentのタイムラインからトレンド抽出
MMDBotSeigaの個人とお題を分けようかな
ごちゃごちゃして見難いし
俺得モデルフェス用のスタンドアロンクローラーマイリスとクリップ

3.3Dプログラミング応用
・ゲームっぽく移動できるもの
・表情をプリクラっぽく出力できるもの
・モデルの首挿げ替えするもの