easy-three

create.capsule / create.cylinder

create.capsule(props : Object) : Mesh

props - 設定オブジェクト。
  • size (Array | Number) : サイズ (デフォルト : 1)。
  • segments (Number | Array) : 分割数 (デフォルト : [10, 20])。
  • position (Array) : 位置 (デフォルト : [0, 0, 0])。
  • rotation (Array) : 回転 (デフォルト : [0, 0, 0])。
  • option (Object) : オプション (デフォルト : {color: Default.color })。
  • material (String | Material | Material[]) : マテリアルタイプ、またはマテリアルオブジェクト、またはマテリアルオブジェクトの配列 (デフォルト :Default.material)。
  • castShadow (Boolean) : 別のオブジェクトに影を落とすかどうか (デフォルト : true)。
  • receiveShadow (Boolean) : 別のオブジェクトからの影を受けるかどうか (デフォルト : true)。
  • doubleSide (Boolean) : 両面表示にするか? (デフォルト : false)。
  • upsideDown (Boolean) : 裏面表示にするか? (デフォルト : false)。
  • autoAdd (Boolean) : 自動でシーンに追加 (デフォルト : true)。

カプセルを作成してシーンに追加します。

size と segments については、通常2つの値を持つ配列で指定します。
配列でなく1つの数値を指定した場合、その値を2つ持つ配列として扱います。
(例 : segments: 64 は [64, 64] と同じ)

create.cylinder(props : Object) : Mesh

props - 設定オブジェクト。
  • size (Array | Number) : サイズ (デフォルト : [1, 1, 2])。
  • segments (Number | Array) : 分割数 (デフォルト : [32, 1])。
  • openEnded (Boolean) : 両端を開けるかどうか (デフォルト : false)。
  • thetaStart (Number) : 開始角度 (デフォルト : 0)。
  • thetaLength (Number) : 角度の長さ (デフォルト : Math.PI * 2 )。
  • position (Array) : 位置 (デフォルト : [0, 0, 0])。
  • rotation (Array) : 回転 (デフォルト : [0, 0, 0])。
  • option (Object) : オプション (デフォルト : {color: Default.color })。
  • material (String | Material | Material[]) : マテリアルタイプ、またはマテリアルオブジェクト、またはマテリアルオブジェクトの配列 (デフォルト :Default.material)。
  • castShadow (Boolean) : 別のオブジェクトに影を落とすかどうか (デフォルト : true)。
  • receiveShadow (Boolean) : 別のオブジェクトからの影を受けるかどうか (デフォルト : true)。
  • doubleSide (Boolean) : 両面表示にするか? (デフォルト : false)。
  • upsideDown (Boolean) : 裏面表示にするか? (デフォルト : false)。
  • autoAdd (Boolean) : 自動でシーンに追加 (デフォルト : true)。

円柱を作成してシーンに追加します。

size については通常3つ、segments については通常2つの値を持つ配列で指定します。
配列でなく1つの数値を指定した場合、その値を3つまたは2つ持つ配列として扱います。
(例 : size: 1 は [1, 1, 1] と同じ)

コードの例

カプセル

const { camera, create, animate } = init()
camera.position.set(0, 0, 3)
create.ambientLight()
create.directionalLight()

create.capsule()

animate()

円柱

const { camera, create, animate } = init()
camera.position.set(0, 2, 2)
create.ambientLight()
create.directionalLight()

create.cylinder()

animate()