"Unity-spatial 기초"의 두 판 사이의 차이

my9univ
이동: 둘러보기, 검색
(퀘스트)
 
(같은 사용자의 중간 판 12개는 보이지 않습니다)
1번째 줄: 1번째 줄:
 +
* 왜인지 active가 안될때 : setting (톱니바퀴) - issues - check for issues 의 refresh 클릭하면 이유 알려줌!
 +
 +
* 유니티 공식 매뉴얼: https://docs.unity3d.com/Manual/webgl-templates.html
 +
* 영상 하나로 툴키트 모두 살펴보기 : https://www.youtube.com/watch?v=6vSB1olBau8
 +
 +
* 자막 없고 어느나라 말인지 모르겠찌만, 뭔가 많은(trigger로 자동문 등) : https://www.youtube.com/playlist?list=PLs7ibWRUM5eFTQT2L5_Cy4sNNYHKOT8yS
 +
* 스페이셜 유니티 전문으로 하는 듯(일본어): https://www.youtube.com/@my_gardenbee
 +
 +
* vs코드 관련: https://www.youtube.com/watch?v=-TfdTMIDna8
 +
 
== 유니티 시작하고 맛보기 ==
 
== 유니티 시작하고 맛보기 ==
 
* 다운로드부터 업로드까지  
 
* 다운로드부터 업로드까지  
4번째 줄: 14번째 줄:
 
* test active scene 시 무슨 파일이 없다고 하는데, 해당 경로 들어가서  <spatial-island_defaut_0>이 적힌 파일을 해당 파일명으로 변경해주면 됨!
 
* test active scene 시 무슨 파일이 없다고 하는데, 해당 경로 들어가서  <spatial-island_defaut_0>이 적힌 파일을 해당 파일명으로 변경해주면 됨!
 
** test 한 scene은 남에게는 공유할 수 없는 비공개 샌드박스에 저장됨!
 
** test 한 scene은 남에게는 공유할 수 없는 비공개 샌드박스에 저장됨!
 +
 +
=== 공간 vs 공간 템플릿 ===
 +
* 공간: 공간 패키지 자산(배지)에 연결됨! creator tool kit 공간은 무조건 공간.
 +
* 공간 템플릿: 재사용 가능한 환경 장면. creator tool kit에서 템플릿을 선택하면 새로운 공간으로 만들어짐~
  
  
 
== 텔레포트 ==
 
== 텔레포트 ==
* 공식: https://docs.spatial.io/avatar-teleporter
+
* 공식 문서: https://docs.spatial.io/avatar-teleporter
 
** 별거 없음
 
** 별거 없음
 
* Collider가 활성화된 GameObject에 배치해야 함. -> Is Trigger 체크
 
* Collider가 활성화된 GameObject에 배치해야 함. -> Is Trigger 체크
16번째 줄: 30번째 줄:
 
== point of Interest ==
 
== point of Interest ==
 
* i 표시의 마커 표시 -> 다가가면 제목과 설명 나옴!
 
* i 표시의 마커 표시 -> 다가가면 제목과 설명 나옴!
* 공식: https://docs.spatial.io/components/point-of-interest
+
* 공식 문서: https://docs.spatial.io/components/point-of-interest
 +
* 더 잘하려면 vs스크립팅 : https://docs.spatial.io/visual-scripting-examples/point-of-interest-vs
 +
 
 +
== 트리거 ==
 +
* 공식 영상: https://www.youtube.com/watch?v=E8zE52pIVzQ&t=32s
 +
* 공식 문서(심화로 읽어보아야 함!): https://docs.spatial.io/components/trigger-event
 +
* 트리거 vs: https://docs.spatial.io/visual-scripting-examples/trigger-event-vs
 +
 
 +
* object 만들기 먼저 : hierachy 우클릭 - 3d object - cube 선택
 +
** 만일 큐브가 안보이고 싶으면, inspector에서 Mesh를 none 선택!
 +
** 초록색 실선의 구모양이 트리거 존이므로 크거나 작게 조절
 +
* inspector 창의 enter event : 해당 영역에 들어갈때 이벤트
 +
** exit event는 해당 영역에서 나갈 때 이벤트
 +
* unity event is synced: 해당 사람만 보고 듣는지(체크 안하면) / 아니면 해당 공간의 모든 사람이 듣는 지(체크 하면)
 +
* animator event : 장면의 연결된 애니메니터가 있는 경우 공간으로 이동하거나 애니메이션된 개체에 연결된 애니메이션이 재생
 +
* quest event : 공간 퀘스트로 공간을 통해 사용자와 탐험가를 안내하고 특정 작업을 수행하거나 공간에서 특정 작업을 통해 진행상황을 얻을 수 있음
 +
** 해당 목차 참조
 +
 
 +
=== 트리거 만들기 ===
 +
* 큐브의 inspector에서 is Trigger 선택 - add component 클릭 - trigger 검색하여 spatial trigger event 선택
 +
* 혹은 Hierachy 창에서 우클릭 - spatial - trigger event
 +
 
 +
* unity Event : + 눌러서 목차 만든 후에, 관련된 object를 inspector에 드래그앤드랍 - 기능선택 - 관련 작업
 +
** 색상변경: mesh randerer - material material : 색상 변경(재료의 메시를 변경)시 선택 - 변경할 색상을 none에 드래그앤드랍
 +
** 오디오 재생: Hierachy 에서 해당 오디오 파일을 우클릭 - audio - audio source 선택 - 오디오파일을 trigger 칸에 드래그앤드랍 - audio play 선택
 +
*** 해당 존을 벗어나면 오디오도 중지되어야 하므로 exit event도 설정해야 함 : 오디오파일 드래그앤드랍 - audio source - stop
 +
 
 +
 
 +
== 퀘스트 ==
 +
* 공식 영상: https://www.youtube.com/watch?v=21OUsBrLMS8
 +
** https://www.youtube.com/watch?v=NM1TFr69yf0
 +
* 공식 문서(좀더 심화): https://docs.spatial.io/quests
 +
 
 +
* Hierachy 에서 우클릭하여 spatial - quest 선택
 +
** inspector 에서 quest name 설정과 description 설정(메타버스 화면에서 왼쪽 하단에 설명 뜨는 것!)
 +
** start automatically: 자동으로 퀘스트 시작 (trigger를 통해서도 시작할 수 있음!)
 +
** save user progress: 사용자별 진행상황 저장
 +
** tasks are ordered: task가 순서를 갖도록 하는 것
 +
** celebrate on on complete: 완료 축하(색종이 조각 애니메이션 진행)
 +
 
 +
=== quest rewards ===
 +
* 배지 혹은 아이템 선택
 +
* badge: [https://www.spatial.io/studio/worlds spatial 스튜디오]에서 만들면 됨
 +
** 배지 공식문서(영상은 배지 문서 만들어지기 전): https://docs.spatial.io/quests/badges
 +
** 배지 사이즈: 1024 x 1024 png인 원 모양, 1mb 최대.
 +
** 배지는 Spatial Portal 에서 만들면 된다고 하는데.. 없다.
 +
** project 에서 import new asset - 배지 파일 선택 - inspector에서 alpha source가 input texture alpha로 되어있는지 확인 - alpha is transparency 선택 - apply 클릭 - 다시 톱니바퀴(setting)에서 badge 클릭하여 select icon - create new badge
 +
* item :
 +
 
 +
 
 +
 
 +
=== tasks ===
 +
* 퀘스트를 완료하기 위한 작업들
 +
 
 +
* list를 먼저 만듦 - name 붙임
 +
* type 선택
 +
** check : 행동을 하면 체크가 됨
 +
*** 아래의 complete task와 매치되는 것
 +
** progress bar: 코인 수집 같은 진행율을 나타낼때
 +
*** 아래의 add task progress와 매치되는 것
 +
 
 +
* task markers : 퀘스트 수행을 위해 화면에 마커를 남기는 기능
 +
 
 +
* 퀘스트에 해당하는 아이템을 묶어주기
 +
** trigger event 만들기 - quest 에서 해야하는 것들 앞에 놓기 - on enter event에서 quest event 설정 - quest 이름 설정 - complete task - 세부 task 이름 설정
 +
** trigger event가 이미 있는 것은 quest event만 설정하면 됨!
 +
*** prefab(파란색으로 표시되는)인 경우에는 >키를 누르면 해당하면 모든 prefab에 적용됨!!!!
 +
 
 +
== 샘플 ==
 +
* 공간 공식: https://docs.spatial.io/samples
 +
* 비쥬얼 스크립팅 공식: https://docs.spatial.io/visual-scripting-examples
 +
 
 +
 
 +
 
 +
== 그 외 ==
 +
 
 +
=== 썸네일 ===
 +
* https://www.youtube.com/watch?v=VsOrRh8gtaI
 +
* 사이즈: 1280 X 720(16:9), 1MB 이하, png 혹은 jpg
 +
 
 +
=== 운전 가능한 차량 ===
 +
* https://docs.spatial.io/custom-vehicles
 +
 
 +
=== 하버보드 ===
 +
* 하버보드 만드는 것이나 많은 것을 포함하므로 추천: https://www.youtube.com/watch?v=GhMZglNVqos
 +
 
 +
=== 오디오(AFTER EFFECT 통해서 비디오로 변환) ===
 +
* https://www.youtube.com/watch?v=Nnp2KPvBTzg
 +
** FILMING MODE를 통해서 지면 아래의 물품 가져오기
 +
* PORTAL을 엄청 크게 해서 구체가 아닌 안은 모양으로 놔두면 좀더 팬시함(12:52)
 +
 
 +
== 용어 ==
 +
* 공간(space): 여러 사용자가 참여하는 가상공간(메타버스)
 +
* 세계: '''동일한 경제'''를 공유하는 생태계 또는 공간 모음. 하나의 세계에 속할 경우 공간1의 항목을 공간2에서 사용할 수 있음.
 +
* 패키지: unity를 사용하여 만든 시각적 자산
 +
** 공간: unity를 통해 게시한 spatial 공간
 +
** space template: unity에서 생성된 장면. 공간 템플릿으로 게시되면 공간이 바로 생성되지는 않고, 템플릿으로 공간을 만들 수 있음
 +
** avatar: 맞춤형 아바타 자산
 +
** avatar animation: 아바타가 재생할 수 있는 사용자 지정 애니메이션(댄스 감정 표현 등)
 +
** 조립식 개체: 무엇이든 가능. 운전 가능한 차량 또는 대화형 개체와 같은 다른 유형의 개체도 포함
 +
 
 +
=== 경제 ===
 +
* 공식문서: https://docs.spatial.io/economy
 +
 
 +
* 경제: 사용자가 공간 내에서 얻고, 벌고, 구매할 수 있는 통화.
 +
** 항목: 플랫폼에서 사용자에게 배포할 수 있는 항목
 +
** 항목 유형: 대부분 패키지 유형에 매핑되지만, 통화 같은 일부 항목은 패키지에 연결되지 않음
 +
*** 화신
 +
*** emote: 사용자 반응패널에 표시되는 아바타 애니메이션
 +
*** 조립식 개체
 +
*** 아바타 첨부
 +
*** 통화: 나의 세계에 해당하는 토큰. 스크립팅을 통해 사용자에게 부여 가능
 +
*** 기본: 물리적 표현이 없는 항목. 공간에서 일부 콘텐츠를 트리거하거나 잠금 해제하는데 간단히 사용
 +
** 품목 범위: 품목을 사용하거나 소비할 수 있는 곳
 +
*** 범용범위: spatial의 모든 공간에서 사용.
 +
*** 월드범위: 동일한 월드 내 이용
 +
* 배낭: 사용자의 인벤토리
 +
* 상점: 출시예쩡으로 공간 내 사용자가 구매할 수 있는 아이템 상점.
 +
 
 +
 
 +
== 유니티 사용 ==
 +
=== glb 이용 ===
 +
* unity는 원래 glb를 지원하지 않음: https://zenn.dev/eightbeat/articles/8530fc7c833ba1 참고하여 플러그인 설치
 +
** 이거 해도 색 안먹히고 모양도 뭉개짐 ㅠ 블렌더로 fbx로 변경해서 넣는게 모양이라도 보여서 좋을듯~
 +
 
 +
=== fbx 이용 ===
 +
* 색이 빠지므로 material 값을 설정해주어야 함
 +
* 3D를 누른 후, inspector 창에서 materials 선택 = extract materials 선택 - material 폴더 따로 만들어줌
 +
* 다시 3D 선택하여 material 칸의 ▽ 클릭 - surface inputs 에 base map 연결()
  
 +
* 요 영상 참고: https://www.youtube.com/watch?v=42BupM0ERS8
  
 
[[분류:유니티]]
 
[[분류:유니티]]

2023년 7월 30일 (일) 18:33 기준 최신판

  • 왜인지 active가 안될때 : setting (톱니바퀴) - issues - check for issues 의 refresh 클릭하면 이유 알려줌!

유니티 시작하고 맛보기

  • 다운로드부터 업로드까지

  • test active scene 시 무슨 파일이 없다고 하는데, 해당 경로 들어가서 <spatial-island_defaut_0>이 적힌 파일을 해당 파일명으로 변경해주면 됨!
    • test 한 scene은 남에게는 공유할 수 없는 비공개 샌드박스에 저장됨!

공간 vs 공간 템플릿

  • 공간: 공간 패키지 자산(배지)에 연결됨! creator tool kit 공간은 무조건 공간.
  • 공간 템플릿: 재사용 가능한 환경 장면. creator tool kit에서 템플릿을 선택하면 새로운 공간으로 만들어짐~


텔레포트

  • 공식 문서: https://docs.spatial.io/avatar-teleporter
    • 별거 없음
  • Collider가 활성화된 GameObject에 배치해야 함. -> Is Trigger 체크
  • parent가 될 수 있으며, 애니메이션화도 가능
    • Hierachy 창에서 Avatar teleporter - 위치 및 크기 조정 - target 위치 조정
      • target을 기존 object위치로 할 것이라면, Teleporter object 에서 target location 을 변경해주면 됨!

point of Interest

트리거

  • object 만들기 먼저 : hierachy 우클릭 - 3d object - cube 선택
    • 만일 큐브가 안보이고 싶으면, inspector에서 Mesh를 none 선택!
    • 초록색 실선의 구모양이 트리거 존이므로 크거나 작게 조절
  • inspector 창의 enter event : 해당 영역에 들어갈때 이벤트
    • exit event는 해당 영역에서 나갈 때 이벤트
  • unity event is synced: 해당 사람만 보고 듣는지(체크 안하면) / 아니면 해당 공간의 모든 사람이 듣는 지(체크 하면)
  • animator event : 장면의 연결된 애니메니터가 있는 경우 공간으로 이동하거나 애니메이션된 개체에 연결된 애니메이션이 재생
  • quest event : 공간 퀘스트로 공간을 통해 사용자와 탐험가를 안내하고 특정 작업을 수행하거나 공간에서 특정 작업을 통해 진행상황을 얻을 수 있음
    • 해당 목차 참조

트리거 만들기

  • 큐브의 inspector에서 is Trigger 선택 - add component 클릭 - trigger 검색하여 spatial trigger event 선택
  • 혹은 Hierachy 창에서 우클릭 - spatial - trigger event
  • unity Event : + 눌러서 목차 만든 후에, 관련된 object를 inspector에 드래그앤드랍 - 기능선택 - 관련 작업
    • 색상변경: mesh randerer - material material : 색상 변경(재료의 메시를 변경)시 선택 - 변경할 색상을 none에 드래그앤드랍
    • 오디오 재생: Hierachy 에서 해당 오디오 파일을 우클릭 - audio - audio source 선택 - 오디오파일을 trigger 칸에 드래그앤드랍 - audio play 선택
      • 해당 존을 벗어나면 오디오도 중지되어야 하므로 exit event도 설정해야 함 : 오디오파일 드래그앤드랍 - audio source - stop


퀘스트

  • Hierachy 에서 우클릭하여 spatial - quest 선택
    • inspector 에서 quest name 설정과 description 설정(메타버스 화면에서 왼쪽 하단에 설명 뜨는 것!)
    • start automatically: 자동으로 퀘스트 시작 (trigger를 통해서도 시작할 수 있음!)
    • save user progress: 사용자별 진행상황 저장
    • tasks are ordered: task가 순서를 갖도록 하는 것
    • celebrate on on complete: 완료 축하(색종이 조각 애니메이션 진행)

quest rewards

  • 배지 혹은 아이템 선택
  • badge: spatial 스튜디오에서 만들면 됨
    • 배지 공식문서(영상은 배지 문서 만들어지기 전): https://docs.spatial.io/quests/badges
    • 배지 사이즈: 1024 x 1024 png인 원 모양, 1mb 최대.
    • 배지는 Spatial Portal 에서 만들면 된다고 하는데.. 없다.
    • project 에서 import new asset - 배지 파일 선택 - inspector에서 alpha source가 input texture alpha로 되어있는지 확인 - alpha is transparency 선택 - apply 클릭 - 다시 톱니바퀴(setting)에서 badge 클릭하여 select icon - create new badge
  • item :


tasks

  • 퀘스트를 완료하기 위한 작업들
  • list를 먼저 만듦 - name 붙임
  • type 선택
    • check : 행동을 하면 체크가 됨
      • 아래의 complete task와 매치되는 것
    • progress bar: 코인 수집 같은 진행율을 나타낼때
      • 아래의 add task progress와 매치되는 것
  • task markers : 퀘스트 수행을 위해 화면에 마커를 남기는 기능
  • 퀘스트에 해당하는 아이템을 묶어주기
    • trigger event 만들기 - quest 에서 해야하는 것들 앞에 놓기 - on enter event에서 quest event 설정 - quest 이름 설정 - complete task - 세부 task 이름 설정
    • trigger event가 이미 있는 것은 quest event만 설정하면 됨!
      • prefab(파란색으로 표시되는)인 경우에는 >키를 누르면 해당하면 모든 prefab에 적용됨!!!!

샘플


그 외

썸네일

운전 가능한 차량

하버보드

오디오(AFTER EFFECT 통해서 비디오로 변환)

용어

  • 공간(space): 여러 사용자가 참여하는 가상공간(메타버스)
  • 세계: 동일한 경제를 공유하는 생태계 또는 공간 모음. 하나의 세계에 속할 경우 공간1의 항목을 공간2에서 사용할 수 있음.
  • 패키지: unity를 사용하여 만든 시각적 자산
    • 공간: unity를 통해 게시한 spatial 공간
    • space template: unity에서 생성된 장면. 공간 템플릿으로 게시되면 공간이 바로 생성되지는 않고, 템플릿으로 공간을 만들 수 있음
    • avatar: 맞춤형 아바타 자산
    • avatar animation: 아바타가 재생할 수 있는 사용자 지정 애니메이션(댄스 감정 표현 등)
    • 조립식 개체: 무엇이든 가능. 운전 가능한 차량 또는 대화형 개체와 같은 다른 유형의 개체도 포함

경제

  • 경제: 사용자가 공간 내에서 얻고, 벌고, 구매할 수 있는 통화.
    • 항목: 플랫폼에서 사용자에게 배포할 수 있는 항목
    • 항목 유형: 대부분 패키지 유형에 매핑되지만, 통화 같은 일부 항목은 패키지에 연결되지 않음
      • 화신
      • emote: 사용자 반응패널에 표시되는 아바타 애니메이션
      • 조립식 개체
      • 아바타 첨부
      • 통화: 나의 세계에 해당하는 토큰. 스크립팅을 통해 사용자에게 부여 가능
      • 기본: 물리적 표현이 없는 항목. 공간에서 일부 콘텐츠를 트리거하거나 잠금 해제하는데 간단히 사용
    • 품목 범위: 품목을 사용하거나 소비할 수 있는 곳
      • 범용범위: spatial의 모든 공간에서 사용.
      • 월드범위: 동일한 월드 내 이용
  • 배낭: 사용자의 인벤토리
  • 상점: 출시예쩡으로 공간 내 사용자가 구매할 수 있는 아이템 상점.


유니티 사용

glb 이용

  • unity는 원래 glb를 지원하지 않음: https://zenn.dev/eightbeat/articles/8530fc7c833ba1 참고하여 플러그인 설치
    • 이거 해도 색 안먹히고 모양도 뭉개짐 ㅠ 블렌더로 fbx로 변경해서 넣는게 모양이라도 보여서 좋을듯~

fbx 이용

  • 색이 빠지므로 material 값을 설정해주어야 함
  • 3D를 누른 후, inspector 창에서 materials 선택 = extract materials 선택 - material 폴더 따로 만들어줌
  • 다시 3D 선택하여 material 칸의 ▽ 클릭 - surface inputs 에 base map 연결()