テーマ:LWプラグイン

MotionHandler関係。

 MotionHandler->evalate()において。  WorldPositionはiteminfo->param(LWIP_W_POSITION)を信用しても概ね大丈夫っぽい(9.6除く?)。  WorldRotationはLWIP_RIGHT/UP/FOR~を信用しては駄目っぽい。  UseItem…
トラックバック:0
コメント:0

続きを読むread more

バグメモ(懺 MotionHandlerか)

 任意アイテムを参照してPosを変更するプラグインA、  Rotを任意アイテムに向けるプラグインB、  があるとして、1アイテムのMotionプラグインに2つを付けた場合に適用順やAfterIKフラグがどう作用するか。 ~931。  A(Before)  B(After)  の順でもB,Aでも、Before/Afterが…
トラックバック:0
コメント:0

続きを読むread more

バグメモ(ItemInfoというよりは・・・)

 参照元プラグインのAfterIKを切ったら正常(従来同様)な値になった・・・('A`)  A-B(plug)-C(IK)-D~の階層構造で、別アイテムのMotHandkerからAとDのLWIP_RT/UP/FWを取り、行列からAから見たDの角度を求める。  B(plug)はBeforeIK。 算出はAfterIKで行う。 …
トラックバック:0
コメント:0

続きを読むread more

スペキュラとUVとvparmf->initMP()

続き(http://fault0d.at.webry.info/200908/article_12.html) 961でUnreal2の落ち方が変わった、というのは置いといて。 txtf->layerEvaluate()した時の問題点は、initMP()による mp.VertexIndexesの扱いぽい。 DStormフ…
トラックバック:2
コメント:0

続きを読むread more

Handlerのインスタンスデータのコピー処理

 OwnerアイテムをCloneした場合、   アイテムの複製発生→複製側Create()→Owner側Copy()  パネルのコンテキストメニュー(Copy/Paste)の場合、   対象側Create()→Owner側が何かにSave()→複製側で何かからLoad()  こんな感じ。  Copy/Pasteが上…
トラックバック:0
コメント:0

続きを読むread more

DStormのLWデベロッパー向けDevKitのバージョン

 通常(LW9)のデベロッパーページから取得出来るのはDevKit24だけ。  LW8のページのメニューではなく、記事から辿るデベロッパーページからはDevKit25が取得出来る。  メニューの方のリンクはLW9と同じなので意味が無い。  一応リンク(http://www.dstorm.co.jp/products/lw8/d…
トラックバック:1
コメント:0

続きを読むread more

MinGWRT 3.16/3.17・・・('A`)

 久々にSourceForgeを見たらMinGWRT 3.17が出てた。 今までは3.15-2を使ってた。  Win32APIも3.14になってたり、BinUtilsやMakeもVerUpしてた。  で、とある簡素なプラグインをコンパイルしてみたら、こんなんだったのが、 The Import Tables (interpret…
トラックバック:0
コメント:0

続きを読むread more

WIN環境のMinGWとsnprintf

 とりあえず、snprintf()を使うとMinGWのライブラリから静的リンクされる(ファイルが太る)。  んで、戻り値がC99に適ってない気がする( gcc 3.4.5-3(1のcc1)、rt 3.15.2、win32api 3.13 )。  char dst[10];  char src[] = 10byteの文字列; …
トラックバック:0
コメント:0

続きを読むread more

アルェ~(・3・)

char str[256] = {'\0'}; strncat(str, string1, 255); strncat(str, "-->", 255); strncat(str, string2, 255); string1,string2は不定長の文字列。 これって256のバッファに最大で514バイト書き込ま…
トラックバック:0
コメント:0

続きを読むread more

LScript上のComringの変更点と注意点

Lightwave 8~9.3.1迄のcomringencode/comringdecodeで使えるdatalistのdetatypeは  "i" == int;  "f" == float;  "d" == double;  "s:Num" == char[Num]  これらに#Numを付けると配列になる。 "i#3" ==…
トラックバック:0
コメント:0

続きを読むread more

ItemShapeとComring

 外部からItemShapeの設定を変えようってやつ。  Lightwave 9.0のレイアウトのAddNull機能(AddNullコマンドでは無い)から、Null作成と一緒にItemShapeを指定出来るようになったアレ。  build1534(LW 9.6β)までのSDKサンプルのItemShape.cには関連する記載が一切…
トラックバック:0
コメント:0

続きを読むread more

俗 パネルで使えるアイコンの色

http://fault0d.at.webry.info/200908/article_1.html の補足。  "\3(i:nnn, NNN)"とする場合、NNNにRGB指定としてint値を10進表記にした文字列を与える事が出来る(LW75~9x)。  このint値は、InterfaceInfo->setItemCo…
トラックバック:1
コメント:0

続きを読むread more

VertexNormalMap

VertexNormalMap用WightMap Type:NORMはVMAP無しのVMADだったぽい(・з・) まぁ用途を考えれば妥当っちゃ妥当か。
トラックバック:0
コメント:0

続きを読むread more

謎メモ:SJISとかUTF8とか

 やり取りする文字コード(データ)がOS設定依存(基本SJIS?)からUTF8に変わって既存の日本語文字リソース全滅の予感。  テキストはエディタでUTF8として保存し直せば大丈夫だとは思うけど、バイナリに埋まってる分はどうしようもなさげ。  パネル表示も全滅。  UTF8を扱うにはwchar_tで文字列記述は L"str"。…
トラックバック:0
コメント:0

続きを読むread more

メモ:CreateKeyコマンドとKeyableChannelsフラグ

 シーン内の各アイテム個々に付与され、CreateKey/DeleteKeyコマンド使用時に参照される各チャンネルのON/OFFを示すビットフラグ。  他のフラグと影響しあう事の無いコマンド固有のフラグ。 AxisLockフラグとは全くの別物。  フラグ内容が更新されるのはレイアウトUIを介してコマンドを使用した時となる。  …
トラックバック:0
コメント:0

続きを読むread more

LWでの行列の正規化(保留)

スケールが掛かっている場合、LWIP_XXXで得られるvec[3]はその影響を含んでいる。 2倍の場合、通常の行列では2倍の値となり、逆行列ではその逆数の値となる。 行列を用いて対象の移動を行う場合は正規化の必要性は任意? 行列から角度を取り出す時には必須。 *-------- LWIP_RIGHT・・・の場合 ○D…
トラックバック:0
コメント:0

続きを読むread more

LWでの回転行列メモ1

私的メモなので間違ってる可能性が高いです。 世に僅かにある情報の断片の泡沫の一つとしてメモ(;・з・) 基本的にmat[3][3]として。 [0]:[0][1][2] [1]:[0][1][2] [2]:[0][1][2] ●iteminfo->param(LWIP_RIGHT/UP/FORWARD)の戻りを…
トラックバック:0
コメント:0

続きを読むread more

iteminfo->param(RIGHT/UP/FORWARD)

float精度の値なのか('A`) 0.4999999702とか 0.9999999404を返してきやがる('A`)('A`) どうしたものか('A`) ---- 行列からradianへの変換をdouble型のまま算出。 radianをfloatにキャストしてfloatだけでdegreeに変換。 とすると切りのよい度…
トラックバック:0
コメント:0

続きを読むread more

TREE_CTLの初期値

~9.0(typeA)と9.2~(typeB)で挙動が違う。 typeBではパネルを開く前にSET_ADDR()で指定する事で初期状態として保持される。 パネルを開いた後にGET_ADDR()すれば↑のアドレスを取得出来る。 typeAでは同じ方法では受理されない。 パネルを開いた後にGET_ADDR()をすると非NUL…
トラックバック:0
コメント:0

続きを読むread more

パネルで使えるアイコン(追補)

基本的な内容(?)はD-CreationやYahooGroupを参照。 http://d-creation.sblo.jp/article/998090.html http://tech.groups.yahoo.com/group/lw-plugin/message/12466 画像の()内の値が使用する文字列になる。 pr…
トラックバック:2
コメント:0

続きを読むread more

particleFxの謎行為

 計算開始させると、EmitterやCollisionとまったく縁の無いアイテムを一つSelectItemしてItemVisibilityを0(Hidden)にする。  計算終了時にそれを元に戻す。  何かのフラグとして使ってるようにも思えない。  ID0,2,3がMeshで0がCollision。  Emitterは他に1…
トラックバック:0
コメント:0

続きを読むread more

HyperVoxelメモ

ライトのActiveFlagは見ない。 Affectフラグだけを見る。 HVからのShaderAccess->illuminate()は死亡っぽい。 TB_ShaderTreeを使おうとすると即死。 標準のSurfMixerのEnvelopeに触ると即死。 ついでに、SurfMixerでは事実上Color…
トラックバック:0
コメント:0

続きを読むread more

1frame内の評価順序

MotionClassは未チェック。 SELECTイベントやコマンドの介入が無い場合。 MasterClassのTIMEイベントから始る。 コマンド発行を受けるとTIMEイベントを除く1セットがもう一回続く事になるっぽい。 TIME { set1 } Command { set2 } TIME ・・・ ----…
トラックバック:0
コメント:0

続きを読むread more

LW SDK/コマンド用アドレス表記とCの文字列化format

取り合えず、GCC3.4.5+MSVC.DLL(v6?)で。 基本(?)コマンド  コマンドが要求するのは装飾無しのxxxxなので、sprintf(s,"%x",p)や_itoa((int)p,s,16)そのままが使える。  %xはどの派生sprintf()でも一意みたいなので注意点は特になさげ。  忘れたけど%#X(0X0…
トラックバック:0
コメント:0

続きを読むread more

ColorHighlightsの反映式

サーフェスカラーをC[n]、ColorHighlightsをCH、SpecularをS、ライト毎から算出される基本要素の累積をL[n]、最終結果をD[n]として、 通常は D[n] = L[n] * S; ColorHighlightsが有効な場合は A = 1.0 - C[n]; B = A * CH; E = 1…
トラックバック:0
コメント:0

続きを読むread more

DiffuseSharpnessの反映式

林檎送れC^h^h^h^h^h DiffuseをNL、DiffuseSharpnessをDSとして、結果をDとすると、 A = pow(2, DS * 4); // べき乗数は0.25当り1 B = (1 - NL); C = pow(B, A); D = (1 - C); 一気に書くと、 D = 1 - po…
トラックバック:0
コメント:0

続きを読むread more