[Three] 06. Mesh

2025. 5. 16. 20:15·Frontend

Mesh는 Scene에서 보여지는 물체, 특히 삼각형 polygon으로 이루어진 도형입니다.

 

Mesh를 선언할 때는 geometry와 material 두 가지가 필요합니다.

 

Geometry는 mesh의 모양에 대한 정보입니다. Three.js에서 정의된 여러 가지 geometry 객체를 사용합니다.

 

Material은 mesh의 겉표면에 대한 정보입니다. Material에 따라 빛이 어떻게 반사되는지나 표면의 색상등이 결정됩니다. Three.js에서 정의된 여러 가지 matrial 객체를 사용합니다.

const geometry = new THREE.BoxGeometry( 1, 1, 1 );
const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );

const mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );

Shadow

Mesh의 속성값은 아니지만, Object3D 객체의 속성값을 상속하여 사용함으로서 그림자를 표시할 것인지 설정할 수 있습니다.

 

그림자와 관련한 속성값은 두 종류가 있습니다.

 

castShadow는 해당 물체가 빛을 내는 광원인지와 빛을 가로막는지에 대한 여부입니다.

 

receiveShadow는 광원에서부터 온 빛이 가려 그림자를 만드는지에 대한 여부입니다.

* * *

 

아래는 기본 Mesh( )에서 상속된 mesh 객체들의 종류입니다.

BatchedMesh

동일한 material에 서로 다른 geometry와 transform을 가지는 다수의 mesh를 한 번에 랜더링할 때 사용합니다.

 import * as THREE from 'three';
 
 const mesh = new THREE.BatchedMesh( maxInstanceCount, maxVertexCount, maxIndexCount, material);
매개변수 기능 입력값 기본값
maxInstanceCount 최대 mesh 개수 number  
maxVertexCount 전체 vertex 개수 number  
maxIndexCount 전체 index 개수 number  
material material THREE.Material THREE.MeshBasicMaterial( )

InstancedMesh

동일한 material과 geometry에 서로 다른 transform을 가지는 다수의 mesh를 한 번에 랜더링할 때 사용합니다.

 import * as THREE from 'three';
 
 const mesh = THREE.InstancedMesh(geometry, material, count);

 

매개변수 기능 입력값 기본값
geometry geometry number  
material material THREE.Material THREE.MeshBasicMaterial( )
count instance 개수 number  

SkinnedMesh

애니메이션 구현에 사용되는 skeleton구조를 포함한 mesh입니다.

 import * as THREE from 'three';
 
 const mesh = THREE.SkinnedMesh(geometry, material);
매개변수 기능 입력값 기본값
geometry geometry number  
material material THREE.Material THREE.MeshBasicMaterial( )

 

728x90

'Frontend' 카테고리의 다른 글

[Three] 08. Material  (0) 2025.05.16
[Three] 07. Geometry  (0) 2025.05.16
[Three] 05. Light  (0) 2025.05.11
[Three] 04. Renderer  (0) 2025.05.11
[Three] 03. Camera  (0) 2025.05.10
'Frontend' 카테고리의 다른 글
  • [Three] 08. Material
  • [Three] 07. Geometry
  • [Three] 05. Light
  • [Three] 04. Renderer
Rayi
Rayi
  • Rayi
    아카이브
    Rayi
  • 전체
    오늘
    어제
    • 분류 전체보기 (276)
      • CS (40)
        • CV (2)
        • PS (34)
      • Reveiw (18)
        • Paper (18)
        • Github (0)
      • ML (8)
        • Pytorch (5)
      • Language (59)
        • Python (8)
        • JavaScript (32)
        • TypeScript (16)
        • C++ (3)
      • IDE (12)
      • Git (13)
      • Frontend (77)
        • React (8)
        • ReactNative (6)
        • SolidJS (20)
        • CSS (12)
      • Backend (44)
        • DB (18)
        • Node.js (11)
      • UI (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    review
    modal
    Git
    ReactNative
    DB
    CSS
    GAN
    nodejs
    backend
    expo
    Three
    ML
    python
    mongo
    frontend
    PRISMA
    figma
    ps
    SOLID
    vscode
    Express
    js
    CV
    react
    API
    postgresql
    CS
    PyTorch
    deploy
    ts
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
Rayi
[Three] 06. Mesh
상단으로

티스토리툴바