안녕하세요 사마사마입니다.


구글 번역기 많이 쓰시죠?

쉬운 번역 기능도 마음이 들지만, 스피커를 눌러서 번역 문장 읽어주는게 개인적으로 참 재미있더라고요...


혹시나~! 구글 번역기 쓰면서 음성을 파일로 저장하고 싶은데 방법을 모르셨던 분들!

좋은 팁이 있어서 공유합니다.


제가 직접 해본거라서 차근차근 설명을 해 드리려고 합니다.

그대로 따라하면 쉽게 이해할 수 있으니 도전~!


우선 크롬 브라우저가 필요합니다.

(다른 브라우저에서 될 수도 있으나, 전 크롬에서만 해봤기 때문에 크롬 기준으로 설명합니다.)

크롬 브라우저가 깔려있지 않다고요? 그럼 설치하심 됩니다. 무료입니다.

크롬 브라우저 다운로드 : https://www.google.com/intl/ko_ALL/chrome/



크롬을 다운로드 하셨으면 구글 번역기 페이지를 열어주세요.

사이트 주소 : https://translate.google.co.kr/


저는 임시로 "구글 TTS파일을 다운로드 할 수 있습니다." 라는 TEXT를 적었습니다.




다 적으셨으면 이제 개발자 모드로 들어가 보겠습니다.

단축키 "F12"를 누르면 크롬 개발사 모드가 열리면서 오른쪽에 창이 하나 생기게 됩니다.

그 창에서 Network > Media 메뉴를 클릭하세요.

그리고 번역기의 스피커 모양을 누르시고 TTS 음성을 들으면 오른쪽에 리스트가 하나 생기게 됩니다.

그게 TTS 음성 파일의 저장 정보입니다.



그 리스트를 오른쪽 마우스로 클릭하고 "Open in new tab" 메뉴를 클릭합니다.


메뉴를 클릭하면 새로운 탭이 열리면서 음성 파일만 플레이 되게 됩니다.


그 창에서 오른쪽 마우스를 누르고 "다른 이름으로 저장"을 클릭하고 내 컴퓨터에 Voice 파일을 저장합니다.


저장하고 싶은 위치에 저장을 하고 확인을 누르면 mp3 파일이 저장됩니다.

translate_tts.mp3 라는 파일명으로 저장아 됩니다.

폴더에 저장이 잘 되었으면 성공한 것입니다. 완료~! 참 쉽죠? ^^



혹시 어떻게 음성이 들리는지 궁금하실 수 있어서 translate_tts.mp3는 파일로 업로드 해 놓겠습니다.

어차피 딱히 의미는 없겠지만.. 호옥시 모르니... 





좀 더 쉽게 핵심만 짚어서 동영상으로도 구성해 보았습니다. 한번 쭉 보시면 아~아~ 하실꺼에요 :)

최근 에프터이팩트 공부하고 있는데 공부할겸 짬짬히 동영상도 만들어 보고 있습니다. ^^

도움이 되셨다면 유튜브 좋아요 구독, 공유... 뭐 그런거 하심 제가 참 기분이 좋을 것 같습니다. ^0^

당근 블로그도 좋아요, 공유... 해주심 좋아요... ㅎㅎ





WRITTEN BY
사마사마
IT, 게임 그리고 유익하고 재미있는 다양한 정보를 소개합니다.

트랙백  0 , 댓글  1개가 달렸습니다.
  1. 익명 가능한 자유로운 분위기의 유튜브 크리에이터(유튜버) 커뮤니티입니다. 한번 방문해 보시고 많은 참여바랍니다. http://bit.ly/2IXU74F
secret


애프터이펙트를 하다가 동영상 랜더링을 할 때 황당한 에러가 발생하곤 합니다.


After Effects 오류 : "ㄴㄷㅎㅁㄴㄷㅎㅁㄴㄷㅎ" 파일에 쓰는 동안 렌더링 오류가 발생했습니다. (-1610153453)


이런 식의 오류입니다. 대게 랜더링 옵션에서 AVI를 H.264로 지정했을 때 자주 발생한다고 하는데... 제가 보기엔 꼭 그런것 때문만은 아닌 듯 하고요..




제가 확인해본 결과로 오류는 바로 파일의 저장 경로에 있습니다.

저장 경로에 한글이 포함되어 있으면 100% 오류가 발생합니다.





영어로 저장경로를 바꿨더니 오류가 발생하지 않더군요..

혹시 모르니 에프터이펙트 작업을 하실 때는 한글 폴더를 사용하지 말아주세요! 정신건강에 해로울  수 있습니다. ^^;;



<오늘의 팁!>


(-1610153453) 오류 발생시!


저장 폴더에 한글이 포함되어 있는건 아닌지 확인한다!


WRITTEN BY
사마사마
IT, 게임 그리고 유익하고 재미있는 다양한 정보를 소개합니다.

트랙백  0 , 댓글  0개가 달렸습니다.
secret


애프터이펙트(Adobe After Effects)를 사용하는데 유용한 단축키 모음입니다.


레이어 시작(끝)부분 맞추기

<단축키 설명>

[ : 레이어 시작 부분 맞추기

] : 레이어 끝 부분 맞추기


예제)

맨위의 빨강색 레이어를 기준으로 합니다.(마커를 중간에 설정하고 해당 레이어를 선택한 상태)


단축키 "["를 눌렀을 경우

레이어의 앞부분이 마커 에 붙습니다.


단축키 "]"를 눌렀을 경우

레이어의 뒷부분이 마커에 붙습니다.



레이어 앞(뒤) 자르기

<단축키 설명>

alt + [ : 레이어 앞 부분 자르기

alt + ] : 레이어 뒷 부분 자르기


예제)

위에서 세번째 하늘색 레이어를 기준으로 합니다.(마커를 중간에 설정하고 해당 레이어를 선택한 상태)


단축키 "alt + ["를 눌렀을 경우

레이어의 앞 부분이 잘렸습니다.



단축키 "alt + ]"를 눌렀을 경우

레이어의 뒷 부분이 잘렸습니다.



레이어 잘라서 나누기

<단축키 설명>

ctrl + shift + D : 레이어 잘라서 나누기



예제)

위에서 세번째 하늘색 레이어를 기준으로 합니다.(마커를 중간에 설정하고 해당 레이어를 선택한 상태)



단축키 "ctrl + shift + D"를 눌렀을 경우

동일한 레이어가 복사되면서 위아래로 잘려서 나누어졌습니다.


작업구간 설정하기

<단축키 설명>

B : 시작 설정하기

N : 끝 설정하기


마커에 맞춰서 Work Area를 설정합니다.

Work Area는 램프리뷰나 실제 렌더링 할때 랜더링 되는 지정된 구간을 뜻합니다.


예제)

위에 Work Area는 전체로 설정되어 있으며 중간에 마커를 두었습니다.



단축키 "B"를 눌렀을 경우

마커를 기준으로 Work Area의 시작이 맞춰집니다.


단축키 "N"를 눌렀을 경우

마커를 기준으로 Work Area의 끝이 맞춰집니다.



컴포지션 작업 창 닫기

<단축키 설명>

ctrl + W : 시작 설정하기


작업을 하다보면 컴포지션이 많아지는데요, 해당 컴포지션 창을 닫는 기능입니다.


예제)



단축키 "ctrl + W"를 눌렀을 경우

창 사라짐. 창만 사라지며 삭제되는 것은 아닙니다.



레이어의 크기를 컴포지션 크기에 딱 맞게 맞추기

<단축키 설명>

ctrl + alt + F : 시작 설정하기


예제)

컴포지션 영역에 비하여 이미지 크기가 너무 작은 상태

단축키 "ctrl + alt + F"를 눌렀을 경우

컴포지션 영역에 딱 맞게 이미지(동영상 포함)가 맞춰졌습니다.

(이미지 크기가 컴포지션 영역과 비율이 안맞을 경우 이미지가 늘어나 보일 수 있습니다.)




별건 아니지만 모르셨다면 도움이 되셨으면 좋겠습니다.

에프터이펙트는 하면 할수록 단축키를 모르면 작업이 너무 불편한 것 같습니다. ㅠㅠ


다음에 또 한차례 정리할게요!

감사합니다.


WRITTEN BY
사마사마
IT, 게임 그리고 유익하고 재미있는 다양한 정보를 소개합니다.

트랙백  0 , 댓글  0개가 달렸습니다.
secret

안녕하세요 철사마입니다.

오랜만에 유니티 팁을 기억해 놓으려고~ 개발 포스팅을 하게 되었습니다. :)

(이미지 출처 : 구글 이미지 검색)


따지고 보면 별건 아닌데, 모를 때는 방법을 몰라 매우 궁금했던 것인데요.

바로 화면 해상도 고정 방법입니다.


예를 들어 유니티에서 화면에 보이는 모습과 핸드폰에 보이는 모습이 다를 경우가 있습니다.

특히 2D의 경우는 더 심한데 개발시 화면에 보이는 것과 핸드폰이 동일해야 개발할 때 예측이 잘 될거라서 실제 화면과 다르다면 개발할 때 참 불편할 것입니다.


분명 방법이 있을 것 같아서 여기저기 찾아보니 이런 쉬운 방법이 있더군요!


바로 SetResolution 이라는 함수를 쓰면 쉽게 할 수 있습니다. 두둥~


Screen.SetResolution


public static void SetResolution(int width, int height, bool fullscreen, int preferredRefreshRate = 0);


화면의 해상도를 전환합니다.


A width by height resolution will be used. If no matching resolution is supported, the closest one will be used.


If preferredRefreshRate is 0 (default) Unity will switch to the highest refresh rate supported by the monitor.

/preferredRefreshRate/가 0이아니면 유니티는 모니터가 지원한다면 사용하고, 아니면, 지원되는 highest중 하나를 선택할 것입니다.


웹 플레이어상에서는 사용자가 컨텐츠를 클릭한 후에 해상도가 변경됩니다. The recommended way of doing it is to switch resolutions only when the user clicks on a designated button.


On Android fullscreen controls the SYSTEM_UI_FLAG_LOW_PROFILE flag to View.setSystemUiVisibility(), on devices running Honeycomb (OS 3.0 / API 11) or later.


On Windows Store Apps, switching to non-native resolution is only supported starting from Windows 8.1 and newer.


전체화면 전환은 바로 적용되지 않습니다; 현재 프레임이 끝날 때 적용됩니다.

// Switch to 640 x 480 fullscreen

Screen.SetResolution(640, 480, true);


다른 예제:

// Switch to 640 x 480 fullscreen at 60 hz

Screen.SetResolution (640, 480, true, 60);


다른 예제:

// Switch to 800 x 600 windowed

Screen.SetResolution (800, 600, false);


See Also: resolutions property.

출처 : UNITY 스크립팅 API



좀 더 쉽게 설명을 하자면...


Screen.SetResolution(가로 픽셀, 세로 픽셀, full screen 유무, 지원되는 해상도 지정-기본 0으로 설정되어 있음);


640x480 사이즈에 Full Screen 으로 설정하고 싶다면

Screen.SetResolution(640, 480, true);

이렇게 하시면 됩니다.


주의할 점은 최초 실행시 실행되는 스크립트에 적어주셔야 정상적으로 적용이 됩니다.


그럼 테스트를 위해 몇가지 단계를 순서대로 진행해 보겠습니다. 스탭바이 스탭으로 진행되니 길어도 쉽게 읽어보심 바로 아실 것 같아요!


우선 유니티 새 프로젝트를 만드시고...


예제로 유니티에선 화면 사이즈를 720x1280으로 설정해 보았습니다.

그리고 사이즈가 꽉 차게 나오는지 양 모서리에 이미지를 위치하였습니다. 



양 모서리에 들어간 이미지는 새해라서 .. 돼지해 이미지로 했습니다. :) 이미지는 인터넷 검색으로...

새해 복 많이 받으세요 ^^



테스트를 위해서 대충 한거긴 한데.. 설명을 하자면,

Scene에서 Empty한 Game Object를 생성하시고.. 전 Canvas라고 이름을 정했습니다.

그 Object에 C# 스크립트를 하나 생성해서 붙였습니다. 전 스크립트 이름을 script.cs로 정했습니다.


script.cs 스크립트에 해상도 설정 스크립트를 추가합니다.

이 함수는 최초 실행시에 불려야 하기 때문에 Start() 보다 빠른 Awake()에 붙여 넣었습니다.


    void Awake()

    {

        Screen.sleepTimeout = SleepTimeout.NeverSleep;

        Screen.SetResolution(720, 1280, true);

        

    }


위에 Screen.sleepTimeout = SleepTimeout.NeverSleep; 코딩은 게임 실행 중 화면이 꺼지지 않게 하는 설정입니다. 참고해 주시고...



맨 위의 Rect Transform 에 나오는 사이즈는 Game View의 화면 사이즈입니다.

화면 사이즈를 720x1280으로 설정해 주시고,



Canvas Object에 script.cs 파일을 연결해 주었습니다.


그 후에 Add Component를 클릭하여 [Canvas] 와 [Canvas Scaler (Script)] 를 우선 추가합니다.


Canvas 에서는

Render Mode 에서 Screen Space - Camera 로 설정해서 메인 카메라와 동기화를 시킵니다.


Render Camera 항목에 메인 카메라를 적용 시킵니다. 


Canvas Scaler (Script) 에서는 

UI Scale Mode 에서 Scale With Screen Size로 설정하여 Canvas Object의 하위 리스트에서도 동일하게 Scale이 적용할 수 있도록 설정합니다.


그리고 스케일의 기준 값을 720, 1280으로 적어줍니다.

아래 보이는 Match는 720x1280을 벋어나는 해상도가 있을 때 어디를 기준으로 Match를 할 것인지를 결정합니다.

Width로 하면 가로, Height 로 하면 세로를 기준으로 스케일이 진행됩니다.




여기까지 설정했으면 끝입니다.

빌드를 해보고 폰에 담아보면 이렇게 나옵니다.

이미지는 대충 위치한거라 조금 오차가 있네요..;;


보시면 잘 맞지요? 이런 식으로 화면 해상도를 기준하여 작업하면 개발이 좀 더 수월해 질 거 같습니다.


혹시 다른 팁이 있으신 분은 알려주세요!

처음 개발할 때 틀을 잡는게 매우 어렵더라고요..

정보 공유해요! :)


감사합니다.!



WRITTEN BY
사마사마
IT, 게임 그리고 유익하고 재미있는 다양한 정보를 소개합니다.

트랙백  0 , 댓글  0개가 달렸습니다.
secret


안드로이드 스튜디오로 간단하게 플래시가 나오게 작업을 해보았습니다.

그런데 정상작동을 안합니다. 오류도 없고..

이리저리 다 해봤는데 모르겠네요.. 


나중에 해결되면 업데이트 하려고 블로그에 백업해 놓습니다. ^^

혹시 아시는 분 댓글 달아주세용...


조사해본 결과로 카메라 관련 퍼미션은 아래의 내용 정도로 모두 되는 것 같습니다.


    <uses-permission android:name="android.permission.CAMERA"/>

    <uses-permission android:name="android.permission.FLASHLIGHT"/>

    <uses-feature android:name="android.hardware.camera"/>

    <uses-feature android:name="android.hardware.camera.flash"/>


소스는 아래와 같은데. 작동은 안됩니다.

참~ 이상하군용 @_@


package com.example.cholm.flashlight;

import androidx.appcompat.app.AppCompatActivity;
import android.hardware.Camera;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements View.OnClickListener{

private Button onOffButton;
private Camera _camara;
private Camera.Parameters parameters;
private boolean isFlashOn = false;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
onOffButton = (Button) findViewById(R.id.button);
onOffButton.setOnClickListener(this);
}


public void getCamera(){
if(_camara == null){
try{
_camara=Camera.open();
parameters= _camara.getParameters();
}
catch (Exception ex)
{
Toast.makeText(this, ex.toString(), Toast.LENGTH_LONG).show();
}

}
}

@Override
public void onClick(View view){
if(view == onOffButton){
if(isFlashOn){
turnoffFlash();
}
else
{
getCamera();
tuneOnFlash();
}
}
}

public void tuneOnFlash()
{
try{
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
_camara.setParameters(parameters);
_camara.startPreview();
isFlashOn=true;
onOffButton.setText("OFF");
}
catch (Exception ex){
Toast.makeText(this, ex.toString(), Toast.LENGTH_LONG).show();
}
}

public void turnoffFlash(){
try{
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
_camara.setParameters(parameters);
_camara.stopPreview();
isFlashOn=false;
onOffButton.setText("ON");
}
catch (Exception ex){
Toast.makeText(this, ex.toString(), Toast.LENGTH_LONG).show();
}
}

@Override
public void onStop(){
super.onStop();
if(_camara!=null){
_camara.release();
_camara = null;
parameters = null;
}
}

@Override
public void onRestart(){
super.onRestart();
}
}

대체 이유가 뭘까....


WRITTEN BY
사마사마
IT, 게임 그리고 유익하고 재미있는 다양한 정보를 소개합니다.

트랙백  0 , 댓글  0개가 달렸습니다.
secret

안녕하세요 철사마 입니다.

안드로이드 스튜디오를 하면서 황당하게 발생하는 에러가 있어서 해결방법 정리하였습니다.

저처럼 당황해서 놀라지 마시길 바라면서 정리해 보았습니다.. ㅠ^ㅠ




황당한 에러는 디자인 뷰 영역 에러 입니다. 


이게 왜 황당하냐면 디자인 뷰 영역에 어떤 컨텐츠를 넣어도 보이지 않고 위치도 지정할 수 없고 에러만 계속 뜹니다....

빌드하면 제대로 나오지도 않아서 작업을 할 수 가 없습니다..;;;


에러 문구는 아래와 같습니다.


Failed to load AppCompat ActionBar with unknown error.


대충 해석하면... "알수 없는 에러로 AppCompat ActionBar를 로드하지 못합니다." 


난 아무 것도 하지 않았는데?.. 왜 이런 에러를.. 그리고 하단에는 이런 에러 문구가 있습니다.


This view is not constrained. 

It only has designtime positions, so it will jump to (0,0) at runtime unless you add the constraints  The layout editor allows you to place widgets anywhere on the canvas, and it records the current position with designtime attributes (such as layout_editor_absoluteX). 

These attributes are not applied at runtime, so if you push your layout on a device, the widgets may appear in a different location than shown in the editor. 

To fix this, make sure a widget has both horizontal and vertical constraints by dragging from the edge connections.


대충 해석하면... "이 뷰는 강제적인 것이 없어서... 제약 조건을 추가하지 않으면 네가 추가한건 0.0으로 위치합니다. 블라블라.. 네가 원하는 것이랑 다르게 나올 수 있다.. 블라블라.."  당췌 몬소린지..


여튼 아무것도 안하고 프로그램 실행만 누른 입장에서 에러가 뭔가 억울합니다. 

마치 컴맹이 컴터 키고 블루스크린 뜨면 왠지 내 손이 똥손이라 망가진 것 같고 막... ㅠㅠ






하지만! 안심하세요~ 해결은 생각보다 쉽습니다.


우선 아래 위치로 이동해서 명시한 부분의 해당 소스를 수정해 줍니다.


1. Gradle Scripts에서 build.gradle (Module: app) 파일을 더블클릭하여 열어줍니다.

2. 23번 라인 implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'에서 alpha3alpha1으로 수정합니다.



코드를 수정한 화면입니다.


수정을 하면 안드로이드 스튜디오 코드 편집창 상단 우측에 [Sync Now] 라는 바가 생겨납니다.

그 버튼을 눌러서 동기화를 시켜줍니다.


동기화를 눌러주면 동기화가 되면서 이것저것 열심히 적용됩니다.


적용이 다 된후에 다시 레이아웃(Layout) 화면으로 이동해 봅니다.

이제 화면상에 콘텐츠가 제대로 레이아웃에 나타나고 에러도 발생하지 않습니다.


이 오류는 구글 검색해 보니 안드로이드 스튜디오 버그안드로이드 스튜디오 3.1.3 버전 기준에서 다운로드 받으면 발생하는 버그입니다.

앞으로 업데이트되는 버전에서는 해결되어 있을 것 같습니다. (제발~~)




처음 시작하는 초심자 입장에서 아무것도 안했어도 왠지 내가 잘못한 건 아닐까 하는 불안감이 생기는 오류였습니다.

다행히 해결 방법은 어렵지 않지만~~

모르면 아무것도 시작할 수 없는 그런 치명적인 버그였습니다.

쉽게 수정하시고 코딩을 시작해보세요!!




WRITTEN BY
사마사마
IT, 게임 그리고 유익하고 재미있는 다양한 정보를 소개합니다.

트랙백  0 , 댓글  0개가 달렸습니다.
secret

안녕하세요 철사마 입니다.

제가 요 며칠 동안 [안드로이드 스튜디오]에 관심이 생겨서 설치를 해보았습니다.

<이미지 출처 : 구글 이미지 검색>


노트북 용량이 너무 부족해서 공초를 결단! 하고 깔끔하게 시스템을 새로 설치 했습니다. (대단한 각오!)

그런데 다 지우고 깔아서 깔끔한 상태인데도... 기본 설정으로 프로그램을 설치 후 프로젝트를 생성하고 바로 빌드를 눌러보니 암것도 안했는데 에러가 뜨더군요? @_@


(애뮬레이터 실행 아이콘 클릭!)


(알수 없는 에러 발생!)


Emulator: emulator: ERROR: x86 emulation currently requires hardware acceleration!

에러 내용은 "x86 emulation은 현재 하드웨어 가속이 필요해!" 라는 내용 같습니다.

무슨 소린지... 컴퓨터가 느려서 그런건가? 라는 생각을 잠시 해보았습니다.




해당 문구로 Google에 검색을 해보았습니다.

<검색 : text 검색어 입력>



인터넷 검색을 기반으로 방법을 찾아보기로 했고, 해결을 했습니다.

인터넷 검색으론 좀 뒤죽박죽이라 쉽게 정리를 해보았습니다. :)


우선 [Android Studio] 프로그램에 에뮬레이터가 정상적으로 설치 되었는지를 확인해 봅니다.


[Android Studio] 프로그램의 상단 메뉴의 [Tools] > [SDK Manager] 항목을 클릭해 주세요. 


클릭하면 SDK Manager 프로그램이 실행이 됩니다. 다양한 정보들이 보여지게 되는데 그 중에 [Android SDK] > [SDK Tools]를 선택하면 아래의 리스트가 보여지게 됩니다.

하단의 리스트에서 Intel x86 Emulator Accelerator (HAXM installer)가 체크 되어 있고 인스톨 된 상태인지 확인해 봅니다. (빨강색으로 점을 찍어 놓았습니다.)


체크가 없다면 체크를 하고 설치를 해주세요.


이미 체크가 되어 있는 상태라면 다른 문제가 있는 것입니다.


Android SDK가 설치되어 있는 경로가 서로 다를수도 있지만 임의로 바꾸지 않았다면 일반적으로 아래와 같은 경로일 것입니다.

C:\Users\[사용자계정]\AppData\Local\Android\Sdk\extras\intel\Hardware_Accelerated_Execution_Manager



참고로 폴더 속성에 [숨긴 항목] 에 체크를 하지 않았다면 체크를 해주시기 바랍니다. 

보여야 할 폴더가 보이지 않을 수 있습니다. AppData 폴더는 기본적으로 [숨김 항목]으로 설정 되어 있습니다.


[Hardware_Accelerated_Execution_Manager] 폴더로 왔으면 여러 파일 중 [intelhaxm-android.exe] 파일을 실행하여 줍니다.


설치가 완료되면 끝!





그러나... 이렇게 깔끔하게 설치되지 않고 아래와 같이 오류가 발생하는 경우가 있습니다.



이때는 프로그램으로 설정으로는 진행이 어렵고, [BIOS 설정]에 가서 [하드웨어 설정]을 직접 바꿔주셔야 합니다.


Bios 설정은 컴퓨터를 기동하고 F1 or F2를 연타해서 하드웨어 설정으로 진입하여 직접 수동으로 환경설정을 바꿀 수 있는 설정메뉴입니다.


Bois 설정에 들어갔으면 리스트를 잘 찾으셔서...

Intel Virtualization Technology 항목을 찾아 Enabled 해주심 됩니다.


사용자 PC마다 위치나 명시된 언어가 다르게 표현되어 있을 수 있으니 참고해 주시기 바랍니다.

제 PC의 경우는 Check Box 로 설정하게 되어 있었고 Virtualization Technology 라고 명시되어 있었습니다. 


Intel Virtualization Technology 항목을 Enabled로 설정을 완료 하셨나요?

그럼 다시 [Hardware_Accelerated_Execution_Manager] 폴더의 [intelhaxm-android.exe] 파일을 실행하고 설치를 완료합니다. 설치가 잘 될 것입니다.


완료 되었으면 [Android Studio] 를 실행하고 정상적으로 애뮬레이터가 동작하는지 확인해 봅니다.


저는 애뮬레이터의 가상 디바이스로 Nexus 5X를 선택했습니다.



다행히 전과는 다르게 애뮬레이터가 실행이 잘 되었습니다.


코드에 샘플로 적혀 있던 Hello World! 문구 까지 정상적으로 보여집니다. 애물레이터 구동이 잘 되는 것을 확인하였습니다.



애뮬레이터가 실행되고 나서 뒤에 빨강색으로 오류같은 것이 뜨긴 하지만... 애뮬레이터와는 상관없는 것 이겠죵..? ^^;;




전 개인적으로 처음 안드로이드 스튜디오를 실행해 보는데 갑자기 생겨난 생각치 못한 문제라서 답답했습니다.

어디서 정보를 구하기도 어렵고...

아무것도 안했는데 그냥 안되니까 답답하기도 했고요, 조금이나마 도움이 되셨으면 좋겠습니다. :)


이제 시작이네요!! ^^;;

즐거운 코딩 되시길!! 


WRITTEN BY
사마사마
IT, 게임 그리고 유익하고 재미있는 다양한 정보를 소개합니다.

트랙백  0 , 댓글  10개가 달렸습니다.
  1. 쏭아무개 2018.09.29 15:46
    덕분에 답답한 문제 해결했습니다 ^^ 감사합니다~
  2. 감사합니다. BIOS에서 설정한 후 다시 또 설치해야 하는 그 순서를 모르고 계속 헤메고 있었네요~
  3. 입문자 2019.04.04 21:53
    감사합니다 고수님의 빈틈없는 정확한 정보로 며칠 고민하던 일이 해결되었습니다.
  4. 감사합니다. 덕분에 해결했습니다.~~~
  5. 정말 만니마니 감사합니다~^^
    몇일동안 고생했는데 한방에 해결되었습니다~^^
    고맙습니다~^^
secret

안녕하세요 철사마 입니다.

이번엔 2D 게임에서 파티클을 사용하기 위해 유용한 제작 툴을 소개해 드리려고 합니다.

툴의 이름은 particle2dx 입니다.

유료가 있으며 무료가 있습니다. 유료는 결제 별도 프로그램을 설치해서 사용하는 것 같습니다.


무료는 웹에서 이용이 가능하며, 실제로 해보니 기능의 제약이 저장이 안되는 것 빼고는 제약이 거의 없었습니다.

어차피 필요한 기능만 사용하니까 필요한 부분만 쓰면 되겠지요.. :)


우선 홈페이지를 접속해 봅니다.

Particle2dx 작업 웹페이지 접속하기 ( http://www.effecthub.com/particle2dx )


페이지를 접속하면 아래와 같은 화면이 나옵니다.


우선 회원 가입을 하는게 좋을 것 같습니다. (그냥 쓸수 있어야 하지만... 기능상에 버그가 있어서 제대로 진행이 안되더군요.)

가입절차는 쉽습니다. 전 페이스북 계정으로 가입을 했습니다. 그리고 가입하면 10코인을 줍니다. ^^


페이스북을 연동하면 바로 가입이 되며 이메일 인증을 하게 됩니다.(아마 어떻게 하든 공통으로 메일 인증을 요구할 것 같습니다.)

페이스북 이메일로 인증 메일이 갑니다.

그 메일을 클릭해서 인증하시기 바랍니다. (안하면 메뉴 상단에 인증하라고 계속 알림이 있어서 신경쓰이더군요)


인증을 하면 아래와 같이 1, 2차 인증이 완료 되어 정상적으로 회원가입이 됩니다.




인증 후 홈페이지 메인에 가면 이렇게 나옵니다.(메인 홈페이지 http://www.effecthub.com/ )

위에 빨강색으로 테두리 되어 있는 Upload Works를 누릅니다.

누른 후 Create Online 탭을 누르고 아래와 같이 Create Cocos2D Effect 버튼을 누릅니다.


그렇게 하면 처음에 알려드렸던 작업 화면인 웹페이지로 이동합니다.


우선 메뉴 설명을 세세하게는 하기 어렵습니다. 저도 잘 모르거든요.. ^^)a


그래도 간단하게 설명을 해보겠습니다.

( 참고로 이 포스팅의 주 목적은 내가 만든 png를 적용하는데 발생하는 문제를 해결하는데 있습니다. )


[Import] 메뉴는 버튼을 누르면 팝업 창이 뜨면서 이미 저장한 파티클 작업 파일..plist 을 불러올 수 있습니다. 당연한 이야기겠지만 작업한 파일을 Export를 하면 .plist 파일로 저장됩니다.


[Color&Shape] 메뉴는 각종 파티클의 설정과 내가 제작한 Png파일을 적용할 수 있습니다.

위의 빨강색 테두리의 버튼이 내가 만든 Png를 파티클에 적용할 수 있는 기능입니다.

Upload Texture는 Png를 바로 적용할 수 있는 버튼이고, 아래의 My Texture는 내가 보유하고 있는 Png를 불러오는 버튼입니다.


Upload Texture 버튼은 쉬워보이지만 오류가 발생할 수 있습니다. 내가 지정한 Png를 올리고 업로드를 눌렀는데 적용되지 않는 경우가 많습니다.

이런식으로 업로드를 하면 99.99%에서 더이상 진행안되는 경우가 있습니다.

그래서 이런 오류를 방지하기 위해 My Texture에 등록하는 방법이 있습니다.




우선 메인 페이지에서 Home > Files 를 들어갑니다.

그 후에 다양한 폴더들이 나오는데 그 중 Texture 폴더에 필요한 이미지를 업로드 합니다.

전 임시로 3개의 이미지를 업로드 했습니다.

여기서 주의할 점은 이미지를 올리면 무조건 공개가 기본으로 처리됩니다.

공개를 원하지 않는다면 체크박스를 선택한 후 UnShare를 선택하시기 바랍니다. 안하면 공개되요~

그리고 삭제하는 기능을 못찾겠더군요.. 무료라서 그런가...


이미지를 모두 올렸으면 다시 작업페이지로 돌아옵니다.

그 후에 My Texture를 누르면 좀 전에 업로드했던 png 리스트가 보여집니다. 이제 선택하면 적용이 됩니다. 두둥!


[Motion] 버튼은 파티클의 세부 설정을 조정할 때 사용됩니다. 이해는 잘 안가지만 실시간으로 반영이 되니 수치를 조절하면서 하면 될 것 같습니다. :)


[Template]는 다양한 샘플 파일을 적용해 볼 수 있는 메뉴입니다.




[Export] 메뉴는 작업한 파일을 저장하는 메뉴입니다. 어츰에 COCOS2D로 지정했기 때문에 COCOS2D에서 사용할 수 있는 형태로 저장합니다.

저장은 3가지가 있습니다. png가 포함된 파일, png를 구분해서 별도로 다운받는 파일형식. 모두 설정은 .plist 로 저장됩니다.


[Save] 버튼은 클라우드에 작업물을 저장하는 것으로 공유 및 판매용으로 사용됩니다. 판매할 생각이 없다면 Save를 하지 않는것이 좋습니다. ^^


그 외 기능들이 있지만 툴을 사용하면서 자연스럽게 알게 되는 기능이라 설명은 제외하도록 하겠습니다.


오늘 처음으로 파티클 제작툴에 대해서 메뉴를 만져본 것입니다. 깊게 파고들지는 못했고요... 내 Png를 적용하지 못하는 버그때문에 고생을 한 터라 해결 방법을 설명하는데 중점적으로 내용을 할애했습니다.


동일한 문제를 겪으신 분들은 도움이 되실 듯 합니다. :)


2D 게임에서 쉽게 파티클을 생성해서 게임이 적용해 보시기 바랍니다.

감사합니다.!!


WRITTEN BY
사마사마
IT, 게임 그리고 유익하고 재미있는 다양한 정보를 소개합니다.

트랙백  0 , 댓글  0개가 달렸습니다.
secret


안녕하세요 철사마 입니다.

Unity 오브젝트를 쓰다보면 안보이게 하기, 보이게 하는 기능을 쓸데가 종종 있습니다.

그리고 이 오브젝트가 보이게 설정되어 있는지, 안보이게 설정되어 있는지도 확인할 필요가 종종 있을 것입니다.


해보면 정말 간단하지만 찾아보기 전까지는 헷갈리는 API라서 공유합니다. :)


첫 번째,

오브젝트를 보이게, 안보이게 하는 API입니다.


GameObject.SetActive() (공식 레퍼런스 확인)


using UnityEngine;

using System.Collections;


public class ExampleClass : MonoBehaviour {

    void Example() {

        gameObject.SetActive(false);

    }

}


이 함수는 bool 형의 인자값을 명시하여 Object를 제어할 수 있습니다.

옵션으로 False는 안보이기, True는 보이게 할 수 있습니다. 





두 번째 

Object가 현재 어떤 보이기 설정으로 되어 있는지 확인하는 API입니다.


GameObject.activeSelf (공식 레퍼런스 확인)


이 API는 읽기 전용으로 값의 여부만 확인할 수 있습니다.

간단한 예제를 보면 이렇게 쉽게 구성할 수 있습니다.


if(gameObject.activeSelf == true)  

    // 오브젝트가 보이게 설정되어 있는 경우

}

else if(gameObject.activeSelf == false)

    // 오브젝트가 안보이게 설정되어 있는 경우


오브젝트를 제어할 때 중복되게 실행하지 않고, 오브젝트의 현재 설정에 따라 설정을 별도로 줄 수 있어 편합니다. ^^


짧은 포스팅이었습니다.

작게나마 도움이 되시길~~~!!



직접 해보고 추천하는 게임한당 펜페이지, 좋아요 하시고 간단 리뷰 스크랩하세요 ^-^



먹는 사진 다 올리는 먹는 즐거움, 먹방 펜페이지에 놀러오세요 ^-^




WRITTEN BY
사마사마
IT, 게임 그리고 유익하고 재미있는 다양한 정보를 소개합니다.

트랙백  0 , 댓글  1개가 달렸습니다.
  1. unity초보 2017.01.03 18:59
    '사마사마' 사마 unity 생초보 인데 공부할려고 간단한 게임 개발 중입니다. 혹시 질문 좀 받아 주실 수 있나요?
secret

(출처 : 구글 이미지 검색)


(출처 : 구글 이미지 검색>


안녕하세요 철사마입니다.

Unity에서 많이 쓰이는 NGUI에 대해서 팁을 공유하려고 합니다.

NGUI는 Next-Gen UI의 약자로 Unity에서 많이 쓰이는 UI, 그래픽 관련 컴포넌트입니다.

(https://www.assetstore.unity3d.com/kr/#!/content/2413)


Unity에 NGUI를 설치하고 스프라이트나 위젯을 설정하면 콘솔창에 이상한 오류문구가 뜨는 경우가 있습니다.

"Ignoring menu item NGUI because it is in no submenu!"



빌드할때 오류가 발생하는 것은 아니지만, 계속 오류 표시가 보여지니 신경이 쓰이기 마련입니다.(저는 매우 신경쓰이네요!)

하지만 이 부분은 NGUI 버그로서 코드를 약간만 수정하면 쉽게 고칠 수 있습니다.


NGUI 패키지를 설치하면 자동으로 인스톨되는 파일 중에 NGUIMenu.cs 파일을 수정하면 됩니다.

NGUIMenu.cs 파일의 위치는 "NGUI > Script > Editer > " 입니다. 위의 스크린샷을 참고해 주세요 :)




NGUIMenu.cs 파일의 715라인 부분을 수정하면 됩니다.


파일을 열어보면 715라인 부분에 이런식으로 코드가 작성되어 있습니다.


이 부분에서 Breaker 부분을 삭제하고, Help Priority의 라인을 10을 추가하여 22로 수정합니다.


그 후에 Unity를 종료하고 다시 프로젝트를 로딩하면 더 이상 오류메시지가 보이지 않습니다.

참 쉽죠? ^^


Unity가 새로운 버전이 업데이트 되면서 NGUI와 살짝 충돌나는 경우가 있는 것 같습니다.(아마도 Unity 5.4.1 이상)

수정을 하지 않아도 빌드가 잘 되기 때문에 수정하지 않아도 상관은 없지만, 뭔가 신경이 쓰인다면 수정해 보세요~!

참고로 이런 오류가 발생하는 이유는 저도 잘 모르겠습니다. ^-^;;;

(그리고 최신 NGUI 버전에서 이 부분은 자연스럽게 고쳐질 수 있습니다.)


그럼 간단한 팁을 마칩니다 :)



직접 해보고 추천하는 게임한당 펜페이지, 좋아요 하시고 간단 리뷰 스크랩하세요 ^-^



먹는 사진 다 올리는 먹는 즐거움, 먹방 펜페이지에 놀러오세요 ^-^




WRITTEN BY
사마사마
IT, 게임 그리고 유익하고 재미있는 다양한 정보를 소개합니다.

트랙백  0 , 댓글  0개가 달렸습니다.
secret