[Unity] Projects & Study
-
Jenkins로 Unity WebGL 프로젝트 CI/CD[Unity] Projects & Study/Loop - Interactive Movie 2024. 11. 26. 00:02
목적Loop는 Steam(PC타겟플랫폼)과 GooglePlay(Mobile타겟플랫폼)에 출시되어,각 빌드 파일을 자동 배포할 필요는 없었습니다. 그런데 Web Browser 타겟 플랫폼의 경우에는 인프라를 직접 구축하고 배포해야 합니다.무엇보다도, 제 예상보다 앱 수정&재배포가 필요한 경우가 발생해서 Jenkins를 통해 CI/CD를 적용했습니다. CI/CD CI/CD에서 CD는 Deployment와 Delivery로 2가지 의미를 가지는데요,이 글에서 저의 Jenkins CI/CD는 Delivery의 의미로 설계하였습니다.Deployment의 경우 실제 배포 환경인 AWS EC2에서 Watchtower를 통해 이미지 변화를 모니터링하고 배포하도록 했습니다. 제 Unity프로젝트를 Jenkins가 Bui..
-
[Web타겟] NCP Object Storage CORS설정(S3 Browser)[Unity] Projects & Study/Loop - Interactive Movie 2024. 8. 27. 23:39
1. 문제 상황: Video접근 시 SOP(Same-Origin Policy)위반으로 인한 접근 거부웹 플랫폼 제공을 위해 VideoClip을 모두 URL로 변경하였다. URL은 NCP ObjectStorage의 File Link다. WebGL을 통한 Unity프로젝트 빌드로 웹 브라우저 실행에 성공했으나, blocked by CORS policy를 만났다.2. 해결 방법: S3 Browser 통한 NCP Object Storage의 CORS설정내 웹 애플리케이션 서비스 제공처(지금은 localhost:XXXXX), 웹 브라우저에서 요청을 보내는 Object Storage는 Same-Origin이 아니기 때문에 이러한 에러를 만났다고 생각한다.그러므로 Object Storage에서 CORS설정을 해주어,..
-
[Web타겟] 빌드 용량 줄이기(재설계)[Unity] Projects & Study/Loop - Interactive Movie 2024. 8. 27. 22:34
1. 문제 상황: The file is too long PC(Windows, Mac, Linux)플랫폼을 WebGL로 바꾸고자 했다.에디터에서 WebGL로 Switch Platform하여 Build And Run했다. 그런데 인터랙티브 무비인 만큼 영상 파일들의 크기가 너무 컸다.WebGL빌드는 웹 플랫폼을 위한 것이므로 빌드 용량이 너무 커서는 안 된다.그래서인지 2 gigabytes아래가 아니면 빌드 할 수 없다라는 아래와 같은 에러를 만났다.! System.IO.IOException: The file is too long. This operation is currently limited to supporting files less than 2 gigabytes in size.2. 해결방법: Rede..
-
[Web타겟] C# 스크립트가 WebGL을 통해 웹 브라우저에서 실행되는 과정[Unity] Projects & Study/Loop - Interactive Movie 2024. 8. 22. 16:59
SteamGame, GooglePlay에 출시한 LOOP는PC(Windows, Mac, Linux)플랫폼 / Mobile 플랫폼 / Web Browser 플랫폼을 대상으로 하고있다. 오늘은 그 중에서도 Web Browser 배포를 위해Web 상에서 그래픽을 렌더링하는 라이브러리 WebGL에 대해 공부했다.기존 콘텐츠를 WebGL로 제공하려면? Unity에서 Build Settings를 들여다보면 콘텐츠를 빌드하는 방법은 아래와 같이 다양했다. 콘텐츠를 웹 브라우저로 실행하려면 WebGL 빌드 및 실행이 필요하다.기본적으로 WebGL에서 코드를 실행하려면 이들이 모두 JavaScript여야 한다.그런데 나는 이미 .NET C#스크립트로 게임 코드를 작성해 출시하였다. 이를 JavaScript로 변환할때에는..
-
[Unity] Animate Characters #2 - Retargeting(Animation을 3D Humanoid Model에 적용)[Unity] Projects & Study 2023. 9. 3. 21:45
하나의 애니메이션을 Humanoid타입인 여러 모델에 편리하게 호환 가능한 'Retargeting'을 해보려고 한다. 즉, Mixamo의 3D모델이 아닌, 내가 가지고 있는 3D 모델(Humanoid)에 다운로드한 애니메이션을 적용해본다! 다운로드한 fbx파일은 유니티에서 이런 식으로 확인할 수 있다. 화살표를 눌러 항목을 열어보면 이렇게 애니메이션이 포함되어 있다. 우선 이 애니메이션을 그냥 적용해보자. 대충 Retargeting Controller라는 Animator Controller를 만들어 임의로 애니메이션 클립 하나만 연결해보겠다 이제 이 컨트롤러를 움직이고자 하는 3D모델의 Inspector에 연결해준다. Animator의 Controller부분에 Retargeting Controller가 ..
-
[Unity] Animate Characters #1 - Animation Import(Adobe Mixamo)[Unity] Projects & Study 2023. 8. 27. 20:59
캐릭터 에셋을 구매했다. 걷기/뛰기/점프 등 애니메이션을 직접 추가해보려고 한다. - Mixamo https://www.mixamo.com Mixamo www.mixamo.com Adobe에서 제공하는 무료 플랫폼이다. 여기에서 다양한 캐릭터 모델과 애니메이션을 다운 할 수 있다. 난 캐릭터 모델은 이미 있으니, 애니메이션 탭으로 가서 애니메이션을 골랐다! 다운로드를 하려면 다음과 같은 세팅을 거친다. - Format Unity에서 활용할 것이므로 FBX For Unity를 선택해주었다. FBX와 FBX For Unity의 차이가 크지는 않지만, 텍스처링 최적화 부분에서 약간 차이가 있다고 한다. - Skin 3D모델을 같이 받을 건지 아닌지 선택한다. 그런데 3D모델을 받지 않으면 Import Sett..
-
OVR Player Controller VR 멀티 플레이 - 카메라 꼬임 문제 해결법[Unity] Projects & Study/VR 멀티 항만 시뮬레이션 게임 2023. 7. 12. 23:29
배경올해 시작한 프로젝트에서 VR 멀티 플레이를 구현하고 있다. 빌드하는 HMD는 Meta Quest2 Unity에서 OVR Player Controller를 활용. 멀티 플레이용 서버 구축을 위해 Photon 활용.처음에 멀티플레이를 구현한 방법Photon 서버를 통해 room에 접속하도록 한다(+로그인)플레이어가 접속하면 Unity프로젝트에서 Resources 폴더에 있는 NetworkedPlayer라는 Prefab을 Scene에 Instantiate하도록 한다.NetworkedPlayer는 OVR Player Controller를 약간 수정하여 만들었다. (OVR Player Controller자체가 Player로서 역할을 한다고 생각했기 때문에) 문제 상황 1 : 카메라 서로 뒤바뀜, 동작X 여..
-
[Steam 출시] Steampipe 빌드 (+ 잘못된 앱 구성 / 실행파일 누락)[Unity] Projects & Study/Loop - Interactive Movie 2023. 3. 31. 02:23
https://gall.dcinside.com/mgallery/board/view/?id=game_dev&no=56289 스팀 출시와 관련한 과정을 상세히 친절하게 기록해주셔서 큰 도움을 받은 글이다! 영상쪽 팀장분이 이 글 따라 차근차근 진행해주셨고, 나는 이 글 3장의 빌드 관리 부분을 맡았다. 처음에는 exe파일만 압축해서 업로드 했었는데 오류가 발생했다 빌드 폴더 전체를 압축해서 업로드 하기로 했다. 빌드 폴더 용량이 2GB넘을 경우 웹으로 업로드는 안 되고, SDK로 따로 해줘야 한다! https://pleasantstep.tistory.com/m/63 Steamworks Build Upload-SteamPipe(스팀웍스 업로드 - 스팀파이) 스팀에 처음 게임을 출시해보면서 겪었던 중요 과정을 ..