2009年8月30日日曜日

etc - 進捗

複数Mesh + 複数Armature対応。

レイヤー1


レイヤー2(上のやつをArmatureごとShift-Dでコピって、アクション付け替えたもの)


ついでに、Armatureなしの固定のメッシュも共存できる予定。


今までも、複数ファイル読み込めば、できていたんだけど、今回は1ファイルで対応です。


そろそろIKにも手を出す時期が来たかな・・・

etc - バースデー・イブ

明日の渋谷パルコですが、

>8月30日(日)には初音ミクのバースデー・イブを、コスプレイヤーのファンと祝う記念撮影会も開催


バースデーライブだと思ってた・・・
多分疲れてたんだな・・・目が・・・。


------------------------

あ、やはりバースデーライブのイベントもある模様。
ただし、31日月曜日で、チケットはとっくに完売済み。
ニコ動で生放送で見れるのか・・・ただし月曜
http://www.nicovideo.jp/static/weblive/mikufes09/

2009年8月29日土曜日

blender - shapekey付きMeshにcenter newする

どうも複製した顔だけバグってるので、これか?と思ってやってみたけど違った・・。
でも、役に立つには役に立ちそうな予感。


これが



こうできる。



現在公式のBlenderでは出来ないはず。
2行消して、数行追加しただけだけど、これで、いちいちエラー出て出来なかった気持ち悪い状況とはおさらば。


Apply Objectも、昔の改良でshapekey付きでも出来るようにしたので、それとコンボで使えば、なんかの役に立つかも。


公開は、使いたい人いるか謎な機能であるので、2.5出てマージしてからかな・・

etc - protobuf-net

protocol buffersを.NETで使用可能なもの。

http://code.google.com/p/protobuf-net/


調べてなかったけど、調べてみたら、やはりあった。

つまりこれがマトモに動くとしたら、俺の今作ってる3Dの独自フォーマットは、Python、C++、Javaに加え、.NETでも簡単に読み込めることに。(アクセッサ付きのクラスが自動生成されて、読み書きはメソッド一発)

おいしい。おいしすぎる。

2009年8月28日金曜日

etc - なんか凄いツールが出来てる!



ダンスミキサー見て、これがMMDで出来ればっ!と誰もが思ったはず。
で、それがもう出来てる・・・!どんどん天井が高くなっていくなー。

------------------------------

こっちはぬるぬると冬目指して製作中。といっても冬は申し込み忘れたけど・・・。

昨日の画像の時点で、どう見てもボーンインデックスとウェイトは正しいかったので、アクション中心に見てたら、アクションにボーンのインデックスを出力して無くて、全部0(rootボーン)になってただけ、というオチ。

ちょいおかしいポリゴンがあるのは、リアルタイムを余り考えずに作ったモデルなので、ウェイトが5つ以上になってる箇所がある為。

2009年8月26日水曜日

etc - 進捗

・・・返事がない・・・ミクの屍のようだ・・・




仕事から帰ってぶっ続けで3時間くらいかけて、アニメーションシステムを復活させながら書き換えた。
うーむ。やはり微妙におかしい。
シェーダでスキニングは出来てるはず。

さらに、コンバートのコードも昨日微調整しまくってたら2倍速以上になって、デバッグモードで10秒掛かってたのが、3秒で出力できるようになった。
リリースだと3秒だったのが1秒ちょいで。

そこはいいから、ボーンインデックスとウェイト直ってくれっ・・・!


やっと原因全部潰したー!

と思ったらやっぱりダメだったー!

↑※ MNRN


いやっ、NLA無しだと、だいたいあってるな・・

2009年8月24日月曜日

etc - 日記

土曜・・・起きたら13時過ぎ。床の上でごろごろしようと思ったら汚すぎてごろごろするスペースが無かった。ふと、そうえいば俺、初音ミク持ってるんだから今からがんばって作ればボーカロイドマスター10間に合う!という定期的に訪れる衝動に駆られ、無駄な時間を数時間過ごす。その後だらだらとプログラム書いて、昔やっていた、ウェイトとウェイトインデックス読み込んでシェーダスキニングというのをやろうしたが、いつも最初はこうなる的な、色んなところに頂点ぶっとんだ異物が表示される。

ちょうどこんな風に


ちょっとマシになった



日曜・・・起きたら13時過ぎ。床の上でごろごろしようと思ったら汚すぎてごろごろするスペースが無かった。ふと、そういえば俺、プログラムするんだから、家でやろうがどこでやろうが同じじゃんね!という定期的に訪れる衝動に駆られ、外出してプログラムをいじる。無謀にも、世界で組んだことある人が500人も居ないだろうと思われるアルゴリズムを組み始め、悩みながら数百行叩き込むも、いつも最初はこうなる的な、色んなところに頂点ぶっとんだ異物が表示される。


月曜・・・おかしいのは多分ウェイトだな、ということで、Blender.jpのウェイト正規化の質問を思い出す。無知な回答をさらしてしまったのだけど、あれ?だとしたら俺の昔のビューワーは何で動くんだ?と思ってコンバーターのコード見返してみたら


// java
for (int n = 0, nSIze = weights.size(); n < nSize; ++n) {
Vec.Float v = (Vec.Float) weights.get(n);
int len = v.length();
float sum = 0;
for (int i = 0; i < len; ++i) {
sum += v.get(i);
}
for (int i = 0; i < len; ++i) {
v.set(i, v.get(i) / sum);
}
if (maxInfluenceCount < len) {
maxInfluenceCount = len;
}
buf.append(v.toString());
}


お、ちゃんと正規化(?)してるwww
いつの間に。

----------------------

最近買った本
・達人に学ぶSQL徹底指南書
・ふしぎ先輩が教えるデータベースエキスパートへの道

どっちも買ったけど読む気しねえorz

----------------------

今度買う本
・ゲーム制作者になるための3Dグラフィックス技術

2009年8月22日土曜日

etc - 紹介せざるを得ない(2)




ニコ動に上がっていたので、改めて紹介。

もっと伸びろおぉぉぉぉ!!!!!!!!!!1

音楽にもうちょい起伏があれば空飛べるレベル

-----------------------------------------------



こっちも凄い!!!
面白い。

etc - 紹介せざるを得ない

【3DCG歪音エナ】ぶっちぎりにしてあげる♪【腹筋ローラー最強♂伝説】
http://www.nicovideo.jp/watch/sm7983504


Blender使い変態過ぎワロタwww

2009年8月17日月曜日

etc - MetasequoiaがHLSL(DirectX9, ps2.0)対応

metaseq.net blog - Metasequoia Ver2.5 Beta13
http://metaseq.sblo.jp/article/31352501.html
>Ver2.5β版を更新しました。
>今回の改良点の目玉はDirectX 9対応です。

>ハードウェアT&Lとピクセルシェーダ対応により、高速化と高品質化の両方を達成できました。



これはっ!!!
まだ試してないですが、2パス以上できるようになればmmviewerとかcelsviewとか要らなくなりますね。

でもmmviewerもcelsviewもメタセコイアも、俺にとっては動かないのが最大の問題。
いつ開発終了してもおかしくないプラグインとか使う気にならないし。
そういえばwarabi(トゥーンレンダのプラグイン)とかいつの間にか消滅してますね…。




--------------------------


・・・某イベントの3日目に申し込んだ。(冬コミではない)

--------------------------

・・・某イベントの3日目に申し込んだ次の日、その週に5重にラインが重なったスケジュール表が回ってきた。あーCEDEC行きたかったなー・・・

2009年8月16日日曜日

etc - 進捗





colorrampが、とりあえず1つ繋がった。
やっと昔作ってたやつの2歩手前まで来た感じ。

あとcurvemapもsampler1Dなので何とかしないといけないけど、別に使ってないので後回し。
続いてshader生成に入ろう。

shaderは頂点シェーダに対応するものが無いため、出来れば、それに対応したMaterialNodeを追加するか、既存のMaterialNodeに頂点シェーダ/ピクセルシェーダ切り替えスイッチ的なものを付けるか・・・

2009年8月15日土曜日

etc - C76 2日目

寝坊しました・・・。
いや、起きてはいたが、体が動かなかった・・・。

-このまま夏の日差しを浴びながら3時間とか並ぶと生きて帰れない-そんな気がしたので11時30分目標に切り替えました。

結局13:00ころに重い腰を上げるが、さらにマックで昼飯食べたりしていて、
ビッグサイト着いたのが14:40
















終わりらへんに東3を全力でうろうろして、なんとか上記のものをゲット。
次回の申込書セット購入。
その後、一仕事して帰宅。
疲れたー。明日は行くか微妙かも。

とりあえず土曜の夜は酒飲みながらプログラミング。

2009年8月14日金曜日

etc - イーフロがShadeの擬人化コンテストを開始

http://www.pixiv.net/event_shadecup2.php


公式で擬人化コンテストのようです。

ぶっ飛んでますね!

----------------------

擬人化といえば、明日からコミケです。

土曜日に同人ソフト/3D付近に出没予定。
MSNの長身猫背が居たら多分俺。

昨年冬の様子

http://blendermoe.blogspot.com/2009/01/etc-c75_06.html

日曜は気力と体力があれば行く予定・・・

2009年8月13日木曜日

etc - 一応反応しておくと

2chのレスに一応反応しておくと…

731 :名無しさん@お腹いっぱい。:2009/08/12(水) 13:18:12 ID:Q+zDeORI
この、変なAA使って荒らしてる奴ってuimacなのか?


2chは99.9%見る専だし、
もし俺が張るとしたら、もっとかわいい萌えキャラAAだから!勘違いしないでよねっ!

あと、最近日が変わるくらいまで会社にいたりするので、間違いなく2chに書いてる暇はない・・・

-----------------------------------------------------


そういえば、かなり何ヶ月も前から名前を聞いていて、調べるの忘れていたのがあった。



相対性理論のLOVEずっきゅん、である。
サニーデイサービスを女ボーカルにしてピクシーズ20%とクラムボン40%混ぜたみたいな感じ。

良いよ良いよー

2009年8月11日火曜日

etc - 夏休み終了

今日で夏休み終了です。
いや、本当の夏休みは今週末に決まっている。
早く計画を立てなければっ。

-----------------------------

君の知らない物語(初回生産限定盤)(DVD付)君の知らない物語(初回生産限定盤)(DVD付)
supercell

SMR 2009-08-12
売り上げランキング : 3
おすすめ平均

Amazonで詳しく見る
by G-Tools


化物語主題歌のCD、新宿GAMERSでフラゲしてきました。

ついでに原作も購入。上巻は新宿紀伊国屋4Fに、あと8冊くらいあった。
下巻は新宿GAMERSに、あと3冊あったような気が。

アニメ見てると、
何十万ポリゴン使っても、何十万行プログラム書いても、これはできまい!と言われているような気がして、なんか悔しい。頑張ろう。

-----------------------------

他に買ったもの

・GWT本
・コミケCD版カタログ
・CGワールド

2009年8月9日日曜日

blender - 戦場ヶ原さん(2)



+2時間。正射影ならこれだけど、横から見たりパースかけるとおそろしい。
ちなみに顔はミクを変形させただけで、まだテクスチャは1mmも描いていない。


+30分。誰だっ!?

2009年8月8日土曜日

blender - 戦場がどうした!

たとえ先駆者(友Pさんとか)がいようとも、手が勝手に作り始めっ



てしまった。サーニャより今は断然こっちのほうに気が行ってしまっている。といってもまだ2時間だが。
西尾維新って同じ大学出身っぽいので、なんかスルーしてしまっていたんだが、ヤバイ。おもしろい。
いや、西尾維新というより、新房昭之監督が凄いのか、はたまたシャフトが凄いのか。

始まり方が鬱アニメっぽいのもツボ。

blender - GLSLMaterialsで生成されるシェーダコード

昨日実家に帰りました。化物語おもしれええええ!!!!!むらむらとモデリングしたくなってきました。

さて本題。GLSLMaterialsで生成されるコードはこんなんだよ、というのを帰りの新幹線で見てたので、参考に載せてみる。




これが、こうなる



// ここにライブラリ的なGLSLの関数群。量が多いし、svnに普通に入ってるのでそちら参照。

// 動的に生成された vertex shader

varying vec3 varposition;
varying vec3 varnormal;

void main()
{
vec4 co = gl_ModelViewMatrix * gl_Vertex;

varposition = co.xyz;
varnormal = gl_NormalMatrix * gl_Normal;
gl_Position = gl_ProjectionMatrix * co;

}

// 動的に生成された fragment shader

varying vec3 varnormal;
varying vec3 varposition;
uniform vec3 unf8;
const float cons12 = float(29.999983);
const float cons22 = float(0.800000);
uniform vec4 unf25;
const vec4 cons29 = vec4(0.800000, 0.800000, 0.800000, 0.000000);
const float cons34 = float(50.000000);
const float cons36 = float(1.000000);
const float cons37 = float(0.500000);
uniform vec3 unf42;
const vec3 cons43 = vec3(1.000000, 1.000000, 1.000000);
const float cons52 = float(1.000000);
const float cons57 = float(1.000000);
uniform sampler1D samp0;
const float cons64 = float(1.000000);

void main(void)
{
vec3 tmp2;
vec3 tmp4;
vec3 tmp5;
vec3 tmp6;
vec3 tmp9;
float tmp10;
float tmp11;
float tmp14;
float tmp16;
float tmp19;
float tmp23;
vec4 tmp26;
vec4 tmp30;
float tmp35;
float tmp40;
vec3 tmp44;
vec4 tmp47;
vec4 tmp50;
vec4 tmp53;
vec4 tmp55;
vec4 tmp58;
vec4 tmp61;
float tmp62;
vec4 tmp65;

shade_norm(varnormal, tmp2);
shade_view(varposition, tmp4);
set_rgb_zero(tmp5);
set_rgb_zero(tmp6);
lamp_visibility_other(varposition, unf8, tmp9, tmp10, tmp11);
lamp_falloff_invlinear(cons12, tmp10, tmp14);
lamp_visibility_clamp(tmp14, tmp16);
shade_inp(tmp2, tmp9, tmp19);
shade_visifac(tmp19, tmp16, cons22, tmp23);
shade_mul_value(tmp23, unf25, tmp26);
shade_madd(vec4(tmp5, 1.0), tmp26, cons29, tmp30);
shade_cooktorr_spec(tmp2, tmp9, tmp4, cons34, tmp35);
shade_spec_t(cons36, cons37, tmp16, tmp35, tmp40);
shade_add_spec(tmp40, unf42, cons43, tmp44);
shade_add(vec4(tmp6, 1.0), vec4(tmp44, 1.0), tmp47);
shade_add(tmp30, tmp47, tmp50);
mtex_alpha_to_col(tmp50, cons52, tmp53);
shade_alpha_opaque(tmp53, tmp55);
mtex_alpha_to_col(tmp55, cons57, tmp58);
valtorgb(dot(tmp58.rgb, vec3(0.35, 0.45, 0.2)), samp0, tmp61, tmp62);
output_node(tmp61, cons64, tmp65);

gl_FragColor = tmp65;
}

2009年8月7日金曜日

etc - SonyPictureImageworksのOSS

blender.jp - Sony Imageworks が、5つのインハウスツールをオープンソースで公開
http://blender.jp/modules/news/article.php?storyid=2453

より。


おぉぉぉ!?!?

http://opensource.imageworks.com/

BSD!BSD!

etc - 夏休み!!!

11日までなので5日。
そのうち移動その他で2日潰れるとして、3日。
そのうち1日で本読んで1から勉強して、2日でWeb開発。
11日夜リリース。

おk、これでいこう。

言語も何も決まってないけど、RoRとかSpringとか、気になってたのから適当に選んでみるかー。
早くしないとpixivの有料オプションで実装されてしまうお


バクマン。4巻購入。

2009年8月4日火曜日

etc - プリキュアEDその2



うおおぉぉ。プリキュア本編見てないけど凄い…!

--------------------------------------------------------

あと3D-coat体験版インスコしたんだけど、
ShaderディレクトリにHLSL Shaderのコードがテキストでタンマリありました!
#defineで静的フローな組み合わせで、実行時に作ってるっぽい。(「汎用的なシェーダ設計 イントロダクション」でググルと良い)

でもBlenderのMaterialNodeは、このやり方だと多分できないので、そんなに参考にはならないけど。

2009年8月2日日曜日

etc - ZBrushやばい

ZBrushのUIヤバイ。
作った人頭おかしい。絶対頭おかしい。
いちいちカッコイイ。
ダブルバッファリングxラウンドレクトx半透明xマウスカーソル変更


Blenderの次のやつもたまに落として見てるんだけど、こちらも中々かっこよくなってると思う。


---------------------------------------------------------------------------------------

土日。libpngでNodeのColorRamp吐き出し。あーめんどくさかった。
グラデの生成は自前でやろうかと思ってたけど、前みたいに1pixel違ったりすると面倒だからBlenderに投げました。



---------------------------------------------------------------------------------


今日はHLSLコンパイル用アプリの作成に手をつけた。
Blender組込みエクスポーター→HLSLコンパイル用アプリ→ビューワー。

コンパイル用アプリでDirectXランタイムでコンパイルしたバイトコードをビューワーで読み出して起動。

おぉ。いけた。
色がキモイのはNodeのColorRampテクスチャ(上記)から適当な行拾ってきているため。

あとは、コンパイル時にノードを参照してシェーダを作る・・・って簡単に言うけど、出来るのかシラネ。
今のところ俺の頭の中にあること出来るのは俺だけ、って信じるしかないです。