본문 바로가기

▶Programming

이클립스 소스파일 안드로이드 스튜디오로 임포트 하기 예전 안드로이드 책을 산 사람들은 소스코드가 이클립스로 되어 있을 것이다. 이걸 안드로이드 스튜디오에 임포트 하는 방법은 간단하다. 안드로이드 스튜디오를 처음 실행하면 보통 저장 장소로 workspace를 안드로이드 스튜디오가 자동으로 만든다. 만약 workspace가 아니면, 안드로이드 스튜디오를 실행해서 파일들이 어디에 저장되어 있는지를 알아보자. 그런후에 소스 파일을 복사하여 안드로이드 스튜디오 파일들이 저장된 위치로 붙여넣기 한다. 그 다음에 file -> close project 를 선택 한다. 그러면 아래와 같은 화면이 나올 것이다. 그리고 붉은색 원안에 있는 import project를 클릭한다. 그러면 아래와 같은 화면이 뜬다. 여기서 아까 위에서 복사/붙여넣기를 했던 소스 파일을 찾아서 .. 더보기
android error Error:Error: 'I' is not a valid file-based resource name character: File-based resource names must contain only lowercase a-z, 0-9, or underscore 위와 같은 에러가 뜬다면 res 아래 layout 아래 xml 파일 이름에 대문자 'I' 가 들어가 있기 때문에 뜨는 에러 이다. xml의 이름에 대문자를 없애자. 그러면 해결 된다. 더보기
월드좌표 vs 상대좌표 월드좌표 vs 상대좌표 1. 오브젝트의 이동 1)transform.position=vector : 월드 좌표계에서의 위치값ex)transform.position= new vector3(1,1,1); 을 하게 되면 오브젝트는 1,1,1에 위치함.매 프레임마다 항상 위치는 1,1,1 그냥 월드좌표계를 절대 좌표로 생각하면 편할 듯. 이 험난한 유니티 세계에서 절대 바뀌지 않는 기준이 되는 좌표 로컬 좌표는 해당 게임오브젝트의 고유의 좌표를 지칭. 2)transform.translate((vector)) : 상대좌표로서 현재의 위치에 파라미터 값 만큼 이동void Update( ex) transform.translate(new vector3(1,1,1)); 을 ㅎ ㅏ게 되면 현재 오브젝트가 1,1,1에 있을 .. 더보기
Mathf 수학에 관한 함수..많으 쓰임. Mathf.Atan(float f): f에 대한 아크 탄젠트 값을 반환. 언제 쓰는지 모름. Mathf.Deg2Rad: 디그리(각도)를 라디안으로 바꿔주는 함수Mathf.Rad2Deg: 라디안을 디그리로 바꿔주는 함수 실제 라디안의 값을 float로 구하면 그리 크지 않다. 2파이가 360도니까..(1파이는 3.14616~~~~)이 값을 폭발적으로 증가시켜주는게 Mathf.Rad2Deg이다 적용방법은 라디안값 *(곱하기) Mathf.Rad2Deg 하면 된다. Mathf.Atan2(float y, float x) :Returns the angle in radians whose Tan is y/x. 두 float 값의 탄젠트 값..리턴은 앵글인데.. 앵글도 float형 Mat.. 더보기
Quaternion Position에 대입하려면 vector를 사용하듯 rotation에 대입하려면 Quaternion을 사용한다. 쉽게 String a=b(b가 String이어야 하는건 코딩 상식!) Position이나 Rotation도 마찬가지.Transform.position=new Vector()Transform.rotation=Quaternion a 그냥 변수 타입이라 생각하고 이해하면 꽤 명쾌! ransform.rotation에는 단순히 오브젝트의 회전"값"에 대한것이고 transform.Rotate가 +=의 개념이 들어 있어 update함수같은 곳에 넣어주면 회전하게 되는 것이다. 지금 오브젝트의 x,y,z의 회전값=transform.rotation 1줄 요약: 오브젝트를 원하는 x,y,z로 회전할거면 rota.. 더보기
DrawRay vs DrawLine DrawRay : Draws a line from start to start + dir in world coordinates.쉽게 얘기해서 출발지부터 목적지까지의 선을 그리는게 아니라!!!!! 출발지에서 출발지+목적지까지의 벡터값까지의 Ray를 그린단 얘기 DrawLine : Draws a line between specified start and end points.이녀석이야 말로 출발지부터 목적지까지의 선을 그려준다. 그림을 보면 두 녀석의 차이를 확실히 알 수 있다.붉은선: DrawLine 파랑선: DrawRay 원래 목적지의 벡터는 빨강선의 끝자락에 있다. 캐릭터를 이리저리 움직이다보면 Ray는 목적지를 가리키는게 아니라, 엉뚱한 방향을 가리킨다. 왜냐하면 Ray의 목적지는 출발지의 벡터+ 목적지.. 더보기
Unity Navigation 과 Nav Mesh Agent 메뉴에 Window -> Navigation을 선택하면 Inspector 옆에 Navigation이라고 생긴다. 아무튼 이게 중요한게 아니고...결국에 인터넷에서 자료 찾아보면 사용 방법은 너무나 많다. 여기서 정리하고자 하는 건..바로 Bake에 대해서... 1) Agent Radius: 아래 그림을 보면 쉽다. 두 그림을 봤을 때 바닥에 흰색부분이 왼쪽이 더 넓다. 처음 기본 값은 Agent Radius가 0.5인데 이걸 0.1로 줄이면 오른쪽과 같은 그림이 된다. (값이 작을수록 흰부분이 없어짐) 즉, 적 캐릭터가 얼마나 지형 지물에 밀착해서 움직일 수 있는 가를 정해주는 옵션같다. 2) Agent Height: 바닥(진짜바닥)과 네이게이션바닥(파랑색바닥)의 밀착정도 나타낸다고 한다..사실 잘 모르.. 더보기
Animator 상태를 저장하고 싶다...다시 말하면 정지상태, 이동상태, 공격상태 등..FSM처럼 만들어서 쓰고 싶을 경우..HashTable을 이용하듯 사용 할 수 있는 방법이 있다.Animator.StringToHash(레이어이름.상태이름(idle,jump 등)) 더보기
light Bias: 섀도우가 오브젝트에서 얼마나 멀리 떨어진 거리에서 시작되는지 표시하는 설정. 이 값이 지나치게 낮으면 아티팩트가 생성되고 값이 지나치게 높으면 오브젝트가 떠다니는 것처럼 보일 수 있다. Shadow Type: Hard Shadow/Soft Shadow Culling Mask: 라이트의 영향을 받는 레이어 목록. 더보기
**직렬화(Serializable) 위와 같이 script를 짜면 아래의 화면과 같이 지저분하게 유니티에 나온다. 보는 것과 같이 직렬화(Serializable)를 시키면 아래와 같이 깔끔한 모습을 인스펙터에서 볼 수 있다. ===========================================================================================================**중력(Gravity) 리지드바디 사용시 중력을 사용함에 체크 하면 간혹가다 배경 아래로 가라앉는 경우가 생긴다.이러한 이유는 콜라이더가 없어서이다. collider를 추가하자. 그러면 배경 아래로 가라앉지 않는다. ===========================================.. 더보기