Unity
-
게임 플레이 영상 23년 5월쯤, 교내 경진대회에 참여하기 위해 처음으로 시작한 유니티 프로젝트다. 이때는 유니티를 배운 지 얼마 안 되었고, 주로 클론 코딩으로 학습한 수준이었다. 완성도 있는 게임을 만들기 위해, 탱크의 이동부터 연출까지 어떻게 해야 할지 고민하며 세세하게 기획했다. 하지만 막상 그것들을 구현하니 예기치 않은 버그와 생각과 다른 결과가 나왔다. 특히, 탱크가 지형을 통과하고 이동하는 버그 때문에 고생을 많이 했다. 문제를 해결하려고 탱크의 질량이나 속도를 변경했지만 기교일 뿐, 근본적인 문제는 해결하지 못했다. 그래서 같은 문제를 겪었던 사람들의 해결방법을 찾아서 알아보고 문제의 이유에 대해 이해하려 했다. 이 과정에서 Raycast 함수를 이용하여 문제를 해결했으며 지금까지도 이때 ..
교내 경진대회(장려상) - 3D 탱크 게임게임 플레이 영상 23년 5월쯤, 교내 경진대회에 참여하기 위해 처음으로 시작한 유니티 프로젝트다. 이때는 유니티를 배운 지 얼마 안 되었고, 주로 클론 코딩으로 학습한 수준이었다. 완성도 있는 게임을 만들기 위해, 탱크의 이동부터 연출까지 어떻게 해야 할지 고민하며 세세하게 기획했다. 하지만 막상 그것들을 구현하니 예기치 않은 버그와 생각과 다른 결과가 나왔다. 특히, 탱크가 지형을 통과하고 이동하는 버그 때문에 고생을 많이 했다. 문제를 해결하려고 탱크의 질량이나 속도를 변경했지만 기교일 뿐, 근본적인 문제는 해결하지 못했다. 그래서 같은 문제를 겪었던 사람들의 해결방법을 찾아서 알아보고 문제의 이유에 대해 이해하려 했다. 이 과정에서 Raycast 함수를 이용하여 문제를 해결했으며 지금까지도 이때 ..
2023.09.14 -
오늘은 디펜스 시스템인 센트리 건을 구현하려 한다. 센트리 건 모델을 직접 만들어서 프로젝트 진행이 지체됐다. 먼저 플레이어의 총기와 센트리 건의 발사 디테일을 위해 총기 반동을 다시 구현했다. (총알 생성 방식을 오브젝트 풀링 방식으로 수정해서 기존 총기 반동 코드는 삭제했다.) Procedural Recoil System | Unity Tutorial 총기 반동 시스템을 디테일하게 구현하는 방법이 있어 참고했다. Recoil.cs using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine; public class Recoil : MonoBehaviour { Vector3..
[Unity] PROJECT_S / 23.09.11오늘은 디펜스 시스템인 센트리 건을 구현하려 한다. 센트리 건 모델을 직접 만들어서 프로젝트 진행이 지체됐다. 먼저 플레이어의 총기와 센트리 건의 발사 디테일을 위해 총기 반동을 다시 구현했다. (총알 생성 방식을 오브젝트 풀링 방식으로 수정해서 기존 총기 반동 코드는 삭제했다.) Procedural Recoil System | Unity Tutorial 총기 반동 시스템을 디테일하게 구현하는 방법이 있어 참고했다. Recoil.cs using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine; public class Recoil : MonoBehaviour { Vector3..
2023.09.11 -
개요 유니티에서 팀 프로젝트를 할 때 다른 팀원들에게 나의 작업 내용을 공유하기 위해서는 협업 툴이 필수다. GitHub의 Collaborator 서비스처럼 작업 내용을 패키지하여 일일이 공유할 수 있지만 경우에 따라 비효율적이다. 그래서 작업 내용을 실시간으로 유니티 내부에서 관리하는 협업 툴을 사용한다. 기존 협업 툴이었던 Plastic SCM과 Collaborate가 서비스 종료되고 현재는 Plastic SCM 기술을 사용하는 Version Control이 서비스되고 있다. 하지만 국내에 버전 컨트롤에 관한 정보가 너무 없어서 시작하기조차 어렵다. 나 또한 플라스틱 SCM이 서비스가 끝난지도 모르고 구독하려다가 큰일 날뻔했다. 대부분 영문으로 되어있고 과정이 복잡하니 잘 보고 따라 해야 한다. De..
[Unity] 버전 컨트롤로 협업하는 방법개요 유니티에서 팀 프로젝트를 할 때 다른 팀원들에게 나의 작업 내용을 공유하기 위해서는 협업 툴이 필수다. GitHub의 Collaborator 서비스처럼 작업 내용을 패키지하여 일일이 공유할 수 있지만 경우에 따라 비효율적이다. 그래서 작업 내용을 실시간으로 유니티 내부에서 관리하는 협업 툴을 사용한다. 기존 협업 툴이었던 Plastic SCM과 Collaborate가 서비스 종료되고 현재는 Plastic SCM 기술을 사용하는 Version Control이 서비스되고 있다. 하지만 국내에 버전 컨트롤에 관한 정보가 너무 없어서 시작하기조차 어렵다. 나 또한 플라스틱 SCM이 서비스가 끝난지도 모르고 구독하려다가 큰일 날뻔했다. 대부분 영문으로 되어있고 과정이 복잡하니 잘 보고 따라 해야 한다. De..
2023.09.09 -
협업 프로젝트가 완성되거나 취소되는 등의 이유로 DevOps나 버전 컨트롤을 구독 취소하고 싶을 때가 있다. 본인 같은 경우도 그랬는데 찾아봐도 자세한 설명이 없어 애먹었다. Unity Gaming Services 사이트로 가서 로그인한다. Unity Gaming Services dashboard.unity3d.com 좌측 내비게이션에 [DevOps] 탭에서 [도움말 및 지원] 탭으로 이동한다. 페이지 하단에 [구독 취소] 버튼을 클릭한다. 구독 취소 사유를 선택하고 취소 확인하면 모든 과정이 끝난다. [구독 취소] 버튼이 없는 경우가 있는데 문의를 통해 구독 취소가 가능하다.
[Unity] DevOps, 버전 컨트롤 해지(구독 취소)하는 방법협업 프로젝트가 완성되거나 취소되는 등의 이유로 DevOps나 버전 컨트롤을 구독 취소하고 싶을 때가 있다. 본인 같은 경우도 그랬는데 찾아봐도 자세한 설명이 없어 애먹었다. Unity Gaming Services 사이트로 가서 로그인한다. Unity Gaming Services dashboard.unity3d.com 좌측 내비게이션에 [DevOps] 탭에서 [도움말 및 지원] 탭으로 이동한다. 페이지 하단에 [구독 취소] 버튼을 클릭한다. 구독 취소 사유를 선택하고 취소 확인하면 모든 과정이 끝난다. [구독 취소] 버튼이 없는 경우가 있는데 문의를 통해 구독 취소가 가능하다.
2023.09.09 -
적 스폰이나 총알 발사 같은 오브젝트 생성과 삭제를 많이 하다 보면 성능 저하가 있다고 한다. 그래서 오늘은 오브젝트 풀링으로 적 스폰과 총알 발사를 구현하기 위해 코드를 수정하려 한다. 또, 총알 충돌 감지를 정확히 하려고 레이캐스트를 이용하는 등 자잘한 코드나 설정도 수정했다. 오브젝트 풀링🏊으로 소환하기 [유니티 뱀서라이크 06] 오브젝트 풀링을 구현하는데 '골드메탈'님의 강좌가 많이 도움이 되었다. 골드메탈 유니티 엔진으로 게임 개발을 다루는 창작&교육🎓채널입니다. 프로그래밍, 그래픽 등 게임 개발에 관련된 다양한 분야의 컨텐츠를 진행하는데요, '게임 개발의 민주화' 유니티 정신을 이어받아 www.youtube.com PoolManager.cs using System.Collections; usi..
[Unity] PROJECT_S / 23-08-31적 스폰이나 총알 발사 같은 오브젝트 생성과 삭제를 많이 하다 보면 성능 저하가 있다고 한다. 그래서 오늘은 오브젝트 풀링으로 적 스폰과 총알 발사를 구현하기 위해 코드를 수정하려 한다. 또, 총알 충돌 감지를 정확히 하려고 레이캐스트를 이용하는 등 자잘한 코드나 설정도 수정했다. 오브젝트 풀링🏊으로 소환하기 [유니티 뱀서라이크 06] 오브젝트 풀링을 구현하는데 '골드메탈'님의 강좌가 많이 도움이 되었다. 골드메탈 유니티 엔진으로 게임 개발을 다루는 창작&교육🎓채널입니다. 프로그래밍, 그래픽 등 게임 개발에 관련된 다양한 분야의 컨텐츠를 진행하는데요, '게임 개발의 민주화' 유니티 정신을 이어받아 www.youtube.com PoolManager.cs using System.Collections; usi..
2023.08.31 -
다음 기능들을 구현하려는데 문제가 발생하여 먼저 수정했다. 빈 오브젝트를 삭제하고 하위 오브젝트였던 캡슐 오브젝트를 Player로 변경했다. 그리고 카메라 상위 오브젝트로 빈 오브젝트를 생성했다. Player_Ctrl.cs using System.Collections; using System.Collections.Generic; using UnityEditor.SceneManagement; using UnityEngine; using UnityEngine.UIElements; public class Player_Ctrl : MonoBehaviour { Vector3 moveVec; // 플레이어의 이동 방향을 저장하는 변수 float moveSpeed; // 플레이어의 이동 속도를 설정하는 변수 Rigi..
[Unity] PROJECT_S / 23-08-22다음 기능들을 구현하려는데 문제가 발생하여 먼저 수정했다. 빈 오브젝트를 삭제하고 하위 오브젝트였던 캡슐 오브젝트를 Player로 변경했다. 그리고 카메라 상위 오브젝트로 빈 오브젝트를 생성했다. Player_Ctrl.cs using System.Collections; using System.Collections.Generic; using UnityEditor.SceneManagement; using UnityEngine; using UnityEngine.UIElements; public class Player_Ctrl : MonoBehaviour { Vector3 moveVec; // 플레이어의 이동 방향을 저장하는 변수 float moveSpeed; // 플레이어의 이동 속도를 설정하는 변수 Rigi..
2023.08.22 -
카메라 시점과 플레이어 오브젝트의 색상을 변경했다. (전에 사용한 빨간색은 적 오브젝트에 사용할 예정이다.) 그리고 직사각형 오브젝트는 플레이어 캠프로 사용하기 위해 만들었다. Player_Ctrl.cs #region 플레이어 회전 // 마우스 위치를 화면에서 광선으로 변환 Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; // 광선이 물체와 충돌 여부를 위한 변수 // 광선이 물체와 충돌하는지 확인 if (Physics.Raycast(ray, out hit, 100)) { // 플레이어가 바라볼 방향 벡터를 계산 Vector3 rotateVec = hit.point - rotateObject.transform.pos..
[Unity] PROJECT_S / 23-08-21카메라 시점과 플레이어 오브젝트의 색상을 변경했다. (전에 사용한 빨간색은 적 오브젝트에 사용할 예정이다.) 그리고 직사각형 오브젝트는 플레이어 캠프로 사용하기 위해 만들었다. Player_Ctrl.cs #region 플레이어 회전 // 마우스 위치를 화면에서 광선으로 변환 Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; // 광선이 물체와 충돌 여부를 위한 변수 // 광선이 물체와 충돌하는지 확인 if (Physics.Raycast(ray, out hit, 100)) { // 플레이어가 바라볼 방향 벡터를 계산 Vector3 rotateVec = hit.point - rotateObject.transform.pos..
2023.08.21 -
프로젝트는 유니티 2022.3.7f1 버전으로 진행했으며 3D 템플릿으로 생성했다. 우선 Plane으로 바닥과 임시로 플레이어를 대체할 Capsule을 만들었다. 대부분 오브젝트들의 3D 모델은 나중에 추가할 예정이다. 그다음 탑뷰를 구현하기 위해 빈 오브젝트를 만들고 하위 오브젝트로 캡슐과 메인 카메라를 넣었다. Player_Ctrl.cs using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UIElements; public class Player_Ctrl : MonoBehaviour { Vector3 moveVec; // 플레이어의 이동 방향을 저장하는 변수 float moveSpe..
[Unity] PROJECT_S / 23-08-18프로젝트는 유니티 2022.3.7f1 버전으로 진행했으며 3D 템플릿으로 생성했다. 우선 Plane으로 바닥과 임시로 플레이어를 대체할 Capsule을 만들었다. 대부분 오브젝트들의 3D 모델은 나중에 추가할 예정이다. 그다음 탑뷰를 구현하기 위해 빈 오브젝트를 만들고 하위 오브젝트로 캡슐과 메인 카메라를 넣었다. Player_Ctrl.cs using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UIElements; public class Player_Ctrl : MonoBehaviour { Vector3 moveVec; // 플레이어의 이동 방향을 저장하는 변수 float moveSpe..
2023.08.18