このページは過去の情報となります。
新しいスクリプトリファレンスはこちらになります。
Effekseer (エフェクト)のエフェクトのカラーや、マテリアルの色を変更したりする時に使用します。
名前 | 説明 | バージョン |
---|---|---|
_new | 初期化 新しいColorを宣言する時に使用します | |
ToString | 色を文字列に変換します | |
GetHashCode | ハッシュ値を取得します | |
Lerp | AのカラーからBのカラーまで補間します | |
LerpUnclamped | AのカラーからBのカラーまで補間します(clampされません) | |
_toVector4(使用不可) | vector4とcolor型の変換 | |
_toColor(使用不可) | vector4とcolor型の変換 | |
HSVToRGB | HSVで指定してカラーを作成します | |
red | 赤(レッド) RGBA(1, 0, 0, 1) | |
green | 緑(グリーン) RGBA(0, 1, 0, 1) | |
blue | 青(ブルー) RGBA(0, 0, 1, 1) | |
white | 白(ホワイト) RGBA(1, 1, 1, 1) | |
black | 黒(ブラック) RGBA(0, 0, 0, 1) | |
yellow | 黄(イエロー) RGBA(1, 0.922, 0.016, 1) | |
cyan | 水(シアン) RGBA(0, 1, 1, 1) | |
magenta | 紫(マゼンダ) RGBA(1, 0, 1, 1) | |
gray | 灰(グレー) RGBA(0.5, 0.5, 0.5, 1) | |
clear | 透明(クリア) RGBA(0, 0, 0, 0) | |
grayscale | カラーをグレースケールにした時の濃さを求めます | |
linear | カラーをリニアに変換します | |
gamma | カラーをガンマに変換します | |
maxcolorcomponent | RGBの要素で最も大きい値を返します | |
r | Color の Red(赤) の要素にだけアクセスします | |
g | Color の Green(緑) の要素にだけアクセスします | |
b | Color の Blue(青) の要素にだけアクセスします | |
a | Color の alpha(透明度) の要素にだけアクセスします |
プログラムでは色を赤(Red)、青(Blue)、緑(Green)に分けて指定する事で表現します。
この表現をそれぞれの頭文字をとってRGB(RGBカラーモデル)と呼びます。
RGBに加えて、透明度(alpha)の指定が入ったものをRGBAと呼びます。
色を作成する場合、RGBAの成分を混ぜる事で表現しています。
例えば、紫色であればRとBの値を大きくし、黄色であればRとGの値を大きくとります。
全ての値が1の時は白になり、0の時は黒になります。また、RGBを同じ値にする事でグレーになります。
サンプル
-- RGB print("red : "..tostring(Color.red)) print("green : "..tostring(Color.green)) print("blue : "..tostring(Color.blue)) -- white gray black print("white : "..tostring(Color.white)) print("gray : "..tostring(Color.gray)) print("black : "..tostring(Color.black)) -- clear print("white : "..tostring(Color.clear)) -- cyan magenta yellow print("cyan : "..tostring(Color.cyan)) print("magenta : "..tostring(Color.magenta)) print("yellow : "..tostring(Color.yellow))
第1引数:red(number) 第2引数:green(number) 第3引数:blue(number) 第4引数:alpha(number)
サンプル
function onUse() -- グレーを作成します local color = Color.__new(0.5, 0.5, 0.5, 1.0) -- CubeColorのマテリアルをcolorに変更します vci.assets.SetMaterialColorFromName("CubeColor", color) end
実行結果
(CubeColorのマテリアルの色がグレーに変化します)
ToString fun(): string
サンプル
function onUse() print("red : "..tostring(Color.red)) end
実行結果
"red : RGBA(1.000, 0.000, 0.000, 1.000)"
GetHashCode fun(): number
サンプル
function onUse(use) print(Color.red.GetHashCode()) local col = Color.__new(1,0,0,1) print(col.GetHashCode()) end
実行結果
541065216 541065216
説明
ハッシュ値を取得します
Lerp fun(a: Color, b: Color, t: number): Color
サンプル
function updateAll() local time = 0.5 * math.sin(os.time()) + 0.5 local color = Color.Lerp(Color.red, Color.blue, time) vci.assets.SetMaterialColorFromName("CubeColor", color) end
実行結果
名前が''CubeColor''のマテリアルが赤と青の間で徐々に色が変わります。
説明
第一引数のカラーから第二引数のカラーまで補間します
LerpUnclamped fun(a: Color, b: Color, t: number): Color
サンプル
function updateAll() local time = math.sin(os.time()) + 1 local color = Color.LerpUnclamped(Color.red, Color.gray, time) vci.assets.SetMaterialColorFromName("CubeColor", color) end
実行結果
名前が''CubeColor''のマテリアルが(1, 0, 0, 1)と(0, 1, 1, 1)の間で徐々に色が変わります。
説明
第一引数のカラーから第二引数のカラーまで補間します(clampされません)
第1引数:Hue(number) 第2引数:Saturation(number) 第3引数:Value(number)
サンプル
local _hue = 0 function update() -- hueを毎フレーム0.01ずらす _hue = _hue + 0.01 -- hueが1を越えたらリセット if _hue > 1.0 then _hue = 0 end -- _hueの値を使ってColorを適用する local color = Color.HSVToRGB(_hue, 1, 1) vci.assets.SetMaterialColorFromName("CubeColor", color) end
実行結果
(CubeColorが虹色に変化します)
grayscale number
サンプル
function onUse(use) local color = Color.__new(1, 0.2, 0.58) print(color.grayscale) print(0.299 * color.r + 0.587 * color.g + 0.114 * color.b) end
実行結果
(0.482520014047623) (0.482519999846816)
説明
カラーをグレースケールにした時の濃さを求めます
サンプル
function onUse() -- gray 0.5 local col = Color.__new(0.5, 0.5, 0.5, 1.0) print(col.ToString()) -- linear print(col.linear.ToString()) -- gamma print(col.gamma.ToString()) end
実行結果
RGBA(0.500, 0.500, 0.500, 1.000) RGBA(0.241, 0.241, 0.241, 1.000) RGBA(0.735, 0.735, 0.735, 1.000)
maxColorComponent number
サンプル
function onUse(use) local color = Color.__new(0.75, 0.2, 0.58) print(color.maxColorComponent) end
実行結果
0.75
説明
RGBの要素で最も大きい値を返します
サンプル
function onUse(use) local color = Color.__new(0.75, 0.2, 0.58) print(color.r) color.r = 1 print(color.r) print(color.g) print(color.b) print(color.a) end
実行結果
0.75 1 0.200000002980232 0.579999983310699 1
説明
各要素にアクセスします。