[過去ログ] 【3Dゲームエンジン】Unity質問スレッド33 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
130: 2017/12/27(水)01:16 ID:2+M/n1Lm(1/4) AAS
ROM的な機能は、ScriptableObjectの方だったか
全オブジェクトからアクセスできる関数(メソッド)作成はStaticが良いかもしれない
どのスクリプトからでも
@RGB→HSL変換できるメソッド:RGBto.HSL(R, G, B, out H, out S, out L)
ARGB→HSV変換できるメソッド:RGBto.HSV(R, G, B, out H, out S, out V)
を作ってみた
131: 2017/12/27(水)01:19 ID:2+M/n1Lm(2/4) AAS
public static class RGBto {
public static void HSL(int R, int G, int B, out int H, out int S, out int L){
int Max = Mathf.Max (R, G, B);
int Min = Mathf.Min (R, G, B);
if (Max == Min) {
H = 360;
} else if (G == Max) {
H = 60 * (B - R) / (Max - Min) + 120;
} else if (B == Max) {
H = 60 * (R - G) / (Max - Min) + 240;
} else {
H = 60 * (G - B) / (Max - Min);
if (H < 0) H = H + 360;
}
if (Max == 0 || Min == 255){
S = 0;
} else {
S = 255 * (Max - Min) / (255 - Mathf.Abs(Max + Min - 255));
}
L = (Max + Min)/2;
}
132: 2017/12/27(水)01:19 ID:2+M/n1Lm(3/4) AAS
public static void HSV(int R, int G, int B, out int H, out int S, out int V){
int Max = Mathf.Max (R, G, B);
int Min = Mathf.Min (R, G, B);
if (Max == Min) {
H = 360;
} else if (G == Max) {
H = 60 * (B - R) / (Max - Min) + 120;
} else if (B == Max) {
H = 60 * (R - G) / (Max - Min) + 240;
} else {
H = 60 * (G - B) / (Max - Min);
if (H < 0) H = H + 360;
}
if (Max == 0){
S = 0;
} else {
S = 255 * (Max - Min) / Max;
}
V = Max;
}
}
Hを求めるところはもっとまとめられるかも・・・
Hのみ0〜360(360で色相未定義)
RGB,SLVは0〜255
173(1): 2017/12/27(水)23:56 ID:2+M/n1Lm(4/4) AAS
>遷移後のシーンに配置されているボタンから、objAのメソッド@を呼び出す
本当に呼び出せている?
Find以前の問題だったりして・・・
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.034s