SharedBetweenAnimatorsAttribute メモ
SharedBetweenAnimatorsAttribute を指定すると、メモリフットプリントを削減できるそうな。
ただ、変数の変更が他のAnimatorにも影響しちゃうみたい?
なので、振る舞いだけを書いた StateMachineBehaviour派生クラスだったら指定してみるのも良いかもしれませんね。
Photoshop クリッピングマスクをOn/Offするスクリプト
ScriptListenerでレコったのをメモ。
選択中レイヤーのクリッピングマスクON
var idGrpL = charIDToTypeID( "GrpL" ); var desc13 = new ActionDescriptor(); var idnull = charIDToTypeID( "null" ); var ref7 = new ActionReference(); var idLyr = charIDToTypeID( "Lyr " ); var idOrdn = charIDToTypeID( "Ordn" ); var idTrgt = charIDToTypeID( "Trgt" ); ref7.putEnumerated( idLyr, idOrdn, idTrgt ); desc13.putReference( idnull, ref7 ); executeAction( idGrpL, desc13, DialogModes.NO );
選択中レイヤーのクリッピングマスクOFF
var idUngr = charIDToTypeID( "Ungr" ); var desc11 = new ActionDescriptor(); var idnull = charIDToTypeID( "null" ); var ref6 = new ActionReference(); var idLyr = charIDToTypeID( "Lyr " ); var idOrdn = charIDToTypeID( "Ordn" ); var idTrgt = charIDToTypeID( "Trgt" ); ref6.putEnumerated( idLyr, idOrdn, idTrgt ); desc11.putReference( idnull, ref6 ); executeAction( idUngr, desc11, DialogModes.NO );
後は、選択中のArtLayerがクリッピングマスクかどうか判定できればトグルも作れそうですね
Photoshop CC用Scripting Listenerのダウンロード
地味に迷ったのでリンク紹介だけ
Adobe Photoshop Scripting | Adobe Developer Connection
現状このページの中段くらいにあります。
と思ったら、こっちにもあった。
後は
この辺とか
この辺を見ればインストールできるんじゃないかと。
Eclipseから、自作ExtensionBuilderプロジェクトをPhotoshop2015.5で実行する方法
またしてもPhotoshopネタ。
EclipseからPhotoshopのExtensionBuilderの実行に手間取ったのでメモ。
ここに書いておるとおりに、
labs.adobe.com
から、ExtensionBuilder3をダウンロードする。
※zipが落ちてくるけど解凍は不要
Java SE - Downloads | Oracle Technology Network | Oracle
- Eclipseダウンロード
- 書いてある通り Help > Install New Software
- Add... > Archive 選択して先ほどダウンロードしたzipを選択
- チェックを入れてインストール
- この辺でEclipse再起動がかかる
- File > New > Project... 別ウィンドウ開く > Extension Builder 3 > Application Extension Project
- プロジェクト設定してプロジェクトを作成
- で、書いてある通りプロジェクトフォルダを右クリックして Run As を選択したのですがエラーダイアログが…
- ここで詰まったのですが、結論としては 64bit Windows の場合はパスを入れなおさなければならないっぽい。
- 更にエラーが出るのでもういっちょパス合わせ
CEPServiceBilder4はなかったけど、CEPフォルダで良いっぽいので、それを指定。
赤枠を付け忘れたけど、下のユーザ用フォルダもCEPフォルダに変えておく
コレでとりあえず実行だけはできるようにはなりました…が、まだ自作プロジェクトのエクステンションパネルは出ない模様。
色々調べた結果、マニフェストのバージョンID指定が不足しているようでした。
blogs.adobe.com
を参考に、
HTML Panel Tips #21: Photoshop CC 2015.5 survival guide | Photoshop, etc.
- こちらを参考に "14.0" に書き換え(ついでにマニフェストバーションも5.0に)
で、完了!
ようやくスタートラインです;
Photoshop CC 2015.5 で、自作エクステンションパネルのデバッグを通す方法
またまたUnityとは関係ないですが、初期設定でハマったのでメモ。
主に参考にしたのはこちら
nxpg.net
何はともかくHalloWorldという事でやってみましたが、我が家のPhotoshopCC2015.5ではHalloWorldすら表示できなかった。
そこで見つけたのがこちら。
www.davidebarranca.com
なるほど。PHXSとPHSPを "14.0" にすれば良いのねー。
という事で書き換えて実行してみると、Hallo Worldパネルは読み込めたのですが開こうとするとエラーメッセージが…。
ここでちょっと迷ったのですが、2つ目のリンクを読み進めたところ
> On Windows run Regedit, browse to: HKEY\_CURRENT\_USER/Software/Adobe/CSXS.7
> then add a new PlayerDebugMode key of type String with value 1.
との事。
という事で
regedit起動
→ HKEY_CURRENT_USER/Software/Adpbe/CSXS.7 に文字列キー追加
→ 名前:PlayerDebugMode 値:1
とすることで、めでたくHallo Worldを表示することが出来ました;
外接円1.0の正多角形メッシュを作る
「あー、メッシュ欲しいなー、けどメタセコやMaya立ち上げて面張るのダルいなー」っていう時に使える関数。
この間の連休で作ったので共有。
public static Mesh GenerateRegularPolygonMeshXY(int vertexCount) { //Meshの作成 Mesh mesh = new Mesh(); Vector2[] points = new Vector2[vertexCount]; float div = 360f / (float)vertexCount; for (int i = 0; i < vertexCount; ++i) { float rad = div * (float)i * Mathf.Deg2Rad; points[i] = new Vector2(Mathf.Sin(rad), Mathf.Cos(rad)); } //頂点 var verticies = new Vector3[points.Length + 1]; verticies[0] = Vector3.zero;//中心 for (int i = 0, length= points.Length; i < length; ++i) { verticies[i+1] = new Vector3(points[i].x, points[i].y, 0f); } mesh.vertices = verticies; //色 Color[] colors = new Color[points.Length + 1]; colors[0] = Color.black;//中心 for (int i = 1, length = colors.Length; i < length; ++i) { colors[i] = Color.white; } mesh.colors = colors; //面 var indicies = new int[vertexCount * 3]; for (int i = 0; i < vertexCount; ++i) { indicies[i * 3 + 0] = 0; indicies[i * 3 + 1] = i + 1; indicies[i * 3 + 2] = ((i + 2 >= verticies.Length) ? 1 : i + 2); } mesh.triangles = indicies; return mesh; }
これで、外接円を1.0としたXY平面上の正多角形Meshを作成できます。
※外接円の半径が1.0なので、4角形を作った場合、1辺の長さが1.0になるわけではないのでご注意!
一応ですが、頂点カラーで中心黒~外周白で色付けもしています。
「pointsいらねぇじゃん」と思うかもしれないけど、
このpointsをPolygonCollider2Dのpointsに入れるとそのままぴったりサイズのコライダが出来るので
良い感じにカスタマイズして下さいな。
※記事頭のスクショは自前でシェーダを書いたものなので、上記の模様がそのまま表示はされないです。
d3dxefffects11.hとEffects11.libがほしい時の対処
※今回Unity関係ないです。
久々に新しいwinPCを入手したので、過去に作った自作DirectXライブラリをビルドしてみようと色々試したのですが、案の定簡単にはビルドが通りませんでした。
中でも、d3dxeffect11.h、Effects.libについては、以前はDIrectXSDKのSamplesフォルダ内のプロジェクトをビルドして作っていたのですが、
最新のVisualStudioCommunity2015を使用しているとビルドが通らなく、結構迷ってしまった;
結論としては、最新のFX11プロジェクトがgithubに上がっているので、そちらを使ってビルドすることで解決!
github.com
DirectXを触るのは3~4年ぶりですが、いやはや、時代は進歩したなぁ…と感慨深い;