ワタタク
今回の記事の目的はProcessingの「lightSpecular()
関数」を理解し、自分なりに使ってみること。
目次
【Processing】lightSpecular()関数について
lightSpecular()関数について
light
は「光」、specular
は「鏡面反射」という意味lightSpecular()
関数は、光が物体に当たったときにどのように反射するかを設定します- これにより、物体が光を受けたときにどのように見えるかを調整
【Processing】lightSpecular()関数の主な書き方
書き方。赤
、緑
、青
はそれぞれ0から255までの数字で、光の色を設定。
lightSpecular(赤, 緑, 青);
【Processing】lightSpecular()関数の使い方【コードと画像】
lightSpecular()
関数は10行目。
void setup() {
size(400, 400, P3D);
background(0);
noStroke();
}
void draw() {
background(0);
lights();
lightSpecular(255, 0, 0); // 鏡面反射の色を設定
// マウスの位置に基づいて赤と緑の光の強さを設定
int redValue = (int) map(mouseX, 0, width, 0, 255);
int greenValue = (int) map(mouseY, 0, height, 0, 255);
// 赤い周囲光と赤い物体の色
ambient(redValue, 0, 0);
specular(redValue, 0, 0); // 鏡面反射の色を設定
fill(255, 0, 0);
pushMatrix();
translate(100, 200, 0);
sphere(60);
popMatrix();
// 緑の周囲光と緑の物体の色
ambient(0, greenValue, 0);
specular(0, greenValue, 0); // 鏡面反射の色を設定
fill(0, 255, 0);
pushMatrix();
translate(300, 200, 0);
sphere(60);
popMatrix();
}
【Processing】lightSpecular()関数はどんな表現で使えそうか
lightSpecular()
を学ぶことで、光の反射を調整して、よりリアルな3D表現ができるようになる。
【Processing】lightSpecular()関数を使ってみた感想
ちょっと鏡面反射の効果を感じにくいですね……。
それでは今日もレッツワクワクコーディング。