FC2ブログ

[3DCG] KAITOその1 [みん]

3DCG
03 /29 2009
なにを思ったか、KAITOを作ることになった。
男の素体ははじめてだーっ

とりあえず、下絵。




どうなることやら、がんばるぞ~~てとこで。

みんでした。

[3DCG]髪の毛とか。[みん]

3DCG
03 /25 2009


髪の毛がだんだん形になてきた。
まだぐちゃぐちゃしてるので、もうちょい綺麗にしたらおkかな。

あと、表情変えたのと、顔を赤らめたのと、気分転換に髪の色変えた(あとで戻すと思うけど)
それと、仁王立ちに飽きたので、まだボーン入れてないのにポーズ付けちゃった。
(もちろん別保存してるけど。)

やっぱりポーズって大事。
手の表情って意外とかなり大事だったりする。

でもやっぱモーションだ!
はやくモーション付けの練習したいお!

みんでした!

[3DCG]前髪のよこっちょについて。[みん]

3DCG
03 /23 2009
最近は3Dでの髪の毛作りがんばってます。
どうやってポリゴンを割ったら綺麗に行くのか。。
うまい人のをみるのもすげー勉強になるけど、自分で発見するのも好きなので、いろいろ試しながら試行錯誤です。

今回は前髪についてみつけたことがあるので書いてみる。

二次絵での前髪(というか横髪なのかな?いや前髪と横髪の間だからーめんどいから前髪の一部ってことで)って、
こう、片方だけ、横に飛び出している。↓こんなかんじ。



これを3Dで表現するのって、むりじゃね?って思ってたんだけど、この髪の感じが萌えポイントでもあるので、どうしても出したくて。
ななめ向いてるときに向いてるほうの髪だけでっぱってて、反対側はでっぱってない。
うーむ。
つまり、だまし絵みたいな発想すればいいのか!
ドラゴンイリュージョン的な(←このブログ書くために調べていまさっき名前知った)



つまり!
こういうことですね!!↓



ななめにでっぱらせちゃうんだ!
さっそく製作中の子に試したみた↓














形状はまだへんだけど、良い線いってね!?
こういう発見するとガゼンモチベーションあがっちゃう。
そんな感じで。

みんでした。

C#でgifの透過情報を簡単に扱う[むー]

C#
03 /22 2009
C#で透過付きgif89aを簡単に扱う方法を紹介します。


読み込んだ段階でbitmapクラスに黒く変更された色情報の復旧について書かれている事が少なかった為、覚書。


Bitmap img = Bitmap("image.gif");

とするとPixelFormatはFormat8bppIndexedでは無く
Format32bppArgbでBitmapオブジェクトがインスタンスされます。
その際、透過色に指定されている色が元の色に関係なく黒に変換されてしまいます。

そのため、何らかの処理を経て、透過の表示を行おうとすると、
透過部分が黒く塗りつぶされた状態になってしまいます。

それを回避するためには、途中の処理で使うbitmapクラスをすべて
Format32bppArgbで処理を行えば下記の状態で透過を残すことが出来ます。


すでに読み込んで有るデータの通常の黒は
Color.FromArgb(255, 0, 0, 0);
読み込み時に変更された黒が
Color.FromArgb(0, 0, 0, 0);
であるため、通常の黒と見分けることが出来ます。


ほとんどの画像処理を高速化するサンプルが、unsafeコードで一旦Format24bppRgbに変換を行っているために、そのまま処理を行うとアルファ情報が落ちていると思います。

Format32bppArgb版のサンプルは『続き』を参照してください。


また、読み込んだままFormat8bppIndexedに無理やり戻してもアルファ情報が落ちます。
Format8bppIndexedに戻すには一旦アルファ値が0の黒を元のパレットの透過色に戻してから変換する必要が有ります。

ColorPaletteを使ったパレットデータを変更する方法はあちこちで記されていますが、読み込んだ段階でFormat32bppArgbに変更されているため、この変更された色はパレットデータのアルファを0から255に書き換えて適用しても復元できませんでした。


通常黒と透過で変更された黒が見分けられれば、
保存やサイズ変更への応用も出来ると思います。


『続きを読む』に読み込んだgifでフォームを切り取るサンプルを置きましたので、ご参考になればと思います。


どなたかの助けになれば幸いです。

write by むー

続きを読む