반응형

프로그래밍 정리 298

[Unity - 유니티] 따라다니는 카메라

// 유니티는 게임오브젝트의 회전을 쿼터니언(Quaternion)타입으로 처리.// Quaternion.Euler는 오일러 각을 쿼터니언 타입으로 변경시주는 함수.Quaternion rot = Quaternion.Euler(0, currYAngle, 0); // dist : 타겟과의 거리// height : 카메라의 높이 위치tr.position = target.position - (rot * Vector3.forward * dist) + (Vector3.up * height); // 카메라가 타겟 게임오브젝트를 바라보게 설정tr.LookAt(target);

[Unity - 유니티] 전후좌우 이동방향 계산 및 이동

float h = 0.0f;float v = 0.0f; Transform thisTr; float Speed = 15.0f; void Start(){thisTr = GameObject.GetComponent();} void Update(){h = Input.GetAxis("Horizontal");v = Input.GetAxis("Vertical"); Vector3 moveDirection = (Vector3.forwad * v) + (Vector3.right * h); thisTr.Translate(moveDirection * Time.deltaTime * Speed, Space.Self);} ※ Space.Self = 로컬 좌표계 Space.World = 월드 좌표계

[Unity - 유니티] 정규화 벡터 (Normalized Vector)

크기와 방향을 가진 데이터형을 벡터라 함.각 축의 크기가 1인 벡터를 단위벡터, 즉 정규화된 벡터(Normalized Vector)라 함.방향만을 표시한 벡터라고 생각하면 됨. 유니티에서 제공하는 Vector3구조체에 ShortcutVector3.forward = Vector3(0, 0, 1)Vector3.back = Vector3(0, 0, -1)Vector3.left = Vector3(-1, 0, 0)Vector3.right = Vector3(1, 0, 0)Vecotr3.up = Vector3(0, 1, 0)Vector3.down = Vector3(0, -1, 0)Vector3.one = Vector3(1, 1, 1)Vector3.zero = Vector3(0, 0, 0)

[Unity - 유니티] Unity Angle 등 관련함수

transform.rotation => 모든각을 최대 1로 봄. transform.eulerAngles => 360 기준으로 각을 계산. Time.time => 게임 시작후 경과된 총시간 TIme.deltatime => 마지막 업데이트 후 시간 Mathf.Lerp(현재값, 대상값, 뽑아낼 퍼센트값(0~1)) => 일반 러프 함수와 동일함 Mathf.LerpAngle(현재값, 대상값, 뽑아낼 퍼센트값(0~1)) => 대상값을 360단위 각으로 계산하여 그이상이 되어도 필요한 각도만 나온다 lerp의 인자 수정해도 동일한 값 나옴=> Mathf.LerpAngle(MinAngle, MaxAngle, Time.time)

[Unity - 유니티] Physics.Raycast / 레이어

Physics.Raycast 파라미터=> Vector3 빛의 발사위치, Vector3 빛의 방향, float 빛의 길이, int 빛이 닿은 레이어의 비트마스크 레이어는 0~7까지 기본 내장.8이상부터 개발자가 직접 정의. Raycast함수로 지정하는 레이어 번호는 내부적으로 비트연산.예를들어 8번 레이어라면 이진수로 100000000 이라는 값을 전달해야 하므로변수의 정의로 1

[Java - 자바] 정규식, Pattern, Matcher

정규식- 텍스트 데이터 중에서 원하는 조건(패턴)과 일치하는 문자열을 찾아 내기 위해 사용하는 것.- 미리 정의된 기호와 문자를 이용해서 작성한 문자열.- 정규식을 이용하면 많은 양의 텍스트 파일 중에서 원하는 데이터를 추출할 수 있고, 형식에 맞는 데이터인지 체크할 수 있음. Pattern- 정규식을 정의하는데 사용. Matcher- 정규식(패턴)을 데이터와 비교하는 역할. ------------------------------------------------------------------------------------------ex) String data[] = {"abc, "cat", car", "card", "bcd"}; Pattern p = Pattern.compile("c[a-z]*"); ..

[Java - 자바] Random, Math.random()

Random Random r = new Random("종자값");- 종자값은 난수를 만드는 공식에 사용되는 값- 같은 공식에 같은 값을 넣으면 같은 결과를 얻는 것처럼 같은 난수를 얻게 됨. Random r1 = new Random(1);Random r2 = new Random(1);Random r3 = new Random(2);Random r4 = new Random(2); - r1과 r2 같은 종자값 1을 사용하기 때문에 같은 난수값을 얻음.- r3과 r4도 마찬가지로 같은 종자값 2를 사용하기 때문에 같은 난수값을 얻음.- 단지 생성자 Random()은 종자값을 System.currentTimeMillis()로 하기 때문에 실행할 때마다 얻는 난수가 달라짐. ----------------------..

[Java - 자바] MessageFormat

MessageFormat- 데이터를 정해진 양식에 맞게 출력할 수 있는 메서드- 데이터가 들어갈 자리를 마련해 놓은 양식을 미리 작성- SimpleDateFormat의 parse처럼 MessageFormat의 parse를 이용.String msg = "Name : {0} Tel : {1} BirthDay : {2}"; - '{숫자}'로 표시된 부분이 데이터가 출력될 자리.- 숫자는 배열처럼 인데스가 0부터 시작.- 객체 배열이기 때문에 String 이외에도 다른 객체들이 지정될 수 있음.Object[] arguments = {"테스트", "01-234-5678", "03-02"};String result = MessageFormat.format(msg, arguments);System.out.printl..

[Java - 자바] DecimalFormat

* 0 : 10진수(값이 없을 때는 0) * # : 10진수 * . : 소수점 * - : 음수부호 * , : 단위 구분자 * E : 지수기호 * ; : 패턴구분자 * ex) pattern이 "#,###.##+;#,###.##-" 일경우 * 1,234,567,89+ (양수일때) * 1,234,567,89- (음수일때) * % : 퍼센트 * \u2030 : 퍼밀(퍼센트 * 10) * \u00A4 : 통화(화폐기호) * ' : escape문자 * ex) '\ == \\ Number 클래스는 Integer, Double과 같은 숫자를 저장하는 wrapper클래스의 조상.doubleValue(), intValue(), floatValue()등의 메서드를 통해서저장된 값을 반환함. DecimalFormat에 par..

반응형