devlog [naru design]

プログラミングやテクニカルな内容の覚え書き。

※Lightwaveモデラー用のLScriptです。

カレントレイヤーにあるポリゴンをサーフェイスごとにレイヤーを作成して移動します。

サーフェイス名でパーツ分けされたデータをパーツごとにレイヤー分けされたデータに変換することができます。

設定項目

– Set Layer Name to Surface Name

レイヤー名をサーフェイス名にするかどうかを指定します。
チェックするとレイヤーの名前はサーフェイス名に設定されます。
チェックしないとレイヤーの名前は現在のまま維持されます。

– Set Parts Name to Surface Name

サーフェイス名を持つパーツを作成するかどうかを指定します。
チェックするとレイヤーに含まれるポリゴンをサーフェイス名でパーツを作成します。
チェックしないとパーツは作成されません。

– Ignore hidden polygons

隠れているポリゴンの扱いを指定します。
チェックすると隠れているポリゴンは、現在のレイヤーに置き去りにします。
チェックしないと隠れているポリゴンをすべて表示したのち、本プラグインの処理が行われます。

不具合リスト

2012/05/28 発覚

・非表示のポリゴンが移動されずに元のレイヤーに取り残されてしまう。
処理方法を選択できるように、パネルに選択肢を追加しました。

・レイヤー内で使われていないサーフェイスがあると異常な処理が行われる。
・ファイル名に全角文字が含まれていると、正常に処理が行われない。(対策不要)
ファイル名に全角文字が含まれていると、nextsurface()でサーフェイス名が取れない模様。

1つ目のサーフェイス名を取得するために

surf = nextsurface();

とすると、nilが返ってきてしまう。Lightwave11日本語正式版では大丈夫かな?
大丈夫だとしても、海外生まれのソフトは全角文字は避けたほうが正解ですね。

追記:
Lightwave11日本語正式版をインストールしてみましたが、状況は変わりませんでした。
ファイル名をはじめ、Lightwave上では全角文字を使わずに半角英数字を使ったほうが良さそうです。

ファイル

Download SK_SurfToLayerPart_rev.1.01 (zip, 6KB)

動作確認環境 : Lightwave11 (64bit, Windows7)
本スクリプトを使用して発生するいかなる問題も責任は負いかねます。ご自身の責任のもとで使用してください。

動画

Pocket

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Trackback URL: