glTF 모델을 웹 페이지에 추가해 3D 모델을 표시할 수 있다는 것을 아시나요? glTF는 3D 그래픽을 위한 오픈 표준 형식으로, 최근에 널리 사용되고 있습니다. 이 포맷은 효율적이고 간결하며 로드하기 쉬운 것으로 디자이너와 웹 개발자들이 웹 페이지에 3D 콘텐츠를 추가하고자 할 때 손쉽게 사용할 수 있습니다.
glTF 포맷을 사용하면 웹 페이지에서 빠르고 효율적으로 로드되는 고품질의 3D 모델을 만들 수 있습니다. 이 방식으로 성능을 희생하지 않으면서 사용자에게 몰입감 있는 체험을 제공할 수 있습니다. 또한 애니메이션과 투명도와 같은 기능을 지원하기 때문에 사용자들의 관심을 끌고 계속해서 끌어들일 수 있는 인터렉티브한 콘텐츠를 만들 수 있습니다
웹 페이지에서 glTF 모델을 표시하려면 WebGL 호환 브라우저와 해당 형식을 지원하는 뷰어가 필요합니다. Three.js(https://threejs.org/)와 Babylon.js(https://www.babylonjs.com/) 같은 많은 JavaScript 기반 3D 엔진은 glTF 포맷을 내장 형식으로 지원합니다.
따라서 이러한 엔진 중 하나를 사용하여 쉽게 glTF 모델을 웹 페이지에 추가할 수 있습니다. 이를 통해 프로그래밍 능력이 부족한 사람도 쉽게 3D 모델을 표시할 수 있습니다. 또한 이러한 엔진은 glTF 외에도 다양한 다른 3D 모델 형식을 지원하기 때문에, 원하는 모델을 쉽게 추가할 수 있습니다.
즉, 아래의 사례처럼 Three.js나 Babylon.js와 같은 JavaScript 3D 엔진을 사용하면 웹 페이지에서 3D 모델을 표시할 수 있게 됩니다.
아래는 HTML과 JavaScript를 사용하여 웹 페이지에 glTF 모델을 삽입하는 간단한 예제입니다.
<!doctype html>
<html>
<head>
<meta charset = "utf-8">
<title>BabylonJs - Basic glTF loading Example</title>
<script src="https://cdn.babylonjs.com/babylon.max.js"></script>
<script src="https://cdn.babylonjs.com/loaders/babylonjs.loaders.min.js"></script>
<style>
body { margin: 0; }
canvas {width: 100%; height: 100vh; }
</style>
</head>
<body>
<canvas id = "renderCanvas"></canvas>
<script type = "text/javascript">
// create the canvas
var canvas = document.getElementById("renderCanvas");
// create the engine
var engine = new BABYLON.Engine(canvas, true);
// create the scene
var scene = new BABYLON.Scene(engine);
scene.clearColor = new BABYLON.Color3( .5, .5, .5);
// create the camera
var camera = new BABYLON.ArcRotateCamera("camera1", 0, 0, 0, new BABYLON.Vector3(0, 0, 0), scene);
camera.setPosition(new BABYLON.Vector3(0, 0, 5));
camera.attachControl(canvas, true);
// create lights
var light = new BABYLON.HemisphericLight("light1", new BABYLON.Vector3(1, 0.5, 0), scene);
light.intensity = 0.8;
// create a default skybox with an environment.
var hdrTexture = BABYLON.CubeTexture.CreateFromPrefilteredData("https://playground.babylonjs.com/textures/environment.dds", scene);
var currentSkybox = scene.createDefaultSkybox(hdrTexture, true);
const modelUrl = "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/DamagedHelmet/glTF-Binary/";
//const modelFile = "DamagedHelmet.glb";
BABYLON.SceneLoader.Append(modelUrl, modelFile, scene, function (scene) {
// do something with the scene
});
engine.runRenderLoop(function() {
scene.render();
});
</script>
</body>
</html>
이 코드는 Babylon.js 엔진을 사용하여 glTF 모델을 웹 페이지에 추가하는 간단한 코드입니다. BABYLON.SceneLoader.Append 함수를 사용하여 모델을 적재하고, engine.runRenderLoop 함수를 사용하여 모델을 렌더링합니다.
위의 샘플 코드처럼 HTML 파일을 생성하고 "model-file-name.glb" 파일을 "contents-location"폴더에 저장한 뒤 브라우저에서 열면 해당 glTF 모델이 웹 페이지에 표시됩니다.
이러한 방법을 사용하여 쉽게 glTF 모델을 웹 페이지에 추가할 수 있습니다.
이 포스트에서 3D 모델이 바로 보이지 않는 경우는 아래 링크에서 사례를 확인할 수 있습니다.
https://www.3dcodekits.com/gltf-in-a-web-page/
모델 파일의 .glb 확장자는 glTF의 바이너리 형식으로 3D 장면, 메시, 텍스쳐 등의 모든 구성 요소를 하나의 파일로 저장해 둔 것입니다. 만일 .gltf 파일만 있다면 아래 링크의 편집 도구를 사용해 변환할 수 있습니다.
만약 워드프레스 사이트를 운영하고 있다면, glTF 모델을 웹 페이지에 쉽게 표시할 수 있는 여러가지 플러그인이 있습니다. 그러한 플러그인 중 하나는 3D Viewer 플러그인입니다. 아래 링크에서 더 많은 플러그인을 찾을 수 있습니다.
https://wordpress.org/plugins/search/3d-viewer+gltf/
이렇게 플러그인을 설치하면 워드프레스에서 glTF 모델을 손쉽게 표시할 수 있습니다. 모델을 업로드하고 삽입할 페이지를 선택하면, 플러그인은 자동으로 모델을 렌더링하고 웹 페이지에 삽입합니다.
이 플러그인은 모델의 크기와 배치를 조정하거나, 모델의 회전, 확대 및 축소 등의 효과를 추가할 수 있는 다양한 기능을 제공하고 있습니다. 이러한 기능을 사용하여 웹 페이지에서 더욱 동적이고 매력적인 3D 모델을 만들어 볼 수 있습니다.
그러므로 워드프레스를 사용하는 경우, 3D Viewer 플러그인을 사용하여 쉽게 glTF 모델이 추가된 웹 페이지에 만들수 있습니다.
3D Viewer 플러그인이나 유사한 도구를 사용하여 워드프레스 사이트에 3D 콘텐츠를 추가하면, 방문자에게 몰입감과 상호작용적인 경험을 제공할 수 있습니다. 제품 시각화, 게임, 가상 투어 등을 만드는 경우, glTF와 워드프레스 플러그인을 사용하여 웹 프로젝트를 더욱 발전시킬 수 있습니다.
추가로 glTF 모델 포맷에 대한 보다 상세한 설명은 이곳에서 확인할 수 있습니다.
https://3dcodekits.tistory.com/entry/glTF-Standard-format-for-3D-Content-creation-and-delivery
'glTF 3D Model' 카테고리의 다른 글
Babylon.js를 시작하기 위한 간단한 Boilerplate 예제 (2) | 2023.04.25 |
---|---|
glTF: 3D 콘텐츠의 생성 및 배포를 위한 표준 포맷 (0) | 2023.04.22 |
glTF 3D 모델을 위한 도구들 (0) | 2023.04.22 |