바빌론 JS 공식사이트에서 제공하는 GUI 에디터 페이지를 발견했습니다!
여기서 GUI 를 편집하고 다운받으면 바빌론js 자바스크립트 코드로 불러올수 있더군요.
아주 간단히 예를 들자면 도구상자의 버튼을 클릭, 화면에 버튼을 띄운 다음에
왼쪽창의 버튼 텍스트 요소를 선택
오른쪽 창의 TEXTBLOCK 속성에서 'Click Me' 를 '나를 클릭하시오'로 변경
그리고 저장하면 됩니다.
그러면 파일이 다운로드되는데요.
다운받은 파일을 main.js 와 같은 폴더에 넣고 파일명을 gui.json 으로 변경합니다.
그리고 아래 코드를 이용하면 GUI 를 불러올 수 있습니다.
const canvas = document.getElementById("renderCanvas");
const engine = new BABYLON.Engine(canvas,true);
let advancedTexture = null;
var createScene = function () {
var scene = new BABYLON.Scene(engine);
var camera = new BABYLON.ArcRotateCamera(
"ArcCam",
BABYLON.Tools.ToRadians(90),
BABYLON.Tools.ToRadians(65),
2, // 카메라 거리
BABYLON.Vector3.Zero(),
scene
);
camera.attachControl(canvas, true);
// GUI
advancedTexture = BABYLON.GUI.AdvancedDynamicTexture.CreateFullscreenUI("UI");
GUISystem();
// 씬 리턴
return scene;
};
async function GUISystem(){
// gui json 불러옴
await advancedTexture.parseFromURLAsync("./gui.json");
// W 버튼 ( GUI )
const Button = advancedTexture.getControlByName("Button");
Button.onPointerClickObservable.add(() => {
const button_textblock = advancedTexture.getControlByName("Button_button")
button_textblock.text = '클릭하였슈';
} );
}
const scene = createScene();
engine.runRenderLoop(function () {
scene.render();
});
window.addEventListener("resize", function () {
engine.resize();
});
결과화면
클릭하면 버튼 내용이 바뀌는 코드도 추가해두었습니다 :)
GUI 에디터라니 일일히 좌표값 계산할 일이 없어져 매우 좋은 것 같습니다 :)
좀 더 연구해봐야 겠습니다.
아래 페이지로 오시면 결과물을 확인하실수 있습니다.
'자바스크립트와 캔버스' 카테고리의 다른 글
바빌론JS - 타입 스크립트 + 웹팩 (0) | 2024.08.03 |
---|---|
바빌론JS - 모바일웹에서 캐릭터 이동 (6) | 2024.08.01 |
바빌론JS - 비를 피하고 싶어! (0) | 2024.07.29 |
바빌론JS - 내 진짜 정체를 알려주지. (0) | 2024.07.26 |
바빌론JS - NPC, 내 이름은 케이! (0) | 2024.07.25 |