[Unity] Projects & Study/Loop - Interactive Movie
-
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로 변환할때에는..
-
[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(스팀웍스 업로드 - 스팀파이) 스팀에 처음 게임을 출시해보면서 겪었던 중요 과정을 ..
-
사용자의 게임 기록 저장&불러오기 - Json파일 저장[Unity] Projects & Study/Loop - Interactive Movie 2023. 3. 9. 15:11
1. 파일이 존재하지 않으면 JsonMake()함수로 만들기 public void JsonMake() { SaveData saveData = new SaveData(); saveData.isVisit[0] = true; for (int i = 1; i < 21; i++) { saveData.isVisit[i] = false; } for (int i = 0; i < 9; i++) { saveData.ending[i] = false; } GameManager.I.continueScene = "Scene1"; saveData.continueScene = GameManager.I.continueScene; string json = JsonUtility.ToJson(saveData, true); File.Writ..
-
[Unity] fade out 퀄리티 개선[Unity] Projects & Study/Loop - Interactive Movie 2023. 2. 5. 10:44
지금껏 fade In/Out 효과를 쓸 일이 굉장히 많았는데, 이전 프로젝트까지는 늘 그저 time을 통해서 alpha값을 빼주는 코드로 구현했었다. 이번에는 문득 이 효과가 뚝뚝 끊기면서 밝아지거나 어두워지는, 조금은 부자연스럽다는 느낌이 들었다. 어떻게 하면 더 자연스럽게 구현할지 고민하다가, 예전에 Vector값을 옮길때 부드럽게 하기 위해서 Lerp함수를 썼던 것이 생각나서, Color도 Lerp함수가 제공되는지 찾아보니 예상대로 존재했다! Color.Lerp()를 이용하니 체감상 훨씬 자연스러운 Fade In/Out효과를 구현할 수 있었던 것 같다. 기존 코드 using System.Collections; using System.Collections.Generic; using UnityEngin..
-
[Unity]Interactive Movie Development[Unity] Projects & Study/Loop - Interactive Movie 2022. 9. 19. 21:03
1. 시작 과정 디자인미디어학과 학생들께서 인터랙티브 무비(게임) 제작을 준비하고 계시다고한다. 영상 제작팀과디자인팀은 있는데, 게임 제작을 위한 개발자가 없다고 의뢰를 주셨다. 유니티를 통해 이 게임의 영상 순서 컨트롤 등 개발을 해보려고 한다. 2. 출시 플랫폼 제공하고자 하는 플랫폼은 Steam, Google PlayStore이다. 기존에는 유튜브를 통해 제공하고, 영상이 끝날 쯤에 미리보기 기능으로 엔딩을 결정할 수 있도록 할 계획이라고 하셨었다. 그 다음 텀블벅으로 신청을 완료하신 분들께 유튜브 링크를 보내드릴 계획이라고 하셨다. 그러나 이 방식은 텀블벅을 통해서만 진입이 가능하므로 접근성이 상당히 떨어진다는 판단이 들었다. Steam이나 앱스토어에 게임을 출시하면 어떻겠냐는 의견을 드렸고, 그..