Shade3D 公式

ShadePluginSDK1510に付いて


#1

masaです。
遂に、SDK1510が公開されました。これで、いよいよ、Shade15.1以降対応のプラグインを開始
していく予定です。
そこで、いくつか気付いた点等を列記します。
1..net 2013 のexpress版では、afxres.h がないと言って怒られます。
対策は、script2.rc の #include “afxres.h” を #include “winresrc.h”
に書き換えれば、ちゃんとメイクできます。
2.ドキュメントがない。
折角正式版が、リリースされましたが、ドキュメントが、有りません。
以前のものと同じ所はどうでも、新しく追加されたり、削除された部分の一覧くらいは、欲しいです。


#2

やはりドキュメントが無いのは、不便です。
今の配布物に同梱しなくて構いませんので、Shade Developer Netwark
内で参照出来る様に出来ないでしょうか。


#3

検索サイトでWindows用のドキュメントを探してもまったく見つかりませんね。
samplepluginを試しに実行してみているのですが、上手くいきません。


#4

私の場合は、Windowでは、Visual Studio Community 2013
Mac では、Xcode7.3で
使えてます。実際のところ微妙な部分は、その度に適当に調整しながらやってますので、
もしどんな風にうまくいかないのか説明して頂ければ多少お手伝いできるかもしれません。


#5

Visual Studio Community 2015で作成しようと思っています。
何から手をつければよいのか分からないので、今回はSampleEffectorを
ビルドしました。

1>------ ビルド開始: プロジェクト:SampleEffector, 構成:Debug x64 ------
1> com.cpp
1> Unknown compiler version - please run the configure tests and report the results

1> 1 個のファイルをコピーしました。
========== ビルド: 1 正常終了、0 失敗、0 更新不要、0 スキップ =========

この先何をすればよいのかが分からないです。
~\bin\plugins
にコピーしてShade3Dを起動しても何も変わっていないように感じます。
アドバイスお願いします。


#6

下記のメッセージから正常にメイク出来てると思います。
「========== ビルド: 1 正常終了、0 失敗、0 更新不要、0 スキップ =========」

尚、このサンプルプロジェクトでは、構成プロパティの中のビルドイベントのビルド後イベントに
出来たプラグインを、shadeのpluginsフォルダーに自動的にコピーするスクリプトが定義されてる様ですが、
これは、ユーザ毎にコピー先が変わる(お持ちのShadeで変わりますから)ので、書き直した方がいいと思います。

「~\bin\plugins
にコピーしてShade3Dを起動しても何も変わっていないように感じます。」
ユーザ定義のプラグインは、自分のユーザのドキュメントフォルダー内のShade3D…内の
pluginsフォルダーに置くべきなので、この作業は絶対やめてください。(たぶん二重定義になってると
思います。)
1.ビルド後イベントの中身を見て確認してみてください。
Shade3D ver.15 と ver.16 でフォルダー仕様が変わってしまってます。私はこれで小一時間悩みました。
2.Shade起動後、イメージウインドウを開いて、►を開いて、効果タブ内のエフェクター内に
「SampleEffecter」がないですか?
あれば、インストールされてます。
ない場合は、本当にdllができてるか確認が必要です。
「1個のファイルをコピーしました。」
の前の出力で確認してみてください。

最初がSampleEffectorとは、かなりマニアックですね。


#7

効果タブのエフェクターにはでてこなかったです。また、ビルドに使用していたバージョンがちがっていました。
Visual Studio Community 2015でした。
dllはできていたのですが、直前に「
プログラム’~\Documents\Shade3D\Shade3D ver.16\plugins\ShadePluginSDK1510\plugin_projects\SampleEffector\win\x64\Debug\SampleEffector64.dll’を開始できません。~」というのが出たりしました。


#8

2015では、ビルド出来ません。
多少いじくりましたが現時点のSDKでは、無理なようです。
2013をインストールしてください。


#9

SampleEffectorの機能はこれでしょうか?


dllのデバッグのことはよくわからないのですが、exeファイルのプログラムをデバッグするような感じで、チェックはできないのでしょうか?


#10

これが、SampleEffectorですね。
ShadePluginSDK1510\plugin_projects\SampleEffector\source\resources\ja.lproj\sxuls
内の
add_noise_dialog_id.sxul
がこのダイアログの定義ですね。
で、デバッグですが、
プロジェクトの構成をデバッグにして、プロパティページ内の「構成プロパティ」->デバッグをクリックして
現れる右情報の「コマンド」の右部をクリックして「参照」で、使っているShadeを指定すれば、
デバッグできます。
後は、ソースの左端をクリックして赤丸のブレイクポイントを付ければ、そこを通ればブレイクします。
F5キーを押せば、VS2013がデバッグを開始します。
このとき再メイクを要求される場合もありますが、そのままメイクしてください。
最初Shade…はデバッグ出来ません…たらたらのメッセージは出ますが、okでそのまま進み、
白丸に変わっていた赤丸が、再度赤丸に変わったら、デバッグは、正しく開始されたと考えていいでしょう。
デバッグ自体の詳細は、VSの参考書を参考にしてください。
後、一度VS2013を実行していると、Shadeで、プラグインを触って、バグでクラッシュした場合、
「再試行」で、デバッグ開始すると、うまくいけば、クラッシュしたソースが自動で分かります。
呼び出し履歴を追っていけば、かなり正しく原因がわかります。


#11

ありがとうございます。
~\Documents\Shade3D\Shade3D ver.16\pluginsにdllをおく方法までは、
VS2015でSampleEffectorプロパティページの
・コマンドの設定
・全般のプラットフォームツールセットをVisualStudio2013(v140)
・ビルド後のイベントのコマンドの設定
をしてなんとか動いたのですが、ブレイクポイントを使用してのデバッグはうまくいかないです。xshade.pdbで引っかかりました。
やはりVS2013でないとダメみたいですね。