etc./🕹️unity10 VR 개인 프로젝트 프로젝트 전체를 깃허브에 올리고 싶었는데 프로젝트 용량이 너무 커서 그냥 블로그에만 적어두려한다. # 프로젝트 주제 어릴적 많이 했던 플래시 게임 '버거짱'을 모티브로 해서 버거 만들기 타이쿤 게임을 VR로 구현 # 개요 타이쿤 게임을 좋아하는 사람들에게 추천하는 VR 콘텐츠 VR 컨트롤러를 이용하여 조작 플레이어의 이동 없음 1인칭 시점 # 시나리오 버거 가게를 가상 공간으로 설정하여 구현 랜덤으로 손님과 주문이 생성되고, 주문에 맞는 버거를 제작해야함 버거의 난이도에 따라 손님이 지불하는 돈이 달라짐 틀리면 목숨이 하나씩 줄고, 목숨을 다 잃게 되면 게임 오버 # 구상도 # 시스템 설정 손님 외형, 주문 모두 랜덤으로 변경 컨트롤러에 레이저를 부착하여 컨트롤러가 어디를 가리키는지 보이게 설정 선택된 .. 2022. 6. 11. VR UI 설정 VR에서 UI를 띄우려면 사용자가 바라보는 방향에 맞춰서 띄워줘야 한다 만약 UI를 x, y, z 좌표를 이용해서 설정한다면 사용자가 고개를 돌리거나 이동하면 보이지 않기 때문이다 체력바를 UI로 띄워주는 실습 # CameraMove.cs 키 입력에 따라 카메라 이동 using System.Collections; using System.Collections.Generic; using UnityEngine; public class CameraMove : MonoBehaviour { public float speed = 5f; public float rotateSpeed = 1f; Vector3 gap = Vector3.zero; void Start() { } void Update() { // 카메라를 월드.. 2022. 6. 11. VR 실습 실습에 오큘러스 퀘스트 2 기기를 사용했음 대여받은 상태로 진행했던 실습이라 따로 영상을 촬영해두지 않아 실습 영상은 없음,, 유니티에 오큘러스 라이브러리를 추가하면 기본으로 주어지는 scene과 코드를 사용해서 간단한 컨트롤러 동작등을 수행할 수 있음 # ControllerMove.cs using System.Collections; using System.Collections.Generic; using UnityEngine; public class ControllerMove : MonoBehaviour { void Start() { } void Update() { float x = ARAVRInput.GetAxis("Horizontal", ARAVRInput.Controller.LTouch); floa.. 2022. 6. 11. 2D Shooting # 실습 영상 # Bullet.cs 총알 컴포넌트 설정 using System.Collections; using System.Collections.Generic; using UnityEngine; //위로 이동하고 싶다 public class Bullet : MonoBehaviour { public float speed = 10; // 구글에 unity lifecycle검색 /* 유니티에서 프로젝트 창에 있는 것은 파일임 게임오브젝트를 드래그해서 프로젝트에 놓으면 파일이 됨(prefab) */ // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { tr.. 2022. 6. 11. 3D FPS # 실습 영상 조준점이 없어서 맞추기가 어려운데ㅋㅋ 적 애니메이션, 총 발사, 맵 이동, 카메라 이동 등을 위주로 공부했음 # CameraRotate.cs 플레이어 마우스에 따라 카메라 회전 using System.Collections; using System.Collections.Generic; using UnityEngine; // 마우스의 입력값을 이용해서 회전하고 싶다. public class CameraRotate : MonoBehaviour { float rx; float ry; public float rotSpeed = 200; public Transform body; // Start is called before the first frame update void Start() { } // .. 2022. 6. 11. unity shader, effect, light & 지형 만들기 # Shader ▶쉐이더: 빛을 반사하는 방식(함수) PBR, PBS는 실제로 우리가 빛을 보는 방식으로 무거워서 실시간성엔 좋지 않음 과거엔 Diffuse사용 -> 빨간색이 들어오면 그에 맞는 함수 실행 따라서 빛에따라 민감하게 반응 불가(단점) =>PBS, PBR시스템이 들어오고 난 뒤 유니티에선 Standard 쉐이더를 통해 실시간으로 빛을 계산해서 리얼하게 구현 가능 Standard는 유니티에서 제공하는 PBR방식 쉐이더 함수 ->Albedo : 고유색 ->Metalic: 금속, 비금속 ->Smoothness: 거칠기 3가지로 모든 색상을 표현 과거의 방식 Diffuse에선 Standard와 달리 색상 구분을 위해 많은 항목으로 쪼개져있음 ▷Normal Map 법선벡터(normal)을 이용해서 빛.. 2022. 6. 11. 이전 1 2 다음