10월, 2015의 게시물 표시

enum for 문으로 검색하여 딕셔너리 에 집어넣기( 문자 형변환 )

using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEngine.UI; using System.Linq; using Enum = System.Enum; public class GameMagNew : MonoBehaviour {     public Text DISTEXT;     public GameObject[] FLOORS;     IDictionary<string, GameObject> FLOORSDIC = new Dictionary<string, GameObject>();     enum FloorState     {         NONE = 0,         ONE,         TOW,         THREE,         FOR,         FIVE     }     FloorState FloorStat = FloorState.NONE;                 void Start () {         for (int i = 1; i < (int)FloorState.FIVE; i++)         {             FloorStat = (FloorState)i;             FLOORSDIC[FloorStat.ToString()] = FLOORS[i];         } }     void Update()     { } }

png 이미지 와이어 프레임 생길때

임포트한 텍스쳐 이미지 선택 텍스쳐 타입을 어드밴스로 설정 매쉬 타입을 full rect로 변경

구글 플레이 연동

googleplaygames plugin 구글 검색 후 다운로드 https://github.com/playgameservices/play-games-plugin-for-unity 구글 플레이 게임 서비스 폴더 복사 후 유니티 구글 플레이 쪽으로 붙여 넣기 - 패키지 설치 윈도우 -> 구글플레이 -> 셋업 -> 안드로이드 셋업 리소스 내보내기. 안드로이드 매니 패스트 아이디 확인 도전과제

[Unity3d] 카메라 2개 동시에 보기

이미지
[Unity3d] 카메라 2개 동시에 보기 Programming/Unity3D Camera ,  depth ,  layer ,  orthographic ,  Perspective 키워드 : camera, layer, clear flags, culling mask, Depth camera는 지정된 layer만 볼 수 있으며, depth 조절을 통해 여러 camera를 겹쳐서(overlay) 동시에 볼 수 있다. 예 : 3d object의 쉐이더효과 때문에 UI부분의 object들이 이상하게 보여 , 2d ui object는 평면으로 보기를 원한다. 그래서 3d object는 perspective 카메라로, 2d object는 orthographic 카메라로 보기로 한다.  Main Camera에서만 보여질 것은 Layer를 "3D" tag로 지정. ("3D"는 임의로 정한것.) Clear Flags에서는 해당 tag만 보이도록 Depth only로 지정 Culling Mask에서도 해당 layer만 지정한다.  Depth를 기본값인 0으로 지정한다.  마찬가지로 object, light에서도 layer를 같은 layer "3D"로 지정해야 한다. 이 위에 겹쳐서 보일 orthographic 카메라 설정 layer와 Culling mask를 Layer의 "UI" tag로 설정. depth는 0보다 큰 1로 지정한다.  2d로 보여야할 object의 layer를 UI tag로 설정.

enum 을 foreach로 검색하고 현재 상태를 바꿔주는 다른 방법입니다.

using  UnityEngine; using  System.Collections; using   Enum  = System. Enum ; public   class   enumTest  :  MonoBehaviour  {      public   enum   myType     {         NONE = -1,         LEFT,         RIGHT,         UP,         DOWN     }      myType  type =  myType .DOWN;      void  Start ()      {        print(type);  // 결과값 DOWN        EnumChange();        print(type);  // 결과값 LEFT     }      void  EnumChange()     {          foreach  ( myType  mytype  in   Enum .GetValues( typeof ( myType )))         {              if  ( "DOWN"  == mytype.ToString())             {                 type = ( myType ) Enum .Parse( typeof ( myType ),  "LEFT" );             }         }      } }

RPG 기초

Material = 디퓨즈와 모바일 디퓨즈의 차이는 속도이다. (옵션 다름) 모바일 디퓨즈가 일반 디퓨즈에 비해 속도 향상 20% 이상이다. animation type   - humanoid : 인간형  - Generic : 동물형  - Legacy : 유니티 구버전 애니메이션 타입.   Avatar     - 본 정보등 애니메이션 정보가 들어 있는 파일 1. 애니메이션 컨트롤러 생성    - 마우스 우클릭 -> Create -> Animation Controller     | = OR연산자. 피킹작업 -> 카메라를 기준으로 좌표를 3d로 --> 2d ->>3d로 레이어 마스크 int  GroundLayer = 1 <<  LayerMask .NameToLayer( "Ground" ); Apply root motion 에서 트랜스폼 제어 할때 인스펙터 애니메이션 탭에서 해당 값 체크 해제 ray point 설정( 클릭시 해당 포인트에 게임 오브젝트 생성) fbx에 애니메이션이 적용 되오 있을대  ctrl + d 수정 애니메이터에 애니메이션을 적용할때는 프리팹을 넣는것이 아니라 애니메이션 클립을 넣어야 된다. Has Exit Time 은 해당 시간만큼 지나고 다음 애니메이션 진행 딕셔너리  sort 할때는 IDictionary를 사용한다 NGUI -> 2DUI 생성했을때 카메라 뷰 이상하게 나올때 NGUI 카메라와 메인 카메라의 컬링 마스크를 확인 한다.( 체크 해제 되어 있을 수 있다) NGUI 실행시 반드시 레이어 추가하여 새롭게 적용한다. RECT 는 영역 POSITION은 위치 카메라 -> Rendering path 의 forward는 라이트를 뭉개주는 알고리즘이 있다. ( 로우퀄리티) ,  deferred 는 하이퀄리티. user setting는 menu->

비주얼 스튜디오 디버깅

이미지
접속 디버깅 툴 다운 ( 2013버전 , 비주얼 스튜디오 버전에 맞게 다운) https://visualstudiogallery.msdn.microsoft.com/20b80b8c-659b-45ef-96c1-437828fe7cf2 유니티, 비주얼 스튜디오 종료 후 다운된 파일 인스톨 ( 특별한것 없음 다음 다음~~~) 디버깅 할때는 edit -> preference -> external tools -> Unityvs 선택한다. F9 -> 실행중 멈춤 (F9 두번 마크 지움) -> F5 : 디버그 실행 (Shift f5 디버그 실행 중지) F5 입력으로 비주얼 스튜디오 디버그 실행 후 유니티에서도 게임 실행 버튼 클릭. 디버그 실행시 F5 디버깅한 코드 다시 실행 F10번 으로 다음 코드 디버깅 F11번 함수 실행문에서 함수 안으로 체크 되게.

itween 강좌

https://www.youtube.com/watch?v=hbSxwoWjBgQ ease type sample http://robertpenner.com/easing/easing_demo.html

애드몹(광고) 붙이기

이미지
     구글 검색 -> 애드몹 -> 가입하기-> 내구글 계정으로 로그인 -> 로그인 -> AdMob에 가입하기 페이지 작성 시작하기 -> 수익 올리기 작성 -> 완료  안드로이드  SDK - -> GOOGLE PLAY SERVICE 설치 -> D:\android-sdk_r24.3.4-windows\android-sdk-windows\extras\google google_play_services 폴더가 설치 되어 있는지 확인 D:\android-sdk_r24.3.4-windows\android-sdk-windows\extras\google\google_play_services 구글 애드몹 유니티 플러그인  설다운 및 설치 Google Mobile Ads Unity Plugin v2.3.1 https://github.com/googleads/googleads-mobile-unity/releases/tag/2.3.1 GoogleMobileAds.unitypackage  설치. D:\android-sdk_r24.3.4-windows\android-sdk-windows\extras\google\google_play_services\libproject google-play-services_lib 폴더 유니티  Plugins -> Android 밑으로 드래그 해서 넣는다. (설치후 작동이 잘 되는지 확인하기 위해서 빌드 해본다.) 빈게임 오브젝트 생성 -> ADMOB 스크립트 작성 후 연결 테스트용 단말기의 고유 ID 스크립트 내에 등록하여 클릭하여도 결제 청구 하지 않도록 한다. 단말기 고유 ID 검색법 ->Device ID 앱설치

에디터 생성 - Tool

이미지
Editor 폴더 안의 소스 코드들은 유니티 내부에서 자동으로 실행된다 ( 게임 오브젝트에 안 붙여도 됨 ) * Editor 폴더는 프로젝트창 어디에 있어도 상관 없음. //print() 는 모노비헤비어 상속임으로 모노비헤비어 상속하지 않은 클래스에서 사용 못함. 에디터 사용 기본 using  UnityEngine; using  System.Collections; using  UnityEditor;  // 에디터 사용 네임 스페이스 [ CustomEditor ( typeof ( MapMag ))] public   class   MapMagEditor  :  Editor  { } Editor 는 play상태가 아니여도 실행된다. SNAP, snap 스냅 셋팅 edif -> snap settings... SNAP, snap 스냅 셋팅 -> 콘트롤 키를 누른 상태에서 이동하면 정해진 범위만큼 스냅 하여 이동한다. //피킹 테스트 -> 월드 좌표계를 로컬 좌표계로 클릭시 이동처리 ctrl + f2 -> 비주얼 스튜디오 북마크 f2번으로 이동가능

음수를 양수로 만들때는 *-1 해주면 된다.

음수를 양수로 만들때는 *-1 해주면 된다.

ref 참조 / bool 형 메소드에서 매개변수로 복제 하지 않고 받아오기

using UnityEngine; using System.Collections; public class test : MonoBehaviour {           bool testType = true;     void TestMethod(bool type)     {         type = false;         Debug.Log(testType); // 복제가 되어 다른 변수가 되므로 true     }     void TestMethodRef(ref bool type)     {         type = false;         Debug.Log(testType); // ref(참조) 선언으로 원래 변수 그대로 사용 하므로 false     }     void Start()     {         TestMethod(testType);         TestMethodRef(ref testType);     } } ref 설명 https://msdn.microsoft.com/ko-kr/library/14akc2c7.aspx

광고 붙이기.

이미지
SDK Manager.exe -  sdk 설치 -> google play services 에셋프토어 검색 -> Unity Ads  -> import unity-ads : 자바 코드로 되어 있음 AndroidManifest : 프로젝트 셋팅에 관련된것들 xml 형식 ( 광고 등등 ) 권한정보 < uses-permission   android:name = " android.permission.ACCESS_NETWORK_STATE "  /> < uses-permission   android:name = " android.permission.INTERNET "  /> // 인터넷 사용 광고 관련 정보  < application >         < activity              android:name = " com.unity3d.ads.android.view.UnityAdsFullscreenActivity "              android:configChanges = " fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen "              android:theme = " @android:style/Theme.NoTitleBar.Fullscreen "              android:hardwareAccelerated = " true "              tools:ignore = " UnusedAttribute " /> </ application > https://dashboard

애니메이션 스테이트 가지고 오기 레거시 애니메이션 스피드 조절

anim = GetComponent< Animation >(); // 애니메이션 스테이트  AnimationState  animStat; //애니메이션 클립 "run"을 가지고 와서      animStat = anim[ "run" ];       //스피드를 올려준다.      animStat.speed = 5f;

소수점 버림 , 반올림

Mathf.floor(float); 소수점 버림