2011年10月29日土曜日

SoftimageICE : Curve Distance To Curve Location

うまくいってないメモです。

Getting equidistant points on a curve revisited

サポートにこのような記事があったので、実践してみました。

うまくいかないな~って悩んだのですが、もともと上手くいかない記事だったのね orz
英語苦手、というより、読む気がないのが敗因です・・・。

とりあえず、悔しいのでメモ


カーブの長さで判定しているようですが
Curve Distance to Curve Location コンパウンドが
上手くいってないのかも。中身を調べるしかないですね~


ほかの方のコンパウンドを見てみたら、
ロケーションで多数分割して、位置情報を割り出し、
それを、リニアで補完してました。



スクリプト C++ からのアプローチ

スクリプトでは カーブの%による位置を取得でき、その際にTangentベクトルなども一緒に取得できますので非常に便利です。

カスタムICEノードをC++で製作できますので、C++からカーブを取得して、
SDKで用意してある、メソッドで、%での位置を取得しようかと思ったのですが、

ICEでのジオメトリーの取得はどうやら、通常のそれとは勝手が違うようで、
CICEGeometryクラスから、ポイント、ポリゴン等を取得するようです。
そして、カーブのクラスの取得がわかりません。

ひょっとして、用意してないのだろうかと思います・・・詰んだ感じです。

仕事はスクリプトで行ってますが、どうせならICEでスマートに構築したいですよねぇ orz

2011年10月27日木曜日

Softimage ICE : Tools

ICEのノードの扱いを簡単にするプラグインをチェック

BlackRedKing
このブログのツール

2011年10月25日火曜日

Softimage ICE : InstanceNoFromVertexColor

 頂点カラーによって配置するインスタンスを変更します。


  1. グリッドにエミットを発生
  2. エミットの発生した位置の頂点カラーを取得
  3. エミットの色を頂点カラーにする
  4. 輝度をしらべ、一定以下を削除(黒いところを削除)
  5. カラーを取得し、配列にぶち込む
  6. 配列からRGBでもっとも数値の高い数値を取得
  7. 数値の高いものが配列の何番目か取得
  8. ケース分けして、インスタンスのNoとして渡す
    (ケース分けせず、そのまま配列のIndexを渡せばいいです)


メモ程度でした。


2011年10月24日月曜日

2011年10月18日火曜日

Softimage ICE : UV to Location

カーブの上に等間隔に並べようと思ったけど失敗
UV to Locationって、長さの分割じゃなかった orz



2011 10 28 追記 サポートにこのような記事が〜
Getting equidistant points on a curve revisited

なかなかうまくいかないようですなぁ。


2011年10月17日月曜日

Softimage Plugin : PyQtForSoftimage

PyQtForSoftimage
Qtっていまいちわからんのです。
プラットホームに依存しない、UI製作ツールとしてぐらいかな〜

MayaはQtPyに対応してるらしいです
DFコラム

便利そうではあるけれど、
SIが標準サポートしてから考えようと思います。

他の環境に依存したりするツールは面倒ですもんね〜
とはいえ、ぼちぼちと情報は集めておこう。

2011 01 21 追記
A-s-C-e-n-S-i-o-N
さんのところで導入の記事が。仕事ハヤイw

2011年10月15日土曜日

Texture Tutorial : Texture Mapping 基本編

Texture Mapping 基本編

北田さんの記事
良い記事です。いままで知りませんでした orz

最近Gameの背景を製作していて、
ひたすら、リアルにというのを目指してるのですが、

シェーディングが正しければ、
テクスチャを貼らない状態でも、空気感、距離感はつかめます。
そこからの先の作業かもしれませんね〜 > テクスチャ。

動画はUnity

2011年10月12日水曜日

Movie : Damian Nenow's SIGGRAPH presentation at Autodesk booth



ぐはああ、かっこ良すぎるわ〜

16分すぎのクラウドシステムが秀逸すぎる。
これSIのICEで作れるかな?


割と簡単に出来た!
ICEは考えてることがすぐ形にできていいねぇ。


おまけ、フェイクボリューム。
ビルボードなのでアニメーションには向いていない。

コレがあれば、Shadowも落ちるんじゃないかと思ったが、
高度過ぎて解析不能w

2011年10月10日月曜日

Softimage Memo : TextureProjection

TextureProjectionまわりのメモです

コピーしたUVSpaceは、TextureProjectionパラメーターを共有します
以上!!!

2011年10月6日木曜日

VC++ 2010 Express

プラグイン開発に無料のVC++2010Expressをいれてみたのだけど
開発環境の設定がいまいちわからない

2011年10月5日水曜日

Softimage RenderTree : OpenGL Mix8Colors

OpenGL Mix8colors Available

ちょっと風邪気味なので、情報収集がてら、
先日のリアルタイムビューである、
・OpenGL mix4color
・OpenGL mix8color
を試してみました。

mix8colorの方はバグがあるのでベーター版とか
まあ、そんなに重ねる事は無いし、mix4Colorで・・・。



2011年10月4日火曜日

Softimage RenderTree : CardOpacity

ビルボードの木でも、光源に対応した上で、
リアルに見せる必要がある、
とりあえず、メンタレで表現してみた。

ちょっと、ノーマルの理解が怪しいが、
光源を考慮した陰影、スペキュラができたようなのでメモ。

レンダリングプレビューならいいけど、アニメーションにしたら暗くなった!?


■テクスチャ
今回はSpeedTreeで用意した、
この状態を自分で作れるようになるのはまた別のタスク。 orz

用意したテクスチャ



■Card Opacity
メンタレにおいてSpriteが重なると不具合が出るので、
新しいNode の "Card Opacity"で代用しなければならない。

組んでみたんだけど、わりと複雑だったので
Compound 化した。

compound化(NewSprite)

コンパウンド化においてICEにはある
Pass Thoroughが無いので ColorStateで代用

muteも付けたが(やってみたかっただけ)蛇足だった orz


Compoundの中身


アニメーションにしたら、
暗くなるという理由がわからなかったけど、
(恐らくレンダリングの設定を間違っている)

陰影を付けるためのレンダーマップを
Softimageで行うなら、
Card Opacityの設定は必須

レンダリングとゲームのデーターを共有しようとすると
もうちょっと考えねばならない。
課題は盛りだくさん。

最近はゲーム、リアルタイムのほうも、かなり写実的になってきた。
リソースを節約することが前提のリアルタイムだから、
プリレンダリングに応用は可能のはず

2011年10月3日月曜日

Rendering Synthetic Objects into Legacy Photographs

Rendering Synthetic Objects into Legacy Photographs
シーグラフのネタですが、静止画、写真へ3Dオブジェクトを追加してます。
光源を何処から取っているのかわかりませんが、
非常に簡単に中に埋め込んでます。

ARでも、画面の中に小さいグレーの球を入れる事によって、
イメージベースのライティングをリアルタイムでやってた物がありました。

リアルタイムでトラッキングするツールと合わせると、
すでに、動画でも出来そうですねぇ〜。

SoftimageScript : ICE2Obj v0.2


ICEのIncetanceから、ピックオブジェクトの複製
には対応できました。
しかし、5000個もあると、
非常〜に重い。
フリーズしたかと思いました orz
※(進捗を表すプログレスバーは必要)

たぶんコマンドのDuplicateに
負荷がかかってるのかなぁ。
一気に5000複製してからSRTを入れたほうがいいのかも。

スクリプトでの限界を感じます。

あと、ICEInstanceのオブジェクトを
グループで指定した場合の
ShapeIDが取得できてません。

コレがないと、さまざまな木を使い分けることが出来ません。
取得できれば完成なのですががが困ったものです。

ICEがやっと仕事で使える気がする