Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- nodejs
- C++
- Express
- figma
- Three
- DB
- opencv
- mongo
- Git
- GAN
- PRISMA
- ts
- postgresql
- SOLID
- ps
- html
- js
- frontend
- python
- CV
- UI
- PyTorch
- vscode
- review
- sqlite
- CSS
- react
- Linux
- API
- ML
Archives
- Today
- Total
아카이브
[Three] 윈도우 크기에 따라 반응형으로 만들기 본문
아무 이벤트도 설정하지 않고 three.js의 캔버스를 랜더링하면,
창의 크기가 변해도 캔버스는 크기가 변하지 않습니다.
만약 창의 크기가 바뀔 때 마다 캔버스도 그 비율에 맞추어 랜더링하고자 한다면,
화면의 크기가 바뀔 때 마다('resize' 이벤트) 실행되는 event handler를 만들어,
window 객체의 너비(=innerWidth)와 높이(=innerHeight)를 받아와 계산하면 됩니다.
window.addEventListener('resize', () => {
// 1. camera 종횡비 갱신
camera.aspect = window.innerWidth / window.innerHeight;
// 2. camera 사영 행렬 갱신
camera.updateProjectionMatrix();
// 3. renderer 종횡비 갱신
renderer.setSize(window.innerWidth, window.innerHeight);
});
728x90
'Frontend' 카테고리의 다른 글
[Three] 09. Loader - GLTF (0) | 2025.06.16 |
---|---|
[Three] 08. Material (0) | 2025.05.16 |
[Three] 07. Geometry (0) | 2025.05.16 |
[Three] 06. Mesh (0) | 2025.05.16 |
[Three] 05. Light (0) | 2025.05.11 |
Comments