- [ 자체개발 ]
- ||<width=9999><table bordercolor=#000><tablebgcolor=#fff,#50545e>VY1
VY2 Mew ZOLA PROJECT 아논 카논 갸라코 CYBER DIVA Sachiko 아르스로이드 Fukase CYBER SONGMAN Amy Chris Kaori Ken
- [ 합작 ]
- ||<width=9999><table bordercolor=#000><tablebgcolor=#fff,#50545e>
SF-A2 개발코드 miki 토네 리온 유메미 네무 시유 v flower unity-chan! AZUKI MATCHA 미라이 코마치
[clearfix]
1. 개요
2013년 12월 16일 일본의 유니티테크놀러지 재팬에서 정식으로 공개된 유니티 홍보용 캐릭터. 영어명은 Unity-chan. 많은 사람이 단순히 유니티짱이라는 이름으로만 일고 있지만 사실 본명은 오오토리 코하쿠(大鳥こはく)다. 일러스트레이터는 ntny. 귀여운 캐릭터가 있어야 프로젝트 집중도가 높아진다는 취지로 일본에서 제작한 공식 모에화 캐릭터다. 마도베 나나미와 비슷하지만 나나미는 마이크로소프트의 공식 마스코트가 아니라 판매점에서 제작된 비공식이며,[1] 이쪽은 클라우디아 마도베[2]처럼 유니티 테크놀러지 일본 지부에서 만들어졌다.2. 상세
사용은 조건부 무료지만 상황을 봐서 유료인 경우도 있다고 한다. 공식 홈페이지에서 찾을 수 있으며, 2014년 봄부터 라이선스 동의 후 다운로드 가능하다.홈페이지를 통해 3D 모델 및 관련 자료를 무료로 받을 수 있는 등 비교적 자유롭게 사용할 수 있지만 오픈 소스는 아니고 "유니티짱 라이선스"라는 고유의 라이선스를 갖고 있다. 비교적 자유로운 사용이 가능한 라이선스지만 몇가지 제한은 존재한다. 제한내용은 아래와 같은데 CCL 기준으로는 CC BY-SA 라이선스에 부합한다.
- "유니티 라이선스" 로그를 붙여야 함
- 허가 없이 공식적으로 사용하는 것처럼 행세하면 안됨
- 선정적이거나 음란한 콘텐츠라든가 정치적 목적이 있는 곳에 사용하면 안됨
- 영리적인 사용도 가능하지만 매출이 천만 엔을 넘어갈 경우 별도의 상의가 필요함
단순히 그림과 이름만 있는 걸로는 캐릭터로서 성립이 안된다는 이념에 따라 제법 상세한 캐릭터 설정까지 존재한다. 설정상 본명은 "오오토리 코하쿠(大鳥こはく)"고 "유니티짱"은 애칭이라는 모양.
다운로드 페이지에 들어가면 2D, 3D 모델 데이터, 할로윈 의상, Candy Rock Star[3], 보이스 팩 등을 다운로드 받을 수 있다.
일반적인 엔진의 디폴트 캐릭터 모델들이 단단한 갑옷계열이나 타이츠를 입고 있는 데 반해 나풀거리는 복장을 사용해서 상대적으로 캐릭터성을 중요시했다.
유니티짱 1.0 버전 에셋에는 캐릭터 모델과 셰이더, 24가지 모션, 12가지 포즈, 8가지 표정과 다양한 목소리 등 각종 애니메이션 요소가 포함되어 있다. 성우는 카쿠모토 아스카(角元明日香).[4]
3. 앨범
2016년 8월 6일 캐릭터 싱글 앨범이 공개되었다. 공식 홈페이지에서 직접 다운로드 할 수 있다. 총 3개의 곡이 있으며, 각각 Unite in the sky, Twilight, HelloUnity.js 으로 반주버전도 포함되어 있다. 이중, Unite in the sky 는 콘서트 형식의 3D 라이브 스테이지로도 제작되어 공개되었다. 공식홈페이지에서 Candy Rock Star라는 이름으로 편집파일을 다운로드할 수 있고, 유튜브에서도 감상이 가능하다. 유니티 엔진을 능숙하게 다룬다면 직접 파일을 편집해보자. 카메라 기법이나 빛 효과, 파티클 효과 등이 꽤나 봐줄만 하다.3.1. Unite in the sky
作詞 作曲 : naotyu- 編曲 : ???? 歌:ユニティちゃん(角元 明日香)かくもと あすか 存在的には潜在 頭の中は無限大∞ 混沌都市現代に うれしはずかし木霊し参りまして 一方通行突っ走っていく 完璧超人じゃないしけど カッコ悪いなんてことはない 先頭でダッシュー一位を奪取 Amazing your inspiration Our story changes reality(Ah) さてと、 真っ白な箱(せかい)がここからはじまる 未知への興奮がわたしをうごかすんだっ! 縦横無尽に白鳥(とり)のごとく羽ばたく きっと出来ないことなんてないんだよ Unite in the sky! 遊びのセンスは秀才? 時間はなぜか有限だ 楽しいときは一瞬で 一緒にカラカラと笑いあってさ 一切合切妥協しないから 覚悟してついてきてよねでも 大切なこと忘れないでね 楽しむことが一番さ Amazing your inspiration Our story changes reality(Ah) 真っ赤に燃え上がれ太陽のごとく 全力 駆け抜けるわたしがここにいるよっ! 小さなドラマを積み重ね道になる きっと思いがけない出来事も Will be meaningful! いつでも前しか見てないよ 時代がわたしを追い求めてる 真っ白な箱(せかい)がここからはじまる 未知への興奮がわたしをうごかすんだっ! 縦横無尽に白鳥(とり)のごとく羽ばたく きっと出来ないことなんてないんだよ Unite in the sky! 작사 작곡 : naotyu- 편곡 : ???? 노래 : 유니티짱(카쿠모토 아스카 角元 明日香) 존재적으로는 잠재 머릿속은 무한대∞ 혼돈도시 현대에 기쁘고도 부끄러운 메아리가 치고 있어 일방통행으로 달려 나가 완벽초인은 아니지만은 보기에 나쁘지는 않아 선두로 달려 나가 일등을 탈취해 Amazing your inspiration Our story changes reality(Ah) (당신의 놀라운 영감과 우리의 이야기는 현실을 변화시키지) 그럼, 새하얀 상자(세상)가 이곳에서 시작돼 미지를 향한 흥분이 나를 움직이게 해! 종횡무진으로 백조(새)와 같이 날개쳐 분명 불가능한 일 따위는 없어 Unite in the sky! 놀이 센스는 수재? 시간은 어째서인지 유한해 즐거울 때는 순간이야 다함께 하하호호 웃어보자 이것저것 대충하지는 않으니까 각오하고 따라와 줘 그래도 소중한 것은 잊지 말아줘 즐기는 것이 제일이야 Amazing your inspiration Our story changes reality(Ah) (당신의 놀라운 영감과 우리의 이야기는 현실을 변화시키지) 새빨갛게 불타올라라 태양과 같이 전력으로 달려 나가는 내가 이곳에 있어! 짧은 드라마를 이어나가 길을 만들어 분명 생각지 못한 사건도 Will be meaningful! (의미가 있을 거야!) 언제나 앞만 바라보고 있어 시대가 나를 원하고 있어 새하얀 상자(세상)가 이곳에서 시작돼 미지를 향한 흥분이 나를 움직이게 해! 종횡무진으로 백조(새)와 같이 날개쳐 분명 불가능한 일 따위는 없어 Unite in the sky! |
3.2. twilight
3.3. HelloUnity.js
作詞 : 謎のコロッケ使い 作曲 編曲 : naotyu- 歌:ユニティちゃん(角元 明日香)かくもと あすか //あてんしょん! この歌<コード>はUnityちゃんバージョン4.6以上で歌ってね! var moji : UnityEngine.UI.Text; // Are you ready....? //この世界<ゲーム>が生まれた時 それがAwake! function Awake() { var convas = gameObject.AddComponent(UnityEngine.Canvas); // GUI<じーゆーあい>にはこれがないとね! }convas.renderMode = RenderMode.Overlay; //画面に大きく描いちゃうよ! moji = gameObject,AddComponent(UnityEngine.UI.Text); // 画面に文字を書いちゃうよ! var secret = Resources.GetBuiltinResource(typeof(Font), "Arial.ttf"); // 隠しコマンド! ひみつだよ! moji.font = secret; //文字にフォントを設定だ! //この世界<ゲーム>が始まるとき それがStart! function Start() { moji.fontSize = 128; //フォントは大きく設定だ! }moji.alignment = TextAnchor.MiddleCenter; //文字はでっかく中央に! moji.text = "Hello, Unity!!"; // これで準備は万全だ! //この世界<ゲーム>が躍動するとき それがUpdate! function Update(){ var v = Mathf.Sin(Time.time); //うごきの秘密は三角関数! }moji.transform.rotation = Quaternion.Euler(0, 0, v * 360); //画面のまんなか グルグル回るよ! var go = (1 + v); //秘密の値でスケールだ! moji.transform.localScale = Vector3(go, go, go); //さぁ、実行してみよう! 작사 : 수수께끼의 고로케 장인 작곡, 편곡 : naotyu- 노래 : 유니티짱(카쿠모토 아스카 角元 明日香) //어텐션(주의)! 이 노래<코드>는 유니티짱 버전 4.6이상에서 불러야해! var moji : UnityEngine.UI.Text; // Are you ready....? //이 세계<게임>이 태어났을 때 그것이 Awake! function Awake() { var convas = gameObject.AddComponent(UnityEngine.Canvas); // GUI<지,유,아이>에는 이것이 반드시 있어야 해! }convas.renderMode = RenderMode.Overlay; //화면에 커다랗게 그릴거야! moji = gameObject,AddComponent(UnityEngine.UI.Text); // 화면에 문자를 쓸거야! var secret = Resources.GetBuiltinResource(typeof(Font), "Arial.ttf"); // 비밀 커맨드! 비밀이야! moji.font = secret; // 문자에 폰트를 설정한다! //이 세계<게임>가 시작될 때 그것이 Start! function Start() { moji.fontSize = 128; //폰트를 커다랗게 설정해! }moji.alignment = TextAnchor.MiddleCenter; //문자는 엄청 크게 중앙으로! moji.text = "Hello, Unity!!"; //이걸로 준비는 완벽해! //이 세계<게임>가 바쁘게 움직일 때 그것이 Update! function Update(){ var v = Mathf.Sin(Time.time); //움직임의 비밀은 삼각함수! }moji.transform.rotation = Quaternion.Euler(0, 0, v * 360); //화면 한가운데에서 빙글빙글 돌아! var go = (1 + v); //비밀 수치로 스케일이야! moji.transform.localScale = Vector3(go, go, go); //자, 실행해 보자! |
여담이지만, 이미지 앨범에 나와 있는 가사 중 초반부에 오타가 있다.
실제 노래는 이렇게 부르나
//この世界<ゲーム>が生まれた時 それがAwake!
//이 세계<게임>이 태어났을 때 그것이 Awake!
이미지 앨범에는 이렇게 나와 있다.
//この世界<ゲーム>に生まれた時 それがAwake!
//이 세계<게임>에 태어났을 때 그것이 Awake!
곡명 뒤에 [.js] 가 붙은 것은 오타가 아니라 파일 확장자명이다. 유니티 엔진의 스크립트는 주로 자바 스크립트와 C#을 이용하는데(boo도 가능하나 도태 중), js는 자바스크립트의 파일 확장자명이다. 현재는 C#을 더 밀어 주고 있으며, 강의를 찾아봐도 대부분 C#을 이용한 강의이다.
3.3.1. 해설
위 코드를 그대로 유니티 엔진에서 적용시키면 오류를 뱉어낸다. 위 코드가 잘못된 것이 아니라, 유니티 엔진이 업그레이드 되면서 사용되는 명령어와 구성요소의 명칭이 변경된 결과이다. 유니티 짱이 발표되었던 4.6버전은 2014년 11월 25일에 발표되었는데, 2015년 3월 유니티 5.0 버전이 발표되면서 유니티에서 공식적으로 Unity GUI(UGUI) 시스템을 지원하기 시작하였고 그에 따라 GUI 아키텍처에도 대대적인 수정이 가해져 이후의 코드들은 유니티 4.x 이하의 버전의 코드와는 전혀 다른 메커니즘으로 동작하게 되었다.유니티 5.x 버전 이상 (5.x, 2017.x, 2018.1 beta)에서 동작하도록 C#으로 번역한 가사는 다음과 같다.
작사 : 수수께끼의 고로케 장인 작곡, 편곡 : naotyu- 노래 : 유니티짱(카쿠모토 아스카 角元 明日香) //어텐션(주의)! 이 노래<코드>는 유니티짱 버전 5.x 이상에서 불러야해! using UnityEngine.UI;[5] Text moji; // Are you ready....? // 이 세계<게임>이 태어났을 때 그것이 Awake! void Awake() { Canvas canvas = gameObject.AddComponent(); // GUI<지,유,아이>에는 이것이 반드시 있어야 해! canvas.renderMode = RenderMode.ScreenSpaceOverlay; // 화면에 커다랗게 그릴거야! moji = Instantiate(new GameObject(), gameObject.transform).AddComponent<Text>(); // 화면에 문자를 쓸거야! moji.GetComponent<RectTransform>().sizeDelta = new Vector2(1280, 1280); Font secret = (Font)Resources.GetBuiltinResource(typeof(Font), "Arial.ttf"); // 비밀 커맨드! 비밀이야! }moji.font = secret; // 문자에 폰트를 설정한다! // 이 세계<게임>가 시작될 때 그것이 Start! void Start() { moji.fontSize = 128; // 폰트를 커다랗게 설정해! }moji.alignment = TextAnchor.MiddleCenter; // 문자는 엄청 크게 중앙으로! moji.text = "Hello, Unity!!"; // 이걸로 준비는 완벽해! // 이 세계<게임>가 바쁘게 움직일 때 그것이 Update! void Update () { float v = Mathf.Sin(Time.time); // 움직임의 비밀은 삼각함수! moji.transform.rotation = Quaternion.Euler(0, 0, v * 360); // 화면 한가운데에서 빙글빙글 돌아! float go = (1 + v); // 비밀 수치로 스케일이야! }moji.transform.localScale = new Vector3(go, go, go); // 자, 실행해 보자! |
자바스크립트에서 C#로 넘어오면서 var 자료형이 구체적인 자료형으로 바뀐 것을 제외하고는 큰 변화가 없어 보이지만, '화면에 문자를 쓸거야!' 줄과 바로 아래 주석이 없는 단 한 줄이 유니티 5.x로 넘어오면서 생긴 차이점이다. Canvas 속성(컴포넌트)가 붙는 순간 오브젝트에 붙어있던 기존의 Transform 속성은 잠가지고 RectTransform이라는 유니티 5.x에서 추가된 GUI 전용 속성이 붙는다. 기존대로 transform을 쓸 경우 텍스트가 돌지 않거나 심지어 화면에 출력조차 되지 않는 문제를 발생시킨다.
위 코드는 가사에 맞게, 동작은 하게 번역만 한 코드이지만 메모리를 아끼는 방향으로 보다 최적화가 가능하다. 여유가 된다면 시도해 보자.
4. 기타
4.1. 괴리성 밀리언아서
괴리성 밀리언아서 에서 2015년 8월에 콜라보 이벤트를 열었다. 내용은 치아리 퀘스트 BGM이 유니티짱의 테마곡으로 바뀌고, 보스방에서 일정확률로 유니티짱이 출현하는것. 그리고 가차 카드로 4세력마다 특색 있는 복장을 한 유니티짱 4종류가 출시된다. 치아리 토벌시 유니티짱의 카드를 입수할 수 있는데 성능은 이전 GW이벤트의 약산형 우아사하와 속성 빼고 동일하지만 보스로 만나는 패턴에서야 입수 가능했던 우아사하와 달리 보스로 굳이 만나지 않는 패턴이라도 명성보상으로 획득 가능하여 작정하고 달려서 하루안에 명성 100을 찍는 유저를 종종 볼 수 있었다. 황당하게도 카드 경험치가 밀리언 치아리의 1.5배로 설정되어있기에 유니티짱 8장을 먹이면 MR 1레벨에서 MAX까지 가능했다.4.2. VOCALOID unity-chan!
2015년 8월에 VOCALOID 사용법을 다룬 잡지 “보컬로이드P가 되고 싶어!“와 콜라보 소식을 알렸다. 잡지 26호에 특별 출연했다. 그리고 그 다음날 보컬로이드와의 콜라보 소식을 전달, 2015년 12월 21일에 라이브러리가 공개되었다. 2016년 1월 14일에 'unity-chan!'이라는 이름으로 유니티짱의 VOCALOID 라이브러리가 발매되었다. 추천 음역은 G2~G4, 추천 템포는 80~220 BPM이다.ユニティちゃんオリジナル曲이라 검색해야 결과가 나온다.
4.3. 학습 교재
위키북스의 초보자를 위한 유니티5 게임 제작 가이드라는 책 표지에 커다랗게 그려져 있다.4.4. 게임
유니티짱이 주인공인 게임으로는 유니티짱의 액션슈팅과 COGEN: 오오토리 코하쿠와 시간의 검이 있는데, 후자의 경우 록맨 시리즈의 정신적 후속작 중 하나인 하얀 강철의 X 2와의 콜라보레이션이 성사되어 보스 캐릭터로 등장하기까지 한다.Runbow라는 게임에서도 특정 도전과제를 해금하면[6] 플레이어블 캐릭터 중 하나로 사용할 수 있다. 다른 캐릭터들은 단순하게 묘사되어있는데 유니티짱은 쓸데없을 정도로 구체적으로 묘사된 게 특징.
블루 아카이브에서 개발 당시 프리젠테이션/프레스용으로 내놓은 목업 스크린샷에 임시 모델링으로 유니티짱의 디폴메 모델링이 사용되었다.
4.5. VRChat
VRChat Inc.에서 개발한 무료 가상현실 보이스 채팅 게임인데 기본 아바타중 하나로 선택가능하며, 기본아바타중 모에계 캐릭터로서 유일하다. 기본적인 마스코트 캐릭터로 자리잡았다. 일단 Unity엔진을 기반으로 돌아가는 게임이다보니 자연스레 유니티 홍보용 캐릭터가 주인공으로 자리잡은 듯 하다.4.6. A.I.VOICE
2023년 8월 5일 A.I.VOICE로 발매되었다. 또한 유니티(게임 엔진) 에디터에서 음성을 합성할 수 있는 확장 기능 A.I VOICE for GAMES도 함께 출시 되었다.5. 유니티짱 오리지널 곡
자세한 내용은 음성 합성 엔진 오리지널 곡 문서의 유니티짱(오토리 코하쿠) 부분을
참고하십시오.6. 기타
지금의 유니티짱이 좀 더 사람다운 모습이라면, 프로토타입은 휴머노이드 같은 느낌. 이 버전이 적용되지 않은 이유는 개발자 측에서 '프로토타입 유니티짱'에 대해 "캐릭터가 아니다"라는 결론을 내렸다. '귀엽긴 하지만 느낌이 딱 오지 않았다', '그냥 귀여운 여자애가 예쁜 옷을 입고 있을 뿐, 뭔가 너무 평범해보인다' 등의 그들만의 주관적인 '감'이 가장 큰 이유였다고. 무엇보다 '그리기가 어렵다'는 것도 프로토타입을 포기하게 된 이유 중 하나였다. 누군가 이 캐릭터를 봤을 때 '나도 그릴 수 있겠다', '나도 그려보고 싶다'는 느낌을 주고 싶었다고 한다. 더욱 자세한 사항은 기사를 참조.설정상 카레 고로케를 엄청 좋아한다. 한정 그림까지 있을 정도. 유니티짱이 태어나고 자라난 '코겐 시티'라는 항구 도시에서 어느 할머니가 운영 중이었던 전통의 고로케 가게에서 고로케를 많이 먹었다고 한다. 그 외에 설정상 좋아하는 음식으로 오므라이스나 치킨 라멘이 있다.
알아보기 어렵지만 사실 하의 디자인이 파격적이다. 앞트임 & 옆트임 미니스커트에 스쿨미즈를 입고 있다.
7. 외부 링크
[1] 마이크로소프트의 일본 지부는 정식으로 인정했으나 MS 전체가 인정한 것은 아니다. 아직까지 일본 만화영화 풍의 마스코트중에서 전세계 공식으로 나온 것은 MS 오피스 길잡이 중 "이쁜이"(일본 명칭 冴子先生) 하나 뿐이다. 나머지는 배급사에서 자체 제작하거나 마이크로소프트 일본이나 마이크로소프트 대만에서 자체 제작돼서 지역에 국한된 마스코트다.[2] 마이크로소프트 일본 지부에서 만들었다.[3] 동봉된 곡, Unite in the sky의 작곡가가 naotyu-이다. 작편곡 명의로는 본명과 명의를 섞은 Naoki”naotyu-”Chiba를 사용. 왜죠[4] 버츄얼 씨는 보고 있어에서 유일하게 참여가 확인되고 있는 성우로 캐스팅에도 일단 이름이 올라있다.[5] 실제로 돌려볼 때 이 줄은 클래스 바깥으로 빼 줘야 한다.[6] 도전과제명은 chan-tastic. 옵션에서 세팅을 kawaii로 맞추면 달성된다.