パスワードを忘れた? アカウント作成
7047329 journal
日記

Ledの日記: PMDEditorのCSScript開発に関する覚書1

日記 by Led

PMDEditorのCSScriptの開発について、様子が分かってきた。C#で出来ることは何でも出来るということなので、ほかに興味を持った人のために自分がつまづいたポイントとその解決についてメモをしておく。

ちなみに、.pmdファイルに対する操作は、インストールフォルダ配下の _plugin\CSScript\SampleScript 配下にサンプルがたくさんある。ここを見れば大体分かるはず。

問題は.pmxファイルを編集するときの手がかりがなかなか見つからないこと。以下に手がかりと、PMDEditor上での参考情報の位置をメモ。以下、Pmx編集のウィンドウから[編集]-[プラグイン]-[CSScript]-[C#スクリプト]をクリックして出てくる「CSScript」というタイトルのついたウィンドウ上での操作。

問題1.モデルを扱う上での変数名が分からないので一歩も踏み出せない。
回答1.以下の「ヘッダ」参照。
                        // ホスト配下
                        IPEPluginHost host = args.Host;
                        IPEBuilder builder = host.Builder;
                        IPEShortBuilder bd = host.Builder.SC; // 短絡系ビルダ
                        IPXPmxBuilder bdx = host.Builder.Pmx; // PMXビルダ
                        IPEConnector connect = host.Connector;
                        IPEPMDViewConnector view = host.Connector.View.PMDView;

                        // PMX関連

                        IPXPmx pmx = connect.Pmx.GetCurrentState(); // PMX取得
                        IPXHeader header = pmx.Header; // header :ヘッダ
                        IPXModelInfo info = pmx.ModelInfo; // info :モデル情報
                        IList vertex = pmx.Vertex; // vertex :頂点 | リスト
                        IList material = pmx.Material; // material :材質 | リスト
                        IList bone = pmx.Bone; // bone :ボーン | リスト
                        IList morph = pmx.Morph; // morph :モーフ | リスト
                        IList node = pmx.Node; // node :表示枠 | リスト
                        IList body = pmx.Body; // body :剛体 | リスト
                        IList joint = pmx.Joint; // joint :Joint | リスト

情報の取得方法
[編集]-[ヘッダコード編集]で見つかる。ちなみに、「簡易形式」でスクリプトを作成・保存したものをテキストエディタで確認すると「ヘッダ」と呼ばれる部分と「フッタ」と呼ばれるコードが入る位置が分かる(それぞれ、「ここへ処理を追加してください.」の直前と直後に入る。)「一般形式」の場合は、該当する位置に自分で「ヘッダ」と「フッタ」をコピーしておく。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

アレゲは一日にしてならず -- アレゲ見習い

読み込み中...