사운드를 오브젝트에 삽입하게 되면

오디오소스 아이콘(혼모양) 이 생겨 디자인에 방해가 된다

이때는 아래 처럼

SCENE 의 Gizmos 메뉴에서 아래 항목을 제거 하면된다.

 

 

js 코드 내용을 c# 코드로 변경해 주는 사이트

http://www.m2h.nl/files/js_to_c.php

 

window form 에서 unity 게임을 실행하는 소스입니다.

https://github.com/kjundev/WinFormUnity

 

winform

 

CefSharp

 

https://github.com/sschmid/Entitas-CSharp

 

Missing adactivity with android.configchanges in androidmanifest.xml

구글 애드몹 광고를 붙이려는데 위와 같은 에러가 발생되었다

androidmanifest.xml

파일에 아래 내용을 추가하면 된다.

<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
<activity android:name="com.google.android.gms.ads.AdActivity" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
</activity>

오늘 포스팅할 내용을 요약하면

유니티에서 WebGL 로 빌드하여 IIS 올린후 이를 WinForm 에서

CefSharp 를 이용해 실행이 가능하도록 하는것입니다.

쉽게 말하면 WinForm 에서 웹브라우저(CefSharp의 ChromiumWebBrowser)를 이용해 IIS 에 올려진 게임을 실행한다라고 할수 있겠네요

 

우선 Unity 게임을 WebGL 로 빌드하는 방법은 아래 포스팅을 참고해 주세요

2017/10/17 - [Unity] - (Unity) WebGL 로 빌드하기

또 WebGL 로 빌드된 내용을 IIS 에 올리는 방법은 아래 포스팅을 참고해 주세요

2017/10/18 - [Unity] - (Unity) WebGL 파일 IIS 올리기

 

이제 시작해 보겠습니다.

우선 WinForm 프로젝트를 하나 만듭니다. (참고로 전 Visual Studio 2017 Community 버전사용)

프로젝트 우클릭 메뉴에서 'Nuget 패키지 관리'를 클릭합니다.

CefSharp 으로 검색하여 CefSharp.WinForms 을 설치합니다.

(아래 그림에서 전 이미 설치가 되어있어서 제거 버튼이 보이는데 최초 설치시에는 설치 버튼이 보입니다.)

설치가 완료되면 아래와 같이 코딩합니다.

 

        public ChromiumWebBrowser chromeBrowser;
        public CefSharpForm()
        {
            InitializeComponent();
            InitializeChromium();
        }
        public void InitializeChromium()
        {
            CefSettings settings = new CefSettings();
            settings.BrowserSubprocessPath = @"x86\CefSharp.BrowserSubprocess.exe";
            Cef.Initialize(settings, performDependencyCheck: false, browserProcessHandler: null);
            chromeBrowser = new ChromiumWebBrowser("http://192.168.0.4:7870/index.html");
            //chromeBrowser = new ChromiumWebBrowser("https://www.youtube.com/watch?v=uO4BMId9e0w&t=4742s");
            //chromeBrowser = new ChromiumWebBrowser(@"D:\[00]Window\Desktop\all\DeskTop\unity\webgl-release\index.html");
            this.Controls.Add(chromeBrowser);
            chromeBrowser.Dock = DockStyle.Fill;
        }
        protected override void OnClosing(CancelEventArgs e)
        {
            Cef.Shutdown();
            base.OnClosing(e);
        }

OnClosing 은 Form 의 Closing  이벤트와 연결해 주면됩니다.

코딩은 ChrominumWebBrowser 을 이용해서 IIS 에 올려진 게임파일을 실행하게 하는것입니다.

(코딩이 간단해서 굳이 설명은 필요없어보이네요;;)

단, 유니티 게임이 실행은 되는데 소리가 안납니다.

위코드에서 보시면 알겠지만 유투브 연결을 해보니 유투브는 소리가 납니다.

아마도 제가 먼가 놓친부분이 있는거 같은데 이부분은 해결해 봐야겠네요

(추가로 파일을 바로 물리는건 되지 않습니다. 반드시 IIS 올려야만 실행이 가능합니다.)

 

egde 로는 파일(index.html)로도 실행이 가능합니다. 왜그런건지는 모르겠습니다.;;;

이전에는 크롬에서도 index.html 파일로 직접 실행이 되었던 걸로 아는데 이번엔 안되네요;;

Chrome 으로 WebGL 로 Build 해서 나온 파일을 실행하면 먹통이 되거나

아래처럼 메세지가 나옵니다.

파일을 직접 실행하는건 안되고 서버에 올려야하는것 같아서 IIS 에 물려서 했으나 또 아래와 같은 에러가 발생됩니다.

제가 저 에러를 보고 엄청 삽질을 했습니다.

<  예상하지 못한 토큰이 있다고 하여 index.html 파일등을 열심히 봤습니다.;;;

그런데 이유는 다른데 있었습니다.

webgl 로 빌드해서 떨궈진 파일에서 Bulid 폴더로 가서 보면

.unityweb 확장자가 있는것을 볼수 있습니다.

하여 MIME 형식을 추가해 주었습니다.

.unityweb

application/octet-stream

을 추가해줍니다.

다시 접속해 봅니다.

아래 그림과 같이 실행이 정상적으로 됩니다.

제발 오류 메세지 좀 친절했으면 ㅜㅠ

인터넷창에서도 unity 가 실행이 가능하다고 하여 해봤습니다.

빌드셋팅에 들어가서 아래 처럼 WebGL 을 선택합니다.

Build 가 비활성화 되어있는데 활성화 시키려면 Open Download Page 버튼을 눌러

파일을 다운받아 설치해야합니다.

아래는 설치 과정입니다. Unity 는 닫아줘야합니다.

Visual Studio 도 종료해야합니다.

설치에 좀 시간이 걸립니다.

설치가 완료되고 다시 Unity 를 실행하여 빌드 셋팅에 들어가면 Build 가 활성화 된것을 볼수 있습니다.

Build And Run 합니다.

위처럼 개발자 모드로 하게되면 게임실행시 오류로그가 화면의 우측하단에 나타납니다.

배포 시에는 반드시 체크를 해제해야합니다.

Edge 에서 실행된 화면입니다.

Chrome 에서 실행된 화면입니다.

아래처럼 위 내용을 응용하여 윈폼에서도 동작하게끔 할 수 있습니다.

Internet Explor 에서는 WebGL이 지원되지 않아서 실행되지 않습니다.

유니티를 설치 과정입니다.

https://store.unity.com/kr/?_ga=2.130407311.1010062226.1504273390-205883155.1489915257

위 링크로 가면 아래와 같은 화면이 나오고 무료로 사용하기 위해 Personal 을 선택합니다.

아래와 같은 화면이 나오고 Windows 를 선택합니다.

https://store.unity.com/kr/download?ref=personal

그럼 설치 파일이 다운로드 됩니다.

(유니티에서 다운 받는 설치파일은 설치파일을 다운로드하는 역할을 합니다.)

편집기로 Visual Studio 2017 가 선택되어 설치가 동시에 진행됩니다.

(전 이미 설치되어있는데도 설치가 진행되는데 왜그런지는 모르겠네요;;)

설치가 필요하신분들은 아래 처럼 두시고 설치를 진행하면 Visual Studio 도 설치가 진행됩니다.(이부분은 생략)

이제 실제 설치 파일이 다운로드되고 있는중입니다.

설치가 완료되었습니다. 바로 Unity 를 실행해봅니다.

유니티는 반드시 계정이 필요합니다.

계정이 없으면 아래 링크로 들어가 회원가입을 해야합니다.

https://id.unity.com/ko/conversations/3984c939-3cbd-4288-8034-6b36ffcd53a100bf

로그인을 하면 아래처럼 어떤걸 사용할건지 선택하는데 Personal 을 선택합니다.

두번쨰꺼 선택 ..

이제 Unity 로 먼가 만들준비가 완료되었습니다.^^

아래는 유니티에서 빌드할수 있는 platfrom 입니다.

실제 배포를 하기 위해서는 keystore 를 만들고 적용해야 배포가 가능합니다.

이전에 포스팅한것 과 같이 Build Setting 로 들어가 Player Setting 을 클릭합니다.

우측에 Publishing Settins 에서 아래 처럼 Create New KeyStore 를 체크하고 Browse Keystore 를 클릭하고

Keystore 이름을 지정한 후 저장합니다.

아래처럼 키 정보를 입력합니다. 항목은 아래 내용 참고하여 적으세요 비밀번호가 중요합니다.

이제 앞서 선택한 keystore 가 자동으로 선택되고 아래 Key 항목에서 kjun (Alias 이름 ) 을 선택하고 비밀번호를 적습니다.

이렇게 하고 Build 해야 구글 플레이에 배포가 가능합니다.

+ Recent posts

티스토리 툴바