※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

POP-CAKE! スクリプト

Lua5.1ベースのスクリプトリファレンスです。
Luaの言語仕様は公式サイトをご覧ください。
※サンプルは POPCAKE\scripts\samples\*.lua に入ってます。

サンプルスクリプト

POPCAKE\scripts\samplesに入っています。シェルフに入れてお使いください。

ガウシアン&ノーマライズ(GaussNormal.lua)

ガウスエフェクトプラグイン、ノーマライズエフェクトプラグインを1回ずつ実行します。
プラグインメニューから各エフェクトを1回ずつ単独で実行するのと同じです。
得られる効果としては「ぼかしてから、薄くなった分濃くする」。

塗り半減(HalfWeight.lua)

選択中のレイヤーを50%に薄くします。

全ノーマライズ(NormalizeAll.lua)

選択中のドキュメントに対し、全レイヤーを合成した状態でノーマライズします。

選択エッジガウス(SelectedEdgeGaussNormal.lua)

選択中のドキュメントの選択範囲に対し、エッジ部分をぼかします。
内部的には、選択範囲外の状態を記憶→選択範囲を反転→ガウス→ぼかし→選択範囲を反転→選択範囲外の状態を復元です。

輝度トレース(TraceLuminance.lua)

画像の輝度によって、選択中のレイヤーを塗ります。
輝度計算は (r * 0.298912) + (g * 0.586611) + (b * 0.114478) です。
※白および黒に近い部分は、塗らないようになっています。

白黒トレース(TraceGrayscale.lua)

画像のRGB平均値によって、選択中のレイヤーを塗ります。
RGB平均値は (R + G + B) / 3 です。
※白および黒に近い部分でも塗られます。

リアルタイムアクション(RealtimeAction.lua)

画像の上を、画像で歩き回ります。ジャンプもできます。着地したときにレイヤーの硬さに応じて揺れます。
下記の「遊ぶための準備」をしたら、スクリプトを「再生」します。
※永久的に落下していきます。キャラを見失ったら、編集メニューの「画像の位置をリセット」で位置を戻しましょう。
※遊び終わったら必ずスクリプトの再生を「停止」しましょう。

遊ぶための準備
地形画像 1番目のドキュメントが地形となります。
キャラ画像 2番目のドキュメントがキャラとなります。画像の大きさによってジャンプ力などが変わります。

操作方法
Aキー キャラを左へ移動します。
Dキー キャラを右へ移動します。
Wキー キャラを前進します。
Sキー キャラを後退します。
Spaceキー ジャンプします。

スクリプトリファレンス

入出力

pop.print

メッセージをアウトプットに出力します。
  • 構文
pop.print(message);
  • 引数
message メッセージ
  • 戻り値

pop.dialogFileOpen

ファイルオープンダイアログを開き、ファイル名を返します。
キャンセルした場合は nil を返します。
  • 構文
path = pop.dialogFileOpen();
  • 引数
  • 戻り値
path ファイルパス

pop.dialogFileSave

ファイルセーブダイアログを開き、ファイル名を返します。
キャンセルした場合は nil を返します。
  • 構文
path = pop.dialogFileSave();
  • 引数
  • 戻り値
path ファイルパス


ドキュメント操作

pop.getActiveDocument

アクティブなドキュメントを返します。
アクティブなドキュメントがない場合は -1 を返します。
  • 構文
document_index = pop.getActiveDocument();
  • 引数
  • 戻り値
document_index ドキュメントインデックス

pop.setActiveDocument

アクティブなドキュメントを設定します。
  • 構文
pop.setActiveDocument(document_index);
  • 引数
document_index ドキュメントインデックス
  • 戻り値

pop.getDocumentCount

ドキュメント数を返します。
  • 構文
document_count = pop.getDocumentCount();
  • 引数
  • 戻り値
document_count ドキュメント数

pop.addDocument

ドキュメントを追加します。
  • 構文
pop.addDocument(path);
  • 引数
path ファイルパス
  • 戻り値

pop.removeDocument

ドキュメントを削除します。
  • 構文
pop.removeDocument(document_index);
  • 引数
document_index ドキュメントインデックス
  • 戻り値

pop.clearDocument

ドキュメントを全て削除します。
  • 構文
pop.clearDocument();
  • 引数
  • 戻り値

pop.moveDocument

ドキュメントを移動します。
  • 構文
pop.moveDocument(document_index_from, document_index_to);
  • 引数
document_index_from 移動元ドキュメントインデックス
document_index_to 移動先ドキュメントインデックス
  • 戻り値


ドキュメント属性



レイヤー操作

pop.getActiveLayer

アクティブなレイヤーを返します。
アクティブなレイヤーがない場合は -1 を返します。
  • 構文
layer_index = pop.getActiveLayer(document_index);
  • 引数
document_index ドキュメントインデックス
  • 戻り値
layer_index レイヤーインデックス

pop.setActiveLayer

アクティブなレイヤーを設定します。
  • 構文
pop.setActiveLayer(document_index, layer_index);
  • 引数
document_index ドキュメントインデックス
layer_index レイヤーインデックス
  • 戻り値

pop.getLayerCount

レイヤー数を返します。
  • 構文
layer_count = pop.getLayerCount(document_index);
  • 引数
document_index ドキュメントインデックス
  • 戻り値
layer_count レイヤー数

pop.addLayer

レイヤーを追加します。
  • 構文
pop.addLayer(document_index);
  • 引数
document_index ドキュメントインデックス
  • 戻り値

pop.cloneLayer

レイヤーを複製します。
  • 構文
pop.cloneLayer(document_index, layer_index);
  • 引数
document_index ドキュメントインデックス
layer_index レイヤーインデックス
  • 戻り値

pop.joinLayer

レイヤーを結合します。
結合元レイヤーは削除されます。
  • 構文
pop.joinLayer(document_index, layer_index_from, layer_index_to);
  • 引数
document_index ドキュメントインデックス
layer_index_from 結合元レイヤーインデックス
layer_index_to 結合先レイヤーインデックス
  • 戻り値

pop.removeLayer

レイヤーを削除します。
  • 構文
pop.removeLayer(document_index, layer_index);
  • 引数
document_index ドキュメントインデックス
layer_index レイヤーインデックス
  • 戻り値

pop.clearLayer

レイヤーを全て削除します。
  • 構文
pop.clearLayer(document_index);
  • 引数
document_index ドキュメントインデックス
  • 戻り値

pop.moveLayer

レイヤーを移動します。
  • 構文
pop.moveLayer(document_index, layer_index_from, layer_index_to);
  • 引数
document_index ドキュメントインデックス
layer_index_from 移動元レイヤーインデックス
layer_index_to 移動先レイヤーインデックス
  • 戻り値


レイヤー属性

pop.getLayerSolid

レイヤーの硬さを返します。
  • 構文
solid = pop.getLayerSolid(document_index, layer_index);
  • 引数
document_index ドキュメントインデックス
layer_index レイヤーインデックス
  • 戻り値
solid 硬さ(0.0~1.0)

pop.setLayerSolid

レイヤーの硬さを設定します。
  • 構文
pop.setLayerSolid(document_index, layer_index, solid);
  • 引数
document_index ドキュメントインデックス
layer_index レイヤーインデックス
solid 硬さ(0.0~1.0)
  • 戻り値

pop.getLayerWeight

レイヤーの重さを返します。
  • 構文
weight = pop.getLayerWeight(document_index, layer_index);
  • 引数
document_index ドキュメントインデックス
layer_index レイヤーインデックス
  • 戻り値
weight 重さ(0.0~1.0)

pop.setLayerWeight

レイヤーの重さを設定します。
  • 構文
pop.setLayerWeight(document_index, layer_index, weight);
  • 引数
document_index ドキュメントインデックス
layer_index レイヤーインデックス
weight 重さ(0.0~1.0)
  • 戻り値

pop.getLayerMass

レイヤーの質量を返します。
  • 構文
mass = pop.getLayerMass(document_index, layer_index);
  • 引数
document_index ドキュメントインデックス
layer_index レイヤーインデックス
  • 戻り値
mass 質量(-1.0~1.0)

pop.setLayerMass

レイヤーの質量を設定します。
  • 構文
pop.setLayerMass(document_index, layer_index, mass);
  • 引数
document_index ドキュメントインデックス
layer_index レイヤーインデックス
mass 質量(-1.0~1.0)
  • 戻り値

pop.getLayerIsHang

レイヤーのたれるON/OFFを返します。
OFFの場合は 0 を、ONの場合 0以外 を返します。
  • 構文
is_hang = pop.getLayerIsHang(document_index, layer_index);
  • 引数
document_index ドキュメントインデックス
layer_index レイヤーインデックス
  • 戻り値
is_hang たれるON/OFF(0:OFF/0以外:ON)

pop.setLayerIsHang

レイヤーのたれるON/OFFを設定します。
OFFの場合は 0 を、ONの場合 0以外 を設定します。
  • 構文
pop.setLayerIsHang(document_index, layer_index, is_hang);
  • 引数
document_index ドキュメントインデックス
layer_index レイヤーインデックス
is_hang たれるON/OFF(0:OFF/0以外:ON)
  • 戻り値

pop.getLayerIsTest

レイヤーのあたるON/OFFを返します。
OFFの場合は 0 を、ONの場合 0以外 を返します。
  • 構文
is_test = pop.getLayerIsTest(document_index, layer_index);
  • 引数
document_index ドキュメントインデックス
layer_index レイヤーインデックス
  • 戻り値
is_test あたるON/OFF(0:OFF/0以外:ON)

pop.setLayerIsTest

レイヤーのあたるON/OFFを設定します。
OFFの場合は 0 を、ONの場合 0以外 を設定します。
  • 構文
pop.setLayerIsTest(document_index, layer_index, is_test);
  • 引数
document_index ドキュメントインデックス
layer_index レイヤーインデックス
is_test あたるON/OFF(0:OFF/0以外:ON)
  • 戻り値

pop.getLayerIsStay

レイヤーのぶれるON/OFFを返します。
OFFの場合は 0 を、ONの場合 0以外 を返します。
  • 構文
is_stay = pop.getLayerIsStay(document_index, layer_index);
  • 引数
document_index ドキュメントインデックス
layer_index レイヤーインデックス
  • 戻り値
is_stay ぶれるON/OFF(0:OFF/0以外:ON)

pop.setLayerIsStay

レイヤーのぶれるON/OFFを設定します。
OFFの場合は 0 を、ONの場合 0以外 を設定します。
  • 構文
pop.setLayerIsStay(document_index, layer_index, is_stay);
  • 引数
document_index ドキュメントインデックス
layer_index レイヤーインデックス
is_stay ぶれるON/OFF(0:OFF/0以外:ON)
  • 戻り値


頂点操作

pop.getVertexCount

頂点数を返します。
  • 構文
vertex_count = pop.getVertexCount(document_index);
  • 引数
document_index ドキュメントインデックス
  • 戻り値
vertex_count 頂点数

pop.getVertex

変形前の頂点xyzを返します。
  • 構文
x, y, z = pop.getVertex(document_index, vertex_index);
  • 引数
document_index ドキュメントインデックス
vertex_index 頂点インデックス
  • 戻り値
x 頂点x
y 頂点y
z 頂点z

pop.setVertex

変形前の頂点xyzを設定します。
  • 構文
pop.setVertex(document_index, vertex_index, x, y, z);
  • 引数
document_index ドキュメントインデックス
vertex_index 頂点インデックス
x 頂点x
y 頂点y
z 頂点z
  • 戻り値

pop.getCurrentVertex

変形後の頂点xyzを返します。
  • 構文
x, y, z = pop.getCurrentVertex(document_index, vertex_index);
  • 引数
document_index ドキュメントインデックス
vertex_index 頂点インデックス
  • 戻り値
x 頂点x
y 頂点y
z 頂点z

pop.setCurrentVertex

変形後の頂点xyzを設定します。
  • 構文
pop.setCurrentVertex(document_index, vertex_index, x, y, z);
  • 引数
document_index ドキュメントインデックス
vertex_index 頂点インデックス
x 頂点x
y 頂点y
z 頂点z
  • 戻り値

pop.getPrevVertex

前フレームの頂点xyzを返します。
  • 構文
x, y, z = pop.getPrevVertex(document_index, vertex_index);
  • 引数
document_index ドキュメントインデックス
vertex_index 頂点インデックス
  • 戻り値
x 頂点x
y 頂点y
z 頂点z

pop.setPrevVertex

前フレームの頂点xyzを設定します。
  • 構文
pop.setPrevVertex(document_index, vertex_index, x, y, z);
  • 引数
document_index ドキュメントインデックス
vertex_index 頂点インデックス
x 頂点x
y 頂点y
z 頂点z
  • 戻り値

pop.getTexcoord

テクスチャuvを返します。
  • 構文
u, v = pop.getTexcoord(document_index, vertex_index);
  • 引数
document_index ドキュメントインデックス
vertex_index 頂点インデックス
  • 戻り値
u テクスチャu
v テクスチャv

pop.setTexcoord

テクスチャuvを設定します。
  • 構文
pop.setTexcoord(document_index, vertex_index, x, y, z);
  • 引数
document_index ドキュメントインデックス
vertex_index 頂点インデックス
u テクスチャu
v テクスチャv
  • 戻り値

pop.getWeight

ウェイト値を返します。
  • 構文
w = pop.getWeight(document_index, layer_index, vertex_index);
  • 引数
document_index ドキュメントインデックス
layer_index レイヤーインデックス
vertex_index 頂点インデックス
  • 戻り値
w ウェイト値(0.0~1.0)

pop.setWeight

ウェイト値を設定します。
  • 構文
pop.setWeight(document_index, layer_index, vertex_index, w);
  • 引数
document_index ドキュメントインデックス
layer_index レイヤーインデックス
vertex_index 頂点インデックス
w ウェイト値(0.0~1.0)
  • 戻り値


プラグイン操作

pop.plugin

プラグインを実行します。
動作はプラグインの種類により異なります。
ツールプラグイン プラグインをアクティブ・非アクティブ化
エフェクトプラグイン プラグインの実行
ジオメトリープラグイン プラグインをアクティブ・非アクティブ化
  • 構文
pop.plugin(id);
  • 引数
id プラグインID
  • 戻り値

pop.update

プラグインを実行します。
  • 構文
pop.update(id);
  • 引数
id プラグインID
  • 戻り値

pop.draw3d

プラグインを3D描画します。
  • 構文
pop.draw3d(id);
  • 引数
id プラグインID
  • 戻り値

pop.draw2d

プラグインを2D描画します。
  • 構文
pop.draw2d(id);
  • 引数
id プラグインID
  • 戻り値


ご意見・ご要望・バグ報告など

コメントは最新の30件分だけ表示されます。
コメント:

すべてのコメントを見る