firefox os関東勉強会20130719

Post on 24-May-2015

961 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

関東Firefox OS勉強会 2nd 3次元のJSをおさわりする

本日のレシピ

FirefoxOSで3次元CGを扱うために用意するもの

ポリゴンを表示するにはこの3つが必要

右手座標系と右ネジの法則

カメラと視錐台(視野)

ポリゴンと色

デモを動かしてみる

自己紹介

自己紹介(twitter:@inuchin 安川貴志)

3次元の嫁より2.5次元の嫁がいいです。

15年ほど出版やゲーム関係に従事

武礼堂/DWORDで作品がいくつか。

現在は株式会社ブリリアントサービス所属

最近だとこんな仕事をしてました。

http://www.youtube.com/user/koihimearcade?feature=watch

ポリゴンを表示するにはこの3つが必要

FirefoxOSで3次元CGを扱うために 用意するもの

three.js http://threejs.org/

右手座標系 右ネジの法則

右手座標系

指先が+方向として、 親指:X座標

人差し指:Y座標 中指:Z座標

となる

X

Y

Z

m9(^Д^)プギャーwwwwww

ではないので注意

右ねじの法則

Y 親指の方向が

回転させたい軸

残りの4本の指の

指先方向に回転する。

回転角度θは、ラジアン(rad)で表記

rad = θ ✕ π / 180

角度(度数法)をラジアンに変換する公式

カメラと視錐台(視野)

カメラと視錐台

1

1

カメラの座標を(0,1,1)に設定

カメラは、どの座標からドッチの向き(座標)にあるポリゴンを描画するかを決める。 さらにカメラにはUPベクトルがあり、カメラの上方向を定義することができる。 カメラのUPベクトルを変えると、画面全体が回転する(ロール)

カメラと視錐台

視錐台(PerspectiveCamera)を (90, aspect比, 1, 1000)に設定

1

1000

視錐台は、左の点線に囲まれた領域のみを描画する為に設定します。 視野角(上下左右90度の範囲内)で、かつ距離が1〜1000までの間に入っているポリゴンが描画対象

three.jsのコードで表現

var aspect = window.innerWidth / window.innerHeight; var camera = new THREE.PerspectiveCamera(90,aspect, 1, 1000); camera.position.x = 0; camera.position.z = 1; camera.position.y = 1; camera.up.x = 0; camera.up.y = 1; camera.up.z = 0;

ポリゴンと色

ポリゴンと色

1)レンダリング方法の設定

2)ポリゴンは組み込みのプリミティブから作成

3)マテリアル(素材)をポリゴンに設定する

three.jsのコードで表現

for ( var i = 0; i < 500; i ++ ) { material = new THREE.MeshPhongMaterial( { specular: 0xffffff, shading: THREE.FlatShading, vertexColors: THREE.VertexColors } ); var size = Math.random() * 10.0 + 10.0; geometry = new THREE.CubeGeometry( size, size, size ); var mesh = new THREE.Mesh( geometry, material ); mesh.position.x = Math.floor( Math.random() * 20 - 10 ) * 20; mesh.position.y = Math.floor( Math.random() * 20 ) * 20 + 10; mesh.position.z = Math.floor( Math.random() * 20 - 10 ) * 20; scene.add( mesh ); material.color.setHSL( Math.random() * 1.0, 0.75, Math.random() * 0.25 + 0.5 ); objects.push( mesh ); }

1

2

3

デモンストレーション

top related