1편 : https://stotop.tistory.com/8
[Metaverse Store] 설명 및 기능 정리 1
VR을 이용한 Metaverse Store를 만들었습니다. 저의 노션에서 간단한 기획서 및 기능도를 보실 수 있습니다. https://www.notion.so/stotop/Metaverse-Smart-Store-22d8a4d8745b42229349b9b22fbc5b80 완성 및 G-Star 참여 영상입
stotop.tistory.com
2편 : https://stotop.tistory.com/9
[Metaverse Store] 설명 및 기능 정리 2
2. Sever Scene 2 - 1 전체보기. Intro 씬에서 회원가입 및 로그인을 완료하면 오게 되는 두번째 씬 입니다. 상점과 광안리 밤바다를 구경할 수 있게 꾸몄습니다. 2 - 2 방 생성 및 입장. LobbyCount.cs 입니다
stotop.tistory.com
3편 : https://stotop.tistory.com/10
[Metaverse Store] 설명 및 기능 정리 3 (결제 시스템)
1편 : https://stotop.tistory.com/8 [Metaverse Store] 설명 및 기능 정리 1 VR을 이용한 Metaverse Store를 만들었습니다. 저의 노션에서 간단한 기획서 및 기능도를 보실 수 있습니다. https://www.notion.so/stotop/Metaverse
stotop.tistory.com
4. 오락실방에 있는 운세, 뽑기 시스템입니다.
스크립트 요점 :
G-star 참여도를 높히기 위해서 두 가지의 참여 시스템을 만들었습니다.
1. 16가지의 MBTI를 case별로 분류하고 각 MBTI를 클릭시 오늘의 운세를 볼 수 있게 하였습니다.
2. 뽑기기계를 만들고 클릭시 랜덤으로 상품을 증정할 수 있게 하였습니다.
MBTI Manager 스크립트 입니다.
using UnityEngine;
using TMPro;
public class MBTIManager : MonoBehaviour
{
public TMP_Text MBTItext;
void Update()
{
switch (Data.count)
{
case 0:
MBTItext.text = "ISTJ의 오늘의 운세";
break;
case 1:
MBTItext.text = "ISFJ의 오늘의 운세";
break;
case 2:
MBTItext.text = "INFJ의 오늘의 운세";
break;
case 3:
MBTItext.text = "INTJ의 오늘의 운세";
break;
case 4:
MBTItext.text = "ISTP의 오늘의 운세";
break;
case 5:
MBTItext.text = "ISFP의 오늘의 운세";
break;
case 6:
MBTItext.text = "INFP의 오늘의 운세";
break;
case 7:
MBTItext.text = "INTP의 오늘의 운세";
break;
case 8:
MBTItext.text = "ESTP의 오늘의 운세";
break;
case 9:
MBTItext.text = "ESFP의 오늘의 운세";
break;
case 10:
MBTItext.text = "ENFP의 오늘의 운세";
break;
case 11:
MBTItext.text = "ENTP의 오늘의 운세";
break;
case 12:
MBTItext.text = "ESTJ의 오늘의 운세";
break;
case 13:
MBTItext.text = "ESFJ의 오늘의 운세";
break;
case 14:
MBTItext.text = "ENFJ의 오늘의 운세";
break;
case 15:
MBTItext.text = "ENTJ의 오늘의 운세";
break;
}
}
}
MBTI 운세 스크립트 입니다.
string으로 운세를 적어놓고 어떤 성격을 고르게 되어도 랜덤으로 하나의 운세가 나옵니다.
using UnityEngine;
using TMPro;
public class MBTILuck : MonoBehaviour
{
string[] luck =
{
(예시)
"일찍 귀가하여 자기 자신을 지키라.",
"주변과 서로 신뢰를 쌓으라.",
"뻔히 알면서도 빼앗기니 서글픈 하루이다.",
"어려움 중에 소중한 것을 얻을 것이다.",
"자신의 맡은 일에 최선을 다하는 전문가가 되어라.",
"지금하지 못하면 진행을 못 할 수 있으니 강력히 추진하라."
};
[SerializeField]
TMP_Text text;
System.Random ran;
void Start()
{
ran = new System.Random();
}
public void Luck()
{
int num = ran.Next(luck.Length);
text.text = luck[num];
}
}
뽑기 스크립트 입니다.
클릭시 파티클효과를 추가하여 코루틴으로 관리하였습니다.
뽑기를 한번 클릭시 끝날때까지 버튼을 클릭할 수 없게 만들어 놓았습니다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
public class GachaManager : MonoBehaviour
{
System.Random ran;
[SerializeField] GameObject light;
public GameObject spawnPos;
[SerializeField] TMP_Text text;
[SerializeField] Animation anim;
[SerializeField] CanvasGroup cg;
[SerializeField] ParticleSystem part;
bool click = true;
string[] gift =
{
(예시)
"토끼",
"고양이",
"강아지",
"개구리",
"판다"
};
void Start()
{
ran = new System.Random();
light.SetActive(false);
cg.alpha = 0;
}
public void GachaClick()
{
StartCoroutine(Timer());
click = false;
}
public void Luck()
{
int num = ran.Next(gift.Length);
text.text = gift[num];
float time = 0;
while (time <= 1)
{
time += (Time.unscaledDeltaTime / 10000);
cg.alpha = Mathf.Lerp(0f, 1.0f, time);
}
}
private IEnumerator Timer()
{
if(click)
{
light.SetActive(true);
anim.Play();
part.Play();
yield return new WaitForSeconds(2.5f);
Luck();
yield return new WaitForSeconds(3.0f);
text.text = "";
click = true;
}
}
}
'Unity > Metaverse Store' 카테고리의 다른 글
[Metaverse Store] 설명 및 기능 정리 3 (결제 시스템) (0) | 2022.12.27 |
---|---|
[Metaverse Store] 설명 및 기능 정리 2 (포톤) (0) | 2022.12.26 |
[Metaverse Store] 설명 및 기능 정리 1 (G-STAR 2022) (0) | 2022.12.26 |
댓글