반응형

아래 한줄 호출해주면 됨.

하이어라키에 존재하지 않는 리소스는 깨끗하게 날려주심.

 

단점이 있다면 한번 로딩했던 에셋을 다시 사용(Instantiate) 경우 다시 로딩시간이 필요하므로 상황에 맞춰서 사용해야 .

 

 

Resources.UnloadUnusedAssets(); 

 

반응형
반응형

Unity의 UI쪽 컴포넌트를 주로 많이 사용하고 있는데
예를 들면 ScrollRect라던가 Button, Text 등등 많이 많이 사용하는 중이다.
근데 너무 잘 만들어진 이 컴포넌트들도 사용하다 보면 약간의 변형을 해서 사용해야 할 경우가 있는데 문제는 상속받아와서 직접 커스터마이징 한 파일을 게임오브젝트에 적용을 하면 내가 추가한 변수들이나 요소들이 Inspector에 보여지지 않고 기존의 상속했던 클래스의 인스펙터 내용만 보여지게 된다.

해결책은 파일 하나만 만들어주면 된다.
Assets폴더 안에 Editor폴더를 하나 만들고 원하는 이름으로 파일을 하나 만든다. 이 때 파일 이름은 “커스터마이징 한 클래스의 이름+Editor.cs” 로 만드는게 헷갈리지 않을 것이다.

아래 예제로 작성한 파일의 LevelHandler라는 클래스는 ScrollRect를 상속받아와서 커스터마이징한 파일이다. Inspector의 내용이 기존 ScrollRect의 내용으로 바뀌지 않는데 아래와 같이 해주면 추가한 부분들이 기존 내용 아랫쪽으로 보여지게 된다.

파일 내용은 다음과 같이 작성하면 된다.

중요한건 3번째 줄 부분이다.
[CustomEditor(typeof(커스터마이징 한 클래스))]

(추가하기 전 Inspector 모습)

%ec%8a%a4%ed%81%ac%eb%a6%b0%ec%83%b7-2016-10-24-%ec%98%a4%ed%9b%84-4-32-52

(추가 후 Inspector 모습)

%ec%8a%a4%ed%81%ac%eb%a6%b0%ec%83%b7-2016-10-24-%ec%98%a4%ed%9b%84-4-33-19

기존 내용의 아랫쪽으로 내가 추가 한 내용들이 보여지는 것을 확인 할 수 있다.

반응형
반응형

프로젝트 진행하면 꼭 사용하는 Singleton 형태의 파일을 만드는 경우가 생기는데
이 Singleton을 간단하게 만들어주는 방법이다.

 

Singleton을 만들때는 이렇게만 해주면 된다.

참조 : http://sillyknight.tistory.com/30

반응형
반응형

 
 
 
 
 
 
C#
 
 

 

 
1
2
3
4
void AutoFocusOn()
{
     CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
}

 

매니페스트 수정

<uses-permission android:name=”android.permission.CAMERA” />
: 카메라를 사용할 것이다

<uses-feature android:name=”android.hardware.camera” />
:카메라의 특수기능을 사용할 것이다

<uses-feature android:name=”android.hardware.camera.autofocus” />
:카메라 오토포커싱을 사용할 것이다

 

뷰포리아가 Init된 이후의 타이밍에 호출되어야 함.

 

출처 : http://qits.tistory.com/entry/뷰포리아-오토포커싱-활성화하기

반응형
반응형

어떻게 보면 간단한 구현 일 수도 있겠지만
난 어려웠다. ㅠㅠ 그래서 다시 정리하는 차원에서 포스팅 해본다.

먼저 간략하게 요약해보자면…
Unity의 기본제공되는 GUI를 사용,
데이터 형태는 Json형태로 만들어서 사용하기 편리하도록 parsing을 거친 뒤 구현하였다. 동작 원리는 스크롤 시 화면에 보여지는 부분의 GameObject(Item)만 생성하여 Draw Call을 줄이는 방식으로, 업 스크롤 시 위로 올라가는 Item을 아래로 이동시켜 아랫쪽 데이터를 붙이고, 다운 스크롤 시 아래로 내려가는 Item을 위로 이동시켜  위쪽 데이터를 붙이는 방식이다. 아이템을 잡고 있는 GameObject의 길이는 최초에 계산되어 전체 Item 갯수만큼의 길이로 생성되어진다.
자전거의 톱니와 체인을 생각하면 쉽게 이해될듯하다.

Hierarchy 구성

스크린샷 2016-01-19 오후 12.27.42

스크립트 구성

스크린샷 2016-01-19 오후 4.25.59

테스트용 데이터 세팅하기
먼저 JsonData를 만들자
Assets > Resources 폴더를 만들고 그 안에 data.txt 파일을 하나 만든 후 아래와 같이 코딩한다. 참고로 data.txt는 그냥 아무 파일 하나 만들어서 확장명만 바꿔주면 된다.
데이터 형태는 나중에 어떻게든 바꿔서 사용할 수 있다.

data.text

Hierarchy의 Manager에 ManagerHandler, ModelHandler, ListModel 라는 이름으로 C# Script 3개를 생성하고 아래와 같이 코딩한다.

ManagerHandler.cs

 

ListModel.cs

 

ModelHandler.cs

LitJson.dll은 여기에서 받을 수 있으며 Assets > Plugins(생성) 폴더에 넣어준다.

구현하기
먼저 Hierarchy의 ScrollRect(GameObject)에 ScrollRect 콤포넌트를 붙인다.
Infinity Content(GameObject)에 InfiniteScroll라는 C# Script을 생성한 후 아래와 같이 코딩한다.

 

Item(GameObject)에 Item 이라는 이름으로 C# Script를 생성해서 다름과 같이 코딩한다. 아이템 부분은 적당히 수정해서 사용할 수 있을 것이다.

 

Infinity Content의 Inspector가 보이도록 한 후 아래 그림에서 보이는 것 처럼 드래그해서 각 해당 되는곳으로 넣어 준 후 ItemWidth, ItemHeight, Gap 에 원하는 사이즈를 입력한다.

스크린샷 2016-01-19 오후 5.05.25

 

마찬가지로 Item또한 아래 그림처럼 드래드앤 드롭해준다.

스크린샷 2016-01-19 오후 5.13.05

 

Manager도 아래와 같이 Infinity Content를 드래그 앤 드롭 해준다.

스크린샷 2016-01-19 오후 5.16.12

반응형
반응형

unity에서 지원되는 Application.LoadLevel을 사용하면 Scene과 Scene간의 이동이 가능하지만 이동할 때 아무런 효과없이 이동이 된다. 프로젝트마다 성향이 달라서 모두 적용되기는 힘들 수도 있겠지만 찾아보다 가장 무난하다 싶은걸 찾아서 작동이 잘 되도록 수정하였다. unity의 GL class를 사용하여 Scene이동시 Quad를 그려 자연스럽게 이동되게 한다.
AutoFade.cs 파일을 적당한 폴더에 넣어서 사용하면 편리할 듯 하다.

참고 : http://www.devkorea.co.kr/reference/Documentation/ScriptReference/GL.QUADS.html,
How to Fade Between Scenes in Unity,
Unity3D load level with fade effect

호출 할 때


상단 메뉴에서 File/Build Setting 에 다음과같이 사용하고자 하는 Scene을 넣어줘야한다.


반응형
반응형

Unity 게임 Tutorial을 따라하다 아주 간단하게 두 타겟 또는 그 이상의 타겟의 중점을 구하고 카메라 줌인/아웃 시키는 공식이 있길래 포스팅 한다. 너무도 간단?하다…

사실 Vector3 + Vector3하면 각 x,y,z가 각각 합해 진다는 생각조차 하지 못했다.
메인 카메라의 이동에 사용되었다.

반응형
반응형

 

Application.CaptureScreenshot(myScreenshotLocation);
요 함수로 간단하게 될 줄 알았던 스크린샷이 문제가 생겼다.
파일까지 저장이 잘 되지만 갤러리나 사진첩에서 해당 이미지가 업데이트 되지 않는 문제가 생긴다. 강제로 업데이트를 해줘야하는데 위 코드 하단에 보이는 것 처럼 해주면 된다.

참고 : http://answers.unity3d.com/questions/200173/android-how-to-refresh-the-gallery-.html

반응형

+ Recent posts