IT/WebGl

[WebGL] 웹 브라우저 환경(Nuxt,React) 에서 WebGl 연결 - 1

2023. 2. 16. 12:17
오늘의 명언

“ 훌륭한 기계공은 일반 기계공보다 몇배의 급여를 더 높이 받는다. 그러나 훌륭한 코드를 만들어내는 개발자는 일반적인 개발자보다 1만배 이상의 가치가 있다. ”

- Bill Gates (빌 게이츠)
목차
  1. Unity WebGL 이란?
300x250

Unity WebGL 이란?

Unity 콘텐츠를 HTML5 기술과 WebGL 렌더링 API를 사용하여 웹 브라우저에서 실행하는 기술.

간단하게 Unity 빌드 옵션을 사용하여 javascript 프로그램으로 퍼블리싱 할 수 있다.

 

WebGL에서 실행하려면 모든 코드가 javascript여야 하며, 콘텐츠 대부분이 주요 데스크톱 브라우저의 최신 버전에서 지원됩니다. 각 브라우저에서 제공하는 지원 수준의 차이 가 있고, 현재 모바일 디바이스를 지원하지 않습니다.

 

Unity가 설치되어 있는 가정하에 Nuxt 프레임워크 환경에서 Unity Webgl 콘텐츠를 띄워보는 것을 설명드리겠습니다.

React도 환경이 잘 구축되어 있기 때문에 React에서도 간단하게 보여드리겠습니다.


1.  환경구성

이름 버전
Nuxt 2.15.8
Unity 2021.3.16

 

 

2. Unity 프로젝트 실행 및 폴더 구성

 

Unity 폴더 구성

  • Plugins: Webgl 폴더를 추가하여 Unity 콘텐츠 내부에서 웹브라우저로 데이터 전송할 jslib 파일을 구성.
  • Scenes: Unity 오브젝트의 모음, 스테이지, 장면 등.
  • Script: Unity 콘텐츠를 제어할 스크립트 파일.

 

3. Unity 화면 구성 및 배치

 

Hierarchy

 

※ 최신버전이라 버튼이랑 Text가 Legacy라고 나오는데 Unity 쪽은 잘 모르고 테스트용이니 이걸로 생성하겠습니다.

  • 버튼을 생성하여 테스트용이니 1이라는 문구로 만들어준다, (아무거나 상관없음)
  • Text 선택하여 0으로 입력한다.

 

  • Unity Hierarchy에서 마우스 왼쪽클릭하여 Create Empty선택해 GameManager라고 설정한다.

Create Empty

 

  • 위에 폴더 구성에서 Script폴더에서  GameManager라는 C# 스크립트를 생성한다.

    
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; //추가
public class GameManager : MonoBehaviour
{
public Text testText; // Text UI
public int score = 0;
public void CountUp() // 버튼에 연결할 함수
{
score +=1;
testText.text = score.ToString();
}
void Start(){}
void Update(){}
}

 

  • Hierarchy에 GameManager에 C# 스크립트를 연결한다. (드래그 앤 드롭으로 해도 됩니다.)
  • Test Text라는 칸에 Hierarchy - Canvas - Text(Legacy)를 드래그 앤 드롭하여 칸에 넣습니다.

inspector

 

  • Hierarchy Canvas - Button으로 가서  Onclick 이벤트를 연결해 줍니다.
  • On Click()에서 + 버튼을 클릭하여 생성 후 None(Object)에 드래그 앤 드롭으로 Hierarchy  - GameManager를 연결합니다.

 

※주의) Sciprt 폴더 - GameManager(스크립트)는 Hierarchy - GameManager에 연결하고

Button on Click 이벤트에는 Hierarchy - GameManager를 연결합니다.

 

 

  • 실행하여 "1"이라는 버튼을 클릭했을 때 Text가 증가하는지 확인하면 됩니다.

 

 


 

여기까지 유니티에서 간단한 숫자 증가를 확인할 수 있는 구성을 끝냈습니다.

다음 포스팅에서 이 콘텐츠를 WebGL로 빌드하여 웹브라우저 화면에 띄우는 부분을 진행해 보도록 하겠습니다.

 

틀린 부분이나 수정되어야 할부분은 댓글로 남겨주세요. 

 

읽어주셔서 감사합니다. 

반응형
저작자표시 비영리 변경금지 (새창열림)
잘못된 내용이 있으면 댓글 부탁드립니다. 감사합니다.
Stack_Shines
Stack_Shines
프론트엔드 백엔드 학습정리 및 정보공유 블로그입니다.
'IT/WebGl' 카테고리의 다른 글
  • [WebGL] Unity WebGL Brotli 압축에 대한 Nginx 서버 설정
  • [WebGL] 웹 브라우저 환경(Nuxt,React) 에서 WebGl 연결 - 3
  • [WebGL] 웹 브라우저 환경(Nuxt,React) 에서 WebGl 연결 - 2
Stack_Shines
느린 개발자
Stack_Shines
전체
오늘
어제
  • 분류 전체보기 102
    • 티스토리 10
    • IT 67
      • Library 3
      • JavaScript 3
      • TypeScript 3
      • Nuxt & vue 14
      • Nuxt3 6
      • React 4
      • NestJS 4
      • Express 9
      • CI CD 1
      • WebGl 4
      • docker 6
      • MAC 2
      • 디자인패턴 1
      • Error 4
      • 홈서버 3
    • 프로젝트 1
    • 오늘의 회고 2
    • 맛리뷰 7
    • 다이어트 5
    • 여행 1
    • 끄적끄적 일상 6
    • 생활 정보 3

인기 글

최근 글

hELLO · Designed By 정상우.
Stack_Shines
[WebGL] 웹 브라우저 환경(Nuxt,React) 에서 WebGl 연결 - 1
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.