« 2006 年 10 月 | Main | 2006 年 12 月 »

2006年11月30日

COLUMN ○○からのアクセス拒否

IPアドレスによるアクセス制限

いらずら書き込みがあまりにも多いので、
2バイト文字を含まない書き込みの拒否と、
ある国とある国のアクセスを制限したところ、
いたずらがピタっとなくなりました。

なんといってもビッグ3ですから、
これを抑えれば残りは微々たるモンです。
やれやれ┐( ´ー`)┌

掲示板荒しに苦慮されている方はご参考ください。

13:58 | コメント (0)

3DCG MentalRay関連書籍

MentalRay関連書籍


『PROGRAMMING MENTAL RAY』

定価:21,000円 (本体20,000円+税5%)
著者:Thomas Driemeyer
監修:小堀 剛
ISBN:4-939007-29-4
発行・発売: 株式会社ボーンデジタル
発行日: 2001年2月


『RENDERING WITH MENTAL RAY』

定価:26,250円 (本体25,000円+税5%)
著者:Thomas Driemeyer
監修:今村 和宏
ISBN:4-939007-22-7
発行・発売: 株式会社ボーンデジタル
発行日: 2000年9月


メンタル・レイ関連の書籍を調べておりまして、
その値段にびっくりしてしまいました。
何なんでしょうこの値段。
びっくりしたなぁもう。

目次を見た感じだと、『PROGRAMMING MENTAL RAY』 は
Mayaのマニュアルに翻訳されずに入っているあれのようですねぇ。
これは自分で訳せるとして、
『RENDERING WITH MENTAL RAY』の方がほしいんだけど、
5〜6千円位かなと思ってたら、この値段てどうよ?
ちょっとボッタクリ過ぎじゃないですか。

こういうの和訳して公開したらいけないのかな?

ちなみに洋書の値段は
『PROGRAMMING MENTAL RAY』 が EUR 129,00
『RENDERING WITH MENTAL RAY』が EUR 69,00
しかもバージョンが上がるごとに装丁しなおしてるじゃん。
。。。

00:00 | コメント (0)

2006年11月29日

3DCG ヘアの憂鬱

キャラクターを作っていて必ずぶち当たるのが

「髪の毛をどうするか」

私もズッポリはまってしまった一人でした。

今までいろいろ試してきました。
Lightwave時代には、プラグインの

・サスクヮッチ
・Shave and a Hair Cut

それからポリゴンで、

・短冊型
・モデリングしてしまう

Mayaで

・PaintEffect(Maya)
・hairはアンリミのみ。。。orz

というくらいでしょうか。
それで最終的にどれにしようかと悩んだ挙句、
「モデリングしてしまう」ということに落ち着きました。
ポイントで短冊パーツをかますとなお良い感じになります。

理由は
プラグインとかその他を使うと制約が多過ぎて手に負えないということ。
短冊型(FFとかこれですが)は、見た目良さそうですけどめちゃくちゃ重くなるということで。
3Dはまだまだ発展途上の技術だということだろうと思います。
個人でさくっと、さらっと作るには、髪型もローポリモデリングこれが最強ですね。
肝はテクスチャ。やっぱ絵を描くのが一番早いし効果的ではないかと。

ヘアついでに
Shave and a Haircut について

かつてLightwave3D用のプラグインとして
開発されていたのをご存知の方はいらっしゃるでしょうか。

私もそのユーザーの一人だったんですが、

メーカーと喧嘩したとかしてないとか詳しい事情はよくわかりませんが、
突如としてLightwave版の開発を中止して他アプリへ行ってしまいました。。。
そして残されたユーザーは途方に暮れる。。。という苦い思い出があります。

なので、今Maya版で比較的安価に販売されてるんですけれど、
どうも購入する気になれないんです。
いいソフトだと思いますけれど。

開発スタイルも、毎日マイナーバージョンアップを繰り出すという
万年ベータテストの状態なので、長期プロジェクトに組み込む
なんてできないよなと思います。

恨み節になってしまいましたね。反省

00:00 | コメント (0)

2006年11月28日

COLUMN mixiーターイム!

SNSの仕組みがオープンソースで出回り始めているようです。
mixiが大繁盛している所為もあってか、
その後を追うようにものすごい勢いでSNSサイトが作られてますねぇ。

私は当初物珍しさで何も考えず誘われるままにmixiに参加したわけですが、
ここに来てなんとなくその仕組みに違和感を感じ始めたというか、
なんか気持ち悪くなってきてしまいました。
本来自由であるべきインターネットの中に閉じた空間が
広がり始めているような不気味さを感じます。
これが当たり前になっていくんでしょうかねぇ。
そんなことないよね。。。

いままでのネットがなんでもありの状態で、
行き着くところが2ちゃんねるだったということで、
それからまたものすごい振り方で堅苦しいルールの中に
閉じ込められるのもどうかなと思います。
蓋を開けるまではわからない世界に足を踏み入れるのはちょっと躊躇してしまう。
閉鎖的な村意識みたいな。そんな気がします。

03:48 | コメント (0)

COLUMN 配色辞典というのが昔ありましたね。今もあるか。。。

kuler

(Adobeにしては)なかなか気の利いたサイトです。
配色の組み合わせを考えるのが面倒なときに便利ですねぇ。
えぇ、センスが無いもので。

00:17 | コメント (0)

2006年11月27日

3DCG ShortFilm Dragonslayerが出来るまで

3D Short Production Process

ショートムービーのドラゴンスレイヤーが出来るまでを解説しています。
一人で2年かかったそうですが、振り返るとあれこれがいるなぁというお話です。

一人で2年。。。というところに感心してしまうわけですが、
とにかく作品として完成させることが一番大切なんだなと最近強く感じます。

02:35 | コメント (0)

2006年11月26日

Maya Page Turn Animation

Page Turn Animation

本のページをめくるアニメーションのチュートリアル。

07:25 | コメント (0)

2006年11月25日

MEL House generator & House painter

House generator

House painter

Bonus Tools の Paint Geometry Tool を使った町並みの景観を作るチュートリアルです。
でもまぁGoogleEarthがあれば(ry

13:18 | コメント (0)

2006年11月24日

3DCG Monthly Game Art Competition # 35: "Child of Sin"

Monthly Game Art Competition # 35: "Child of Sin"

ローポラーのコンペティション
Monthly Game Art Competition
第35回 "Child of Sin" (罪の子?)
の優勝者が決まりました。
今リンクがおかしいです。

私ローポラーですからここら辺はチェック入れています。
アイデアと暇があれば参加してみたいですね。

00:04 | コメント (0)

2006年11月23日

Messiah messiahnismが閉鎖

日本で唯一の情報交換の場だったmessiahフォーラムが閉鎖されてしまいました。
交換といえるほどのことはほとんどありませんでしたが。。。
枯れているフォーラムを見るのはさびしいですけれど、
閉鎖はもっと寂しいですねぇ。
ちょっと前にはMBのwikiサイトが閉鎖されましたし。
うぅ、さむぃ。

私、Mayaにどっぷりはまってますから、もうほとんどmessiahを使ってないので、
今から私がmessiahフォーラムを立ち上げるのはお門違いな気がします。
それよりJAGUAをなんとかしたいかも。。。とか言ってみたりして。

01:43 | コメント (0)

Maya どうとでも出来るUI

MayaはなんでもOKとよく言われますが、
それはそのやり方を知っていないと意味が無いんですね。
それがなんとなくわかり始めてきた気がします。

自作MEL用にとパネル周りのコマンドを探っているのですが、
MELでいろんなパネルを呼び出してしまえば
UIなんてどうとでも出来るんですねぇ。
シェルフだろうが、ハイパーシェードだろうが、グラフエディターだろうが。
よく使う機能をフローティングのシェルフパネルに格納して、
さくさく作業するということが容易に可能という。

なんつーか、Mayaって巨大な工場にポーンと投げ込まれたみたいな、そんな感じ。
Maxとかは、ボタンがギッシリ並んだコクピットの前に座らされたイメージ。
どちらが好みかはその人によるんでしょう。
私は多分Mayaが合ってるんだろうなぁと思います。。。LWは合わなかったなぁ。orz
なんつーてもMELの自由さがいいですねぇ。

01:15 | コメント (0)

2006年11月22日

MEL 今まで損をしていたMayaの使い方

モデルパネルを表示するMEL。

string $window = `window`;
paneLayout;
modelPanel;
showWindow $window;

フローティングのモデルパネルが開きます。
今まで知らなかった。。。
勿体ない使い方をしていました。

disp_s.gif

試しにいくつ表示できるのかやってみました。
。。。27枚。。。まだまだいけそうですが、もう飽きました。

00:00 | コメント (0)

2006年11月21日

Maya Retargeting の検証

前から気になっていたRetargetingを試してみました。

Skeleton > Retargeting >には

 Set Neutral Pose
 Retarget Skeleton □
 Go To Neutral Pose

の3つのコマンドしかなく、これだけで大したことができそうにないんですが。。。

使い方としては、
先ず、各キャラクターのルート・スケルトンを選んでニュートラルポーズを設定します。

Skeleton > Retargeting > Set Neutral Pose

次に、ソース側のルート・スケルトン、shift選択でターゲット側のルートスケルトンを選びます。
そして、

Skeleton > Retargeting > Retarget Skeleton □

でパネルを開きます。

設定項目が体の上下であります。
よければApplyで実行します。

いつくかのキャラクターでトライしてみましたが、
FBIK用のFKスケルトン同士以外はうまくロードまでいきませんでした。
そして、ロードできたとしても、手があっち向いたりこっち向いたりと、まともには動きませんでした。
何のためにニュトラルポーズを計算しているのかと。。。

どうもこのRetargetingはまだまだ開発途中ではないかという印象を受けます。
コマンド自体にも編集や参照といったことはできないようで、
Retargetというノードはなく、Mayaらしくない作りになっています。
当方7.01を使用しているのですが、
8.0でこの機能に進歩はあったのでしょうか?
プラチナの方どうでしょう?

00:00 | コメント (0)

2006年11月20日

MEL MM_mirrorPoseを少し修正

mm_mirrorpose.gif

オプションを増やしました。
OrientJointに合わせた形となっています。

MM_mirrorPose.mel

23:01 | コメント (0)

Maya , NEWS Maya Step-UPキャンペーン

Maya Step-UPキャンペーン

Maya Complete (スタンダロン及びネットワーク)全バージョン
Maya Unlimited(スタンダロン)全バージョン
※ご注意
 2006年10月31日までにご購入いただいたユーザ様対象となります。

通常価格 664,000円
キャンペーン価格 332,000円

だそうです。
なんと50%OFF!!
なんとも微妙な時期と価格。
XSI 6への牽制かな?

19:18 | コメント (0)

REVIEW FREEDOM オープニング

FREEDOM観ました。
オープニングはカッコ良かったです。
一瞬アキラのカットかな?と思ったんですけれど、それっぽく作ってたんですねぇ。
でCG関連のニュースを見たらどうやら神風動画の制作と。
あそこの仕事はうまいですねぇ。

ソース
CG NEWS Digital DNA
究極映像研究所

FREEDOM 1インタビュー

11:06 | コメント (0)

NEWS Tasty Tattoo™ Photoshop Brushes (Free)

Tasty Tattoo™ Photoshop Brushes (Free)  by CG Channel

Photoshop用タトゥブラシ。
ベクターデータ、ソースコードは有償ですが、
ブラシの方はフリーです。
これ系のデザインて描くのが面倒なので、
こういうのがあるとありがたいです。

11:01 | コメント (0)

2006年11月19日

MEL Xスケールに-1をかけた行列をオイラーに戻すと 0 0 -180

Xスケールに-1をかけた行列をオイラー角に戻すと 0 0 -180 で返されます。
先日見つけた公式がそう返しおるんですが、
なるほどと。
スプーンに映る自分の顔。。。みたいな感じでしょうか?
なんでやねーんっ!と突っ込みを入れたくなりますが、
天地逆になってしまうのをなんとか補正をつけないといけないなぁと思います。


//テストMEL locator1のスケールを-1にセットしてこのMELを実行します。

float $nx, $ny ,$nz;
float $ma[16];
$ma = `xform -q -m locator1`;

//変換公式
if(($ma[2] < 1.0) && (($ma[2] > -1.0))){
$ny = -asind($ma[2]);
$c = cosd($ny);
$nx = atan2d(($ma[6])/$c, $ma[10]/$c);
$nz = atan2d($ma[1]/$c, $ma[0]/$c);
}
else {
$nx = atan2d(-$ma[9],$ma[5]);
$ny = -atan2d($ma[2],0.0);
$nz = 0.0;
}


print $nx;
print " ";
print $ny;
print " ";
print $nz;
print "\n";

00:00 | コメント (0)

2006年11月18日

COLUMN 年別アーカイブプラグインの導入

だらだらと長くなってきたアーカイブの表示をスッキリさせようと、
年別アーカイブプラグインを導入しました。

導入方法
archiveload.pl
archiveyear.pl
mt-archive-dateheader.pl

この3つのファイルをMovableTypeのホームディレクトリ内のpluginsに入れて、
年別アーカイブ・テンプレートを新規に作成。
設定>公開>アーカイブ・マッピング
でマッピングを新規作成から年別用マッピングを作成します。
アーカイブの種類: は月別を選んで、
テンプレートには作った年別テンプレートを選んで追加。
出力フォーマット をカスタマイズで
%y/%i
にします。
その他のテンプレートを調整すればOKです。

こちらのサイトを参考にしました。
MT の過去ログリンク表示を nDiary (ごにょり済み)風に

参考テンプレートは以下で

参考テンプレート

サイドコンテンツ部分 Main Indexなどに追加

<h2>アーカイブ</h2>
<ul>
<MTArchiveList archive_type="Monthly">
  <MTArchiveDateHeader>
   <li><a href="<$MTArchiveLink$>"><MTArchiveDate format="%Y"></a></li><br />
  </MTArchiveDateHeader>
  <a href="<$MTBlogArchiveURL$><$MTArchiveDate format="%Y/%m/"$>" title="<$MTBlogName encode_html="1" remove_html="1"$>"><MTArchiveDate format="%B">月</a><wbr />
 </MTArchiveList>
</ul>
年別アーカイブのテンプレート

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="<$MTDefaultLanguage$>" xml:lang="<$MTDefaultLanguage$>">

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=<$MTPublishCharset$>" />

  <meta name="generator" content="Movable Type <$MTVersion$>" />
  <meta name="description" content="<$MTBlogName encode_html="1" remove_html="1"$> の <$MTArchiveDate format="%Y"$> 年の記事タイトル一覧" />
  <title><$MTBlogName encode_html="1" remove_html="1"$> - <$MTArchiveDate format="%Y"$> Archives</title>
<link rel="stylesheet" href="<$MTBlogURL$>styles-site.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="RSS" href="<$MTBlogURL$>index.rdf" />
<link rel="alternate" type="application/atom+xml" title="Atom" href="<$MTBlogURL$>atom.xml" />
<link rel="start" href="<$MTBlogURL$>" title="Home" />
  <MTArchiveYearPrevious><link rel="prev" href="<$MTBlogArchiveURL$><$MTArchiveDate format="%Y/"$>" title="<$MTBlogName encode_html="1" remove_html="1"$> - <$MTArchiveDate format="%Y"$> Archives" /></MTArchiveYearPrevious>
  <MTArchiveYearNext><link rel="next" href="<$MTBlogArchiveURL$><$MTArchiveDate format="%Y/"$>" title="<$MTBlogName encode_html="1" remove_html="1"$> - <$MTArchiveDate format="%Y"$> Archives" /></MTArchiveYearNext>
</head>

<body>

<div id="container">

<div id="banner">
<h1><a href="<$MTBlogURL$>" accesskey="1"><$MTBlogName encode_html="1"$></a></h1>
<h2><$MTBlogDescription$></h2>
</div>

<div class="content">

<h2 align="right">
<MTArchiveYearPrevious>
<a href="<$MTBlogArchiveURL$><$MTArchiveDate format="%Y"$>" title="<$MTBlogName encode_html="1" remove_html="1"$> - <$MTArchiveDate format="%Y"$> 年"> «
 <$MTArchiveDate format="%Y"$> 年</a>
|</MTArchiveYearPrevious>
<a href="<$MTBlogURL$>">Main</a>
<MTArchiveYearNext>
|<a href="<$MTBlogArchiveURL$><$MTArchiveDate format="%Y"$>" title="<$MTBlogName encode_html="1" remove_html="1"$> - <$MTArchiveDate format="%Y"$> 年"><$MTArchiveDate format="%Y"$> 年 » </a>
</MTArchiveYearNext>
</h2>

<h2><$MTArchiveDate format="%Y"$> 年</h2>

<dl><MTArchiveYear order="descend">
  <MTArchiveYearIfEntries>
    <MTArchiveLoad>
      <MTDateHeader>
          <dt><a href="<$MTBlogArchiveURL$><$MTArchiveDate format="%Y/%m/"$>" title="<$MTBlogName encode_html="1" remove_html="1"$> - <$MTArchiveDate format="%Y 年 %m"$> 月"><$MTArchiveDate format="%Y 年 %m"$> 月</a></dt>
            <dd>
              <MTEntries sort_order="descend">
                <li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a> - <$MTArchiveDate format="%Y-%m-%d (%a)"$></li>
              </MTEntries>
            <dd>
      </MTDateHeader>
    </MTArchiveLoad>
  </MTArchiveYearIfEntries>
</MTArchiveYear></dl>

</div>
</div>

</body>
</html>
これに伴いまして、今までのdateテンプレの表記では不具合を起こしますので、 Date-Based Archive の次、前の送り部分を書き換えます。

<h2 align="right">
<MTArchivePrevious>
<a href="<$MTBlogArchiveURL$><$MTArchiveDate format="%Y/%m/"$>" title="<$MTBlogName encode_html="1" remove_html="1"$> - <$MTArchiveDate format="%Y 年 %m"$> 月"> « <$MTArchiveDate format="%Y 年 %m"$> 月</a>
|</MTArchivePrevious>
<a href="<$MTBlogURL$>">Main</a>
<MTArchiveNext>
|<a href="<$MTBlogArchiveURL$><$MTArchiveDate format="%Y/%m/"$>" title="<$MTBlogName encode_html="1" remove_html="1"$> - <$MTArchiveDate format="%Y 年 %m"$> 月"> <$MTArchiveDate format="%Y 年 %m"$> 月  »</a>
</MTArchiveNext>
</h2>

18:47 | コメント (0)

COLUMN フリ〜ダムの動画配信が見れませーん

結構な露出でちょっと興味があったんだけど、
動画を見ようとしたら、ストリーミング再生がちゃんと動かず紙芝居状態。
キャッシュもクリアされているみたいなので何回やってもおんなじっす。
せめてローバンド用のサイズも用意してくれていればいいものを、
このムービーだけはでかいサイズしか無い。
※ちなみにうちはフレッツ光です。ローバンドではないです、はい。

Yahooが配信しているんですけれど、このお粗末さは一体!?
あ、もしかしてYahooBBでしか、まともに見れないとか、そういうこと?
な訳ないと思うけど、強ちありえないこともないかもとか思ってみたりして。
Youtubeでアップされるまで待つかなぁ。

04:34 | コメント (1)

3DCG Indigo 関連

XSI 6 の新機能でMOTORというモーションの転送機能が付くという情報を見て、
羨ましいと思ったことはさておきまして、

Indigo の情報です。

Maya to Indigo セットアップ方法など
Indigo CGTalkスレ

プラグイン開発者のコメントでは、
まだまだフィニッシュには程遠いけれど、とりあえず動くよ。
ということらしいです。
使い手がまだあまりよくないので気長に待ちましょう。

04:07 | コメント (0)

2006年11月17日

MEL ※記事の訂正

オイラー角をオイラー角で変換した後のオイラー角

の変換公式に誤り(というか不具合)がありました。
こちらの方がより正常に動作すると思います。

//変換公式
if(($ma[2] < 1.0) && (($ma[2] > -1.0))){
$ny = -asind($ma[2]);
$c = cosd($ny);
$nx = atan2d($ma[6]/$c, $ma[10]/$c);
$nz = atan2d($ma[1]/$c, $ma[0]/$c);
}
else {
$nx = atan2d(-$ma[9],$ma[5]);
$ny = -atan2d($ma[2],0.0);
$nz = 0.0;
}

記事の方も訂正をしています。
参考にされていた方には誤った情報を流してしまいまして
誠に申し訳ございませんでした。

14:16 | コメント (0)

MEL コワザ其の一 オイラー角を-90〜90°の範囲にする方法

意地でもラジアンを使わない根性で編み出した小技。

if($nx > 90) {
$nx = $nx - 180;
}
else if($nx < -90) {
$nx = $nx + 180;
}
if($ny > 90) {
$nx = -$nx;
$ny = $ny - 180;
}
else if($ny < -90) {
$nx = -$nx;
$ny = $ny + 180;
}
if($nz > 90) {
$nx = -$nx;
$ny = -$ny;
$nz = $nz - 180;
}
else if($nz < -90) {
$nx = -$nx;
$ny = -$ny;
$nz = $nz + 180;
}

数値を入れるとこんな感じでMayaが動作するのを見て
真似て作りました。


コードに入れ込んでみたらあんまり役に立たなかった。
ちっ!
これだと半分だけなので残り半分をカバーできるように改良せねばなりません。

00:00 | コメント (0)

2006年11月16日

NEWS 津波とサッカーと陣内智則と藤原紀香

津波は大したことがなくて良かった。
サッカーは最後のPKを外したらまずいでしょう。
中村に蹴らせるべきです。
そして何が驚いたって、やっぱり陣内。
何故藤原紀香が陣内智則と結婚するんですか?
この一報にはぶっ飛びました。
それから何故か不思議な笑いが込み上げて来て。
。。。なんか笑える。

カンダウノとかヤダアキコとか目じゃないですね。
今日のワイドショーはこれで持ち切り!

陣内といえば、前にも環なんとかとこんな噂があったような。
壮大なジョークなのかなぁ?

02:46 | コメント (0)

MEL おちゃめなMaya4 シビアすぎるアークサイン

asind()を使っておりますと、ときーどき
// Error: line ***: Invalid argument(s) for asind.
のエラーを返します。

debug用にprintをかまして数値を読んでも 1 のはずなのに、
しかもif文を前にかましているのに。。。if($hoge < 1.0) =(等号)付けてないのに。。。

そんな時のTips、

asind(`min 1.0 $hoge`);

これで通りました。えぇ
1.0000024
とか値が入ってるんでしょうか。
厳格なMayaさん。
つーか、その前のif文通すなっつーの。

00:00 | コメント (0)

2006年11月15日

MEL matrixの生成

なんとなく回転行列の使い方がわかり始めた今日この頃
4×4の行列変換が結構便利だということがわかりました。
しかし、理屈はわからないまま答えがポンと出てくるので、とても気持ち悪いです。

//ポイントと角度とスケールからマトリックスを生成
proc float[] _makeMatrix(float $point[], float $theta[], float $scale[]) {

float $ma[16];

float $px = $point[0];
float $py = $point[1];
float $pz = $point[2];

float $rx = $theta[0];
float $ry = $theta[1];
float $rz = $theta[2];

float $sx = $scale[0];
float $sy = $scale[1];
float $sz = $scale[2];

$ma[0] = $sx * cosd($ry)*cosd($rz);
$ma[1] = $sx * cosd($ry)*sind($rz);
$ma[2] = $sx * -sind($ry);
$ma[3] = 0;
$ma[4] = $sy * (sind($rx)*sind($ry)*cosd($rz) - cosd($rx)*sind($rz));
$ma[5] = $sy * (sind($rx)*sind($ry)*sind($rz) + cosd($rx)*cosd($rz));
$ma[6] = $sy * sind($rx)*cosd($ry);
$ma[7] = 0;
$ma[8] = $sz * (cosd($rx)*sind($ry)*cosd($rz) + sind($rx)*sind($rz));
$ma[9] = $sz * (cosd($rx)*sind($ry)*sind($rz) - sind($rx)*cosd($rz));
$ma[10] = $sz * cosd($rx)*cosd($ry);
$ma[11] = 0;
$ma[12] = $px;
$ma[13] = $py;
$ma[14] = $pz;
$ma[15] = 1;

return $ma;

}
//_makeMatrix({1.0, 2.0, 3.0}, {30.0, 60.0, 45.0}, {-1.0, 1.0, 1.0});

matrix関連のノードを見かけるので、APIには実装しているはずなんですが、
MELコマンドがないですねぇ。MELではやらんだろうということなのかな?

01:10 | コメント (0)

2006年11月14日

MEL matrix関数がない

MELには実装されてないのでしょうか?
libを書くのが面倒です。


//逆matrix
proc float[] _reMatrix(float $ma[])
{

float $am[16];

//マトリックスの掛け算
$am[0] = $ma[0];
$am[1] = $ma[4];
$am[2] = $ma[8];
$am[3] = $ma[12];
$am[4] = $ma[1];
$am[5] = $ma[5];
$am[6] = $ma[9];
$am[7] = $ma[13];
$am[8] = $ma[2];
$am[9] = $ma[6];
$am[10] = $ma[10];
$am[11] = $ma[14];
$am[12] = $ma[3];
$am[13] = $ma[7];
$am[14] = $ma[11];
$am[15] = $ma[15];

return $am;

}
//座標変換
proc float[] _matrixRotate(float $pi[], float $sita[])
{

float $nx, $ny ,$nz;
float $me[16];

string $lo[] = `spaceLocator -p 0 0 0`;
rotate -r -os $pi[0] $pi[1] $pi[2];
$ma = `xform -q -m $lo`;

string $lo2[] = `spaceLocator -p 0 0 0`;
rotate -r -os $sita[0] $sita[1] $sita[2];
$mb = `xform -q -m $lo2`;

select -r $lo;
delete;
select -r $lo2;
delete;

$me = _matrixTimes($ma, $mb);

//変換公式
if(($ma[2] < 1.0) && (($ma[2] > -1.0))){
$ny = -asind($ma[2]);
$c = cosd($ny);
$nx = atan2d($ma[6]/$c, $ma[10]/$c);
$nz = atan2d($ma[1]/$c, $ma[0]/$c);
}
else {
$nx = atan2d(-$ma[9],$ma[5]);
$ny = -atan2d($ma[2],0.0);
$nz = 0.0;
}
※訂正 2006 11/18 変換公式を訂正しました。

return {$nx, $ny, $nz};

}
//逆変換
proc float[] _matrixReRotate(float $pi[], float $sita[])
{

float $nx, $ny ,$nz;
float $me[16];

string $lo[] = `spaceLocator -p 0 0 0`;
rotate -r -os $pi[0] $pi[1] $pi[2];
$ma = `xform -q -m $lo`;

string $lo2[] = `spaceLocator -p 0 0 0`;
rotate -r -os $sita[0] $sita[1] $sita[2];
$mb = `xform -q -m $lo2`;

select -r $lo;
delete;
select -r $lo2;
delete;

$mb = _reMatrix($mb);
$me = _matrixTimes($ma, $mb);

//変換公式
if(($ma[2] < 1.0) && (($ma[2] > -1.0))){
$ny = -asind($ma[2]);
$c = cosd($ny);
$nx = atan2d($ma[6]/$c, $ma[10]/$c);
$nz = atan2d($ma[1]/$c, $ma[0]/$c);
}
else {
$nx = atan2d(-$ma[9],$ma[5]);
$ny = -atan2d($ma[2],0.0);
$nz = 0.0;
}
※訂正 2006 11/18 変換公式を訂正しました。

return {$nx, $ny, $nz};

}

matrixを取るのにいちいちロケイターを作ってるのがカッコ悪いんですが。。。
数値から生成してくれないものか知らん?

02:23 | コメント (0)

2006年11月13日

MEL オイラー角をオイラー角で変換した後のオイラー角

proc float[] _matrixTimes(float $pi[], float $sita[])
{

float $nx, $ny ,$nz;

string $lo[] = `spaceLocator -p 0 0 0`;
rotate -r -os $pi[0] $pi[1] $pi[2];
$ma = `xform -q -m $lo`;

string $lo2[] = `spaceLocator -p 0 0 0`;
rotate -r -os $sita[0] $sita[1] $sita[2];
$mb = `xform -q -m $lo2`;

select -r $lo;
delete;
select -r $lo2;
delete;

//マトリックスの掛け算
float $xx = $ma[0]*$mb[0] + $ma[1]*$mb[4] + $ma[2]*$mb[8] + $ma[3]*$mb[12];
float $xy = $ma[0]*$mb[1] + $ma[1]*$mb[5] + $ma[2]*$mb[9] + $ma[3]*$mb[13];
float $xz = $ma[0]*$mb[2] + $ma[1]*$mb[6] + $ma[2]*$mb[10] + $ma[3]*$mb[14];
float $xw = $ma[0]*$mb[3] + $ma[1]*$mb[7] + $ma[2]*$mb[11] + $ma[3]*$mb[15];
float $yx = $ma[4]*$mb[0] + $ma[5]*$mb[4] + $ma[6]*$mb[8] + $ma[7]*$mb[12];
float $yy = $ma[4]*$mb[1] + $ma[5]*$mb[5] + $ma[6]*$mb[9] + $ma[7]*$mb[13];
float $yz = $ma[4]*$mb[2] + $ma[5]*$mb[6] + $ma[6]*$mb[10] + $ma[7]*$mb[14];
float $yw = $ma[4]*$mb[3] + $ma[5]*$mb[7] + $ma[6]*$mb[11] + $ma[7]*$mb[15];
float $zx = $ma[8]*$mb[0] + $ma[9]*$mb[4] + $ma[10]*$mb[8] + $ma[11]*$mb[12];
float $zy = $ma[8]*$mb[1] + $ma[9]*$mb[5] + $ma[10]*$mb[9] + $ma[11]*$mb[13];
float $zz = $ma[8]*$mb[2] + $ma[9]*$mb[6] + $ma[10]*$mb[10] + $ma[11]*$mb[14];
float $zw = $ma[8]*$mb[3] + $ma[9]*$mb[7] + $ma[10]*$mb[11] + $ma[11]*$mb[15];
float $wx = $ma[12]*$mb[0] + $ma[13]*$mb[4] + $ma[14]*$mb[8] + $ma[15]*$mb[12];
float $wy = $ma[12]*$mb[1] + $ma[13]*$mb[5] + $ma[14]*$mb[9] + $ma[15]*$mb[13];
float $wz = $ma[12]*$mb[2] + $ma[13]*$mb[6] + $ma[14]*$mb[10] + $ma[15]*$mb[14];
float $ww = $ma[12]*$mb[3] + $ma[13]*$mb[7] + $ma[14]*$mb[11] + $ma[15]*$mb[15];

//変換公式
if(($ma[2] < 1.0) && (($ma[2] > -1.0))){
$ny = -asind($ma[2]);
$c = cosd($ny);
$nx = atan2d($ma[6]/$c, $ma[10]/$c);
$nz = atan2d($ma[1]/$c, $ma[0]/$c);
}
else {
$nx = atan2d(-$ma[9],$ma[5]);
$ny = -atan2d($ma[2],0.0);
$nz = 0.0;
}
※訂正 2006 11/18 変換公式を訂正しました。

return {$nx, $ny, $nz};

}

お試しコマンド
オイラー{0.0, 30.0, 0.0}を{30.0, 0.0, 0.0}回転させた時
_matrixTimes({0.0, 30.0, 0.0}, {30.0, 0.0, 0.0});
// Result: 33.690068 25.658906 16.102114 //

cheers!

00:00 | コメント (0)

2006年11月12日

Maya noise controller

noise controller

PS3の発売を横目で睨み(別に睨んでないですけど)、
今日もMayaの情報をあれこれ探してました。
ノイズを加えるMELだそうです。当方未検証。

00:04 | コメント (0)

2006年11月11日

MEL おちゃめなMaya3 xformの謎

getAttr locator1.translate;
// Result: 4.549147 81.970932 -2.348332 //
xform -q -os -t locator1;
// Result: 70.437177 -40.261024 -12.770951 //

位置情報を取りたい時、上のように記述すると、
getAttr と xform で違う値を返すことがあります。
※正しい値は getAttr の方です。
これは一体どういうことなんでしょうか?
謎です。全然わからない。
何かクリアしなければならないものがあるんでしょうか?
今まで xform を多用してたのですが、
この所為で、うまく動かなかった。。。
なんでかなぁ?

とりあえず、今後は getAttr を使うことにします。
参ったっす。Mayaさん。。。

05:08 | コメント (0)

Maya レンダラーの選択

MayaSoftwareにするか、MentalRayにするかで迷っておりました。
MentalRayは設定項目も多く、シェーディングネットワークも、
MayaSoftwareに比べて今ひとつ使いにくいという印象があって、
今まで使用するのを敬遠していたんですが、
いろいろと試行錯誤した結果、MentalRayを使用することにしました。

理由は
MayaSoftwareでは、機能、品質に不十分なところがある。
それから、これが結構効いてるんですが、今後改善される気配がないという状況。
反対にMentalRayでは、多少の使いにくさはあるものの、
十分な機能と品質に加えて、情報が充実しつつあるのと、
現在のMentalRayの開発状況を見て鑑みるに、
MAYAだけでなく、XSI、MAXでも採用しており、
シェーダーのライブラリも生きてくるのではということで、
今後はこちらの方を勉強しておいた方が良いだろうという結論に達しました。
加えて、メインマシンが熱暴走し始めまして(埃でも溜まってるんかと思うんですが)、
MentalRaySatelliteを使うとスレーブのみでレンダリングできるので、
その点でも重宝するかなということで(これが一番大きい理由かも)。

後は、PaintEffectがMentalRayで問題なくレンダリングできるようになると
言うことはないんですけれど、どうなんでしょうねぇ。

00:00 | コメント (0)

2006年11月10日

Maxwell , Maya , Maya Maxwell for Maya

MAXWELL MAYA PLUG-IN FEATURES LIST

久しぶりに見たらかなり改善されてますねぇ。
しかし前科がありますから実際に出て触ってみて同じように。。。できるといいなぁ。
ムービーでのレンダリングが異様に速いんですけど、
5分で本当にあんなにキレイになるのかなぁ?
レンダーファームを使ってるんと違うんかと。
何にしましても、実際に触るまではわかりませんよぉ〜。

00:02 | コメント (1)

2006年11月09日

MEL デプスマップシャドウで影の減衰を表現する方法

mixiでも昨年頃話題になっていた手法を用いてやってみました。

ss_dm_sn.gif

やっていることは、Light Infoにオブジェクトをコネクトして
それをライトのFilter Sizeにつなげています。
rampとmultiplyDivideは値の調整です。
影色にもついでにコネクトしています。

オブジェクト位置から離れると影がぼけるという考え方です。
しかし、これでは1つのオブジェクトしか対応できません。
ということで、困った時のレイヤーテクスチャで、
複数のオブジェクトをレイヤーで重ねてDarkenで合成しています。
これでFilter Sizeのマップを作るという感じでしょうか。
しかし、これでは不都合な場合が出てくることが判明。
影のボケ足近くに他のオブジェクトが重なった場合、
重なっているところの影がクリアになったりと。
う〜ん、最初から考え直さないといけないなぁ。

softshadow_depthmap.jpg
こちらがデプスマップシャドウ レンダリング時間は1分と速く、仕上がりもなかなか綺麗なのですが。。。

softshadow_raytrace.jpg
こちらがレイトレース レンダリング時間 2分53秒。重い。。。

課題
オブジェクトが重なる場合の影の処理。
デプスマップシャドウではトランスペアレンシーで抜きたいところの影が抜けません。
これは何か方法はないのでしょうか?
以前日記でも紹介した事があるのですが、私が見つけた方法は、
ジオメトリを切り抜くというものでした。
しかし余りにも力技なのでもう少しまともな方法はないものかと。

それから、メンタルレイを使った場合、
トランスペアレンシーの切り抜きは可能なのですが、
カスタムアトリビュートのShadowMap の所の
Softnessで影のぼかしがLight Infoでは効きません。
どうも、また違ったシェーディングネットワークを組む必要がありそうです。

ご興味のある方はどうぞ
softshadow_depthmap.ma

00:00 | コメント (0)

2006年11月08日

3DCG Mymentalray サイトオープン!

http://www.mymentalray.com/

ユーザー主導のメンタルレイのポータルサイトがオープンしました。
先日の日記で紹介した記事などもまとめられているみたいです。
パワーがあるなぁと感心します。

00:00 | コメント (0)

2006年11月07日

MentalRay Mental Ray for Maya の基本

Mental Ray Basics

基本をわかっていないと変な使い方をしてしまうわけで、
Mental Ray for Maya の基本的な使い方をレクチャーしてくれているスレッドをCGTalkで見つけました。
一つのオブジェクトにMayaソフトウェアとMRのシェーダーをコネクトする方法とか、
バンプマッピングの注意点とか、いろいろ。
ビギナーというか独学の人にはありがたいチュートリアルです。

中身をみてみると、MSとMRではシェーディングネットワークの組み方が全然違いますねぇ。
しかし、さらに勉強することが増えたようなそんな気がします。。。3Dは疲れる。

00:00 | コメント (2)

2006年11月06日

MentalRay Physical Sky Maya (mad_physicalSky)

Physical Sky Maya (mad_physicalSky)
開発元
Physical Sky

まだ試していませんが、
ソースも入っているのでありがたいです。

01:26 | コメント (0)

2006年11月05日

COLUMN イベント目白押しのインテックス大阪へ

11月5日(日)インテックス大阪で開催中のペット博へ行ってきました。
そしたら、なんか会場の外までびっしり長蛇の列ができているんです。
だけど、並んでる人を見たらどうもダーク系のブルゾンのモサイ野郎ばっかりで、
最後尾のプラカードをよく見ると『年齢制限云々はこちら』とか書いてあるんです。
これはペット博の列ではないよねと先へ進んでいくと、
DreamPartyとか可愛らしいイラストがでかでかと描かれてある看板を見て納得。

あぁ、秋葉系?

しかし、周囲のタバコ臭さとかそれ系の人たちと、看板のカワイイイラストと相俟って
かなり異様な雰囲気を醸し出していました。

私もそれ系に見られなくもないかもしれないんだけれど(何をいっているのかわかりませんね)、
あの中には入っていけないなぁ。
秋葉系の人ゴメンナサイ。

22:03 | コメント (0)

MentalRay More MR Shaders

More MR Shaders

Jan Sandström

Mayaの標準ユーティリティシェーダーをMR用にインプリメントしてくれています。
こういうのは、メーカー側でとっととやってほしいところなんですけれど。

kakeami_mr_test.gif

ということで、メンタルレイでカケアミシェーダーが使えていませんでしたので、
ここぞとばかりに試してみたところ(JS_LuminanceとJS_SurfaceLuminanceを試しました)、
Shadowの情報が無いようで影が落ちてくれませんでした。
うーん、オシイところまで来ているのですが。。。
どうしよう。作者に報告しようかなぁ。
それとも別のコネクションを探した方がいいのか。
いっそ、MRのシェーダーを書いてしまえばいいのか。。。アァ、メンドクサイ

00:00 | コメント (0)

2006年11月04日

Maya プロジェクト管理彼是

CGTalkでプロジェクト管理についてのディスカッションを見つけました。

こういった内容はほとんど見つからないですから、
独学の身としては非常に参考になる話です。
私は今のところMayaのデフォルトのディレクトリ構造で管理してまして、
ファイル名もバラバラ。。。しっかり計画を立てておかないといけないなぁと思います。

開発環境の再インスコで1日終わってしまった。
エラーばっかり出るんだもの。。。
バイナリを作るぞっと。

00:00 | コメント (0)

2006年11月03日

MentalRay レンダーレイヤーの代用品?

ctrl_buffers

レンダーレイヤーの代わりになるようなプラグインでしょうか?
まだ試していないので詳細はわかりませんが。
評判は良さげです。

00:00 | コメント (0)

2006年11月02日

3DCG 走るカケアミPOLICE ROBOT







プロジェクションで線の位置を固定しているのと、線が綺麗過ぎるので、
動かしてみると、もう一つ機械的ですねぇ。
手書き感がほしいんですけどどうすればいいんでしょうか?

足がめり込んでる。。。orz

00:00 | コメント (0)

2006年11月01日

NEWS ソフトバンクのうそつき!

SBモバイル、料金広告を一部修正…「0円」小さく

だそうです。
最近発表されたナンバーポータビリティ以降のユーザーの増減では、

ドコモ   -6万
au     +8万
SoftBank -2万

となっていて、あれだけ宣伝してて減ってるじゃないの!?
とこっちが心配してしまう展開。

サーバー停止の一件といい、
ちょっと企業の姿勢が疑われてしまいますねぇ。
こいつは信用できないと。

あんまりごたごたが続くと。。。つーかもう遅いかも。

13:26 | コメント (2)

Maya カケアミシェーダー

hatching_kakeami.jpg

シェーディングネットワークで組んでみました。
少しイメージに近づいてきたようです。
やっていることは単純で、影濃度に合わせて、8本の斜線を入れています。
シェーディングネットワークが結構煩雑なことになってまして、
今のところコントロールが難しいので、
これを一つのシェーダーにまとめてコントロールできればなぁと思います。

ご興味のある方はどうぞ
hatching_kakeami.ma

00:00 | コメント (0)