일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- ios
- 게임
- Mac
- path
- Game
- unity
- 배열
- unity3D
- 태그를 입력해 주세요.
- file
- XML
- 아이튠즈
- 단축키
- sdk
- swf
- AIR
- Flash
- builder
- Build
- 영어
- flash builder
- Ane
- class
- 3d
- iphone
- Android
- texture
- 경로
- smartfoxserver
- AS3
- Today
- Total
목록개발관련(Development)/유니티3D(Unity3D) (52)
상상 너머 그 무언가...
testObj = GameObject.Find("Test"); 스크립트의 파일명을 string으로 입력해서 붙이기 : testObj.AddComponent("PlatformDefines"); 스크립트의 타입을 입력해서 붙이기 : testObj.AddComponent(); 유니티의 Project 패널안에 붙이고자 하는 스크립트 파일이 존재하면 GameObject에 동적으로 스크립트를 붙일 수 있다. 주위할것은 런타임 중에 스크립트 실행으로 해당 컴포넌트가 추가로 붙는게 아닌 에디터 모드에서만 된다.
참조 : http://www.devkorea.co.kr/bbs/board.php?bo_table=m04_3&wr_id=9442#c_9459 WWW www = WWW.LoadFromCacheOrDownload( url, 1); 위 문장처럼 LoadFromCacheOrDownload를 사용하면 www의 bytes는 에셋번들 전용이라는 오류문구가 뜨는데 WWW www = new WWW(url); 위 문장처럼 WWW의 생성자의 매개변수로 url을 넣어 www를 생성하면 www의 bytes에 접근을 해도 오류문구가 뜨지 않는다. LoadAssetBundle.cs private string url ="Lerpz_Prefab.unity3d"; public IEnumerator LoadAsset() { WWW www ..
프로젝트 안에 에셋번들 만들수 있게 해주는 스크립트가 없으면 아래 이미지 처럼 Assets메뉴안에 별다른 메뉴가 없지만 에셋번들 스크립트가 프로젝트 안에 포함되어 있다면 아래와 같이 Assets메뉴안에 에셋번들 파일을 만들어 주는 메뉴가 두가지가 보여진다. ExportAssetBundles.cs 코드 using UnityEngine; using UnityEditor; public class ExportAssetBundles { [MenuItem("Assets/Build AssetBundle From Selection - Track dependencies")] static void ExportResource () { // Bring up save panel string path = EditorUtility..
비주얼스튜디오에서 C# > Windows > Class Library 를 선택해서 프로젝트를 생성. 기본으로 생성되는 MyClass이름을 원하는 이름으로 변경 (수정하면 자동으로 cs파일안의 class명이 바뀐다.) 사용할 메소드를 작성 후 빌드하면 아래의 경로처럼 해당 프로젝트 폴더의 bin > Debug 폴더안에 dll 파일이 생성된다. 유니티에 사용하고자 하는 C# dll파일을 Plugins폴더가 없다면 생성하여 해당 폴더 안에 넣는다. 다른 Unity3d의 CS파일에서 사용하러면 using 생성된dll 이름 클래스명.메소드 형식으로 호출하여 사용 이게 정식이 아닐지도 모르지만 일단 된다. 나중에 더 찾아봐야겠다.
int[] arr1 = new int[] { 3, 4, 5 }; // Declare int array int[] arr2 = { 3, 4, 5 }; // Another var arr3 = new int[] { 3, 4, 5 }; // Another int[] arr4 = new int[3]; // Declare int array of zeros arr4[0] = 3; arr4[1] = 4; arr4[2] = 5;
◎ Icon (App Icons) 114*114
MonoDevelop 프로그램에서 각종 버튼이나 UI 속의 텍스트가 깨져서 아래 이미지 처럼 이상하게 보이는 경우가 있다. 이럴 땐 설정에 들어가서 UI 언어를 변경해주면 된다. 환경설정 화면으로 이동해서 User Interface Language 항목에 Default로 설정되어 있는걸 영어로 바꾸면 된다. 아쉽지만 아직 한글은 항목에 보이지 않는다. 바꾸고 모노디벨롭 프로그램을 종료 후 다시 실행하면 아래 이미지들 처럼 영어가 깨지지 않고 나오는걸 볼 수 있다.
유니티 리모트 라는 어플이 아이폰 앱스토어랑 안드로이드 앱스토어에 올라가져있다. 아이폰용은 Unity Remote 3 라는 이름으로 올라가져 있고 안드로이드용은 Unity Remote 라고 올라가져 있다. 아이폰용은 로컬 Wifi로 연결된 맥 컴퓨터와 연결되어 실행되지고 안드로이드용은 해당 폰의 USB 케이블로 연결되어 실행되어진다. 아이폰용은 remote 실행한 화면에서 맥 컴퓨터의 IP 주소를 입력해주면 된다. 아이폰용은 유니티 프로그램이 설치가 되어 있으면 별도의 설정 없이 remote 가 동작되지만 ( xcode 경로를 알아서 찾는듯) 안드로이드용은 유니티 프로그램에서 안드로이드 SDK 경로를 설정해줘야 정상동작 된다. 유니티 프로그램에서 Unity > Preferences 로 이동하면 아래와 같..
게임 오브젝트가 특정 위치로 미끄러지듯 슬라이딩 하는것처럼 움직이기 하기위해서는 현위치 += (타겟위치 - 현위치) * 0.2 뭐 위의 같은 연산을 해서 움직이게 하면 되긴하지만 모바일 스텐다드 에셋에 포함되어 있는 zoomCamera 스크립트에서 사용한것처럼 아래와 같이 입력해주면 currentZoom = Mathf.SmoothDamp( currentZoom, targetZoom, zoomVelocity, seekTime ); 현재값에서 타겟값으로 부드럽게 움직이도록 할 수 있다. SmoothDampAngle 은 각도변화를 부드럽게 변화시켜주는 것이다. 15도에서 350도로 이동하게 하면 15에서 350도로 점차 값을 증가시키는 것이 아닌 15도에서 -10도로 가까운 방향으로 변화되어지기 때문에 편하다.
transform.forward = target.forward update 함수안에 위 문장을 넣어주면 target 오브젝트의 forward에 대한 회전값을 그대로 자신의 회전값에 매칭 시켜준다. 주로 특정 오브젝트를 따라 이동하는 카메라에 사용한다.
#region 코드 블록에 대한 설명글 ... 코드 ... #endregion 코드 블럭은 대부분 함수나 클래스 단위로 자동으로 영역이 잡히게 되어 있는데 루틴단위로도 묶어서 해당 코드 블록을 접어서 안보이게 할 수 있다. 사전적 의미로는 지방, 지역 등의 의미가 있다.
유티니에서는 스크립트에서 public 으로 선언된 변수를 Inpector 창에서 직접 대입, 수정이 가능하도록 되어 있는데 때에 따라서는 감춰야할 필요성이 있다. 필요한것만 노출시키고자 하거나 public 변수가 너무 많다거나 하는등의 경우가 그런경우... 아래 그림과 같이 CharController 라는 변수가 Inspector 창에 노출되어 있는 상태에서 해당 변수를 감추고 싶다면 아래 형식과 같이 적어주면 된다. [HideInInspector] public 변수타입 변수명; ex) [HideInInspector] public CharacterController charController; 수정된 스크립트가 적용되면 아래 그림과 같이 기존에 노출되었던 변수가 보이지 않는것을 확인 할 수 있다.