create.cone
create.cone(props : Object) : Mesh
props - 設定オブジェクト。
- size (Array | Number) : サイズ (デフォルト : [1, 2])。
- segments (Number | Array) : 分割数 (デフォルト : [32, 1])。
- 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] と同じ)
segments の2つ目の値はそれぞれ、円周方向と高さ方向の分割数を表します。
一般的に高さ方向については1で十分ですが、円周方向については大きくすることで円錐となり、小さくすることで三角錐などを表すことができます。
コードの例
円錐
const { camera, create, animate } = init()
camera.position.set(0, 2, 2)
create.ambientLight()
create.directionalLight()
create.cone()
animate()
三角錐
const { camera, create, animate } = init()
camera.position.set(0, 2, 2)
create.ambientLight()
create.directionalLight()
const cone = create.cone({
segments: [3, 1]
})
animate(({ delta }) => {
cone.rotation.x += delta;
cone.rotation.y += delta;
})