전체 글 63

c# Mathf.Ceil과 Mathf.CeilToInt 그리고 list의 GetRange()

Mathf.Ceil은 f와 값이 같거나 또는 가장 작은 float 값을 리턴해줍니다. Mathf.CeilToInt는 가장작은 정수를 f값과 같거나 크게 Int 값을 리턴해줍니다. list의 GetRange는 메소드를 이용해서 범위 안의 요소를 추출하는 함수입니다. List a = new List(new string[]{ "1", "2", "3", "4"}); 에서 foreach(string a in a.GetRange(2, 3)) { Console.WriteLine(a) | 를 실행하게 되면 2와 3이 출력 될 것입니다.

C# 변환 키워드 implicit, explicit, operator

기본적 캐스팅 ex) float b = 50.f; int a = b; 이러면 에러가 난다. 암시적 변환 불가능하기 때문. but) int a = (int) b로 캐스팅 해준다면 문제가 없게 돌아간다. 이렇게 캐스팅 없이 하는 암시적 변환과, 사용자가 임의로 지정해주는 명시적 변환을 이용한 연산자 설정을 하자. 별도의 캐스팅 없이 변환 되는 암시적 변환 키워드 implicit 사용자가 임의 지정해서 캐스팅 필요한 경우 explicit ex) 시간을 입력하는 Time Class 생성 class time { public int hour, min, sec; public time(){} public time(int h, int m, int s) { hour = h; min = m; sec = s; } public..

String StringBuilder 차이, HashTable, Dictionary 차이, #if #elif 사용법, Parse와 TryParse 사용법

String과 StringBuilder의 차이점 정리해 둔 블로그 = https://coding-groot.tistory.com/53#problemcode StringBuilder 사용법을 정리해 둔 블로그 주소 blog.naver.com/PostView.nhn?blogId=rwans0397&logNo=220775847039&parentCategoryNo=&categoryNo=14&viewDate=&isShowPopularPosts=false&from=postView String을 짧은 시간 동안 계속 수정해주면 계속 동적 활당을 해서 성능이 크게 저하가 될 수 있다. String = 변경할 수 없는 형식 StringBuilder = 변경 가능한 문자열 class StringBuilder의 AppendF..

2일차 후기

오전에 출근해서 TortoiseSVN 푸시와 커밋되돌리기 해봤습니다. 그 후 게임을 플레이하며 플레이에 적용되는 스크립트들을 열어보면서 코드들을 이해하기 편하게 정리해서 적어놨습니다. 그 후 Player와 AI의 스크립트를 열심히 분석했는데 AI에 State를 적용해서 각 상태에 따라 애니메이션을 바꿔주는 코드가 기존에 대학교때 진행한 프로젝트와 유사했었는데 회사에서는 IDLE과 ACTION 상태 2개로만 나뉘며, 그 안에서 자체적으로 해당 NPC를 찾아서 그에 해당하는 애니메이션을 실행시켜주는 구조로 돼있었습니다. 또한 폴더 정리가 규칙적으로 깔끔하게 잘 돼있어서 그 부분을 저도 숙지하기로 하였습니다. 내일은 어떤일을 하게 될 지 모르겠지만 아마도 계속 이런식으로 게임 구현 방식을 익히면서 스스로 공부..

면접 및 첫 출근 후기

처음 취직한건 아니지만 어느정도 체계 잡혀있는 회사는 처음이기에 인생 첫 회사라고 생각하고 글을 씁니당. 우선 1차 기술면접 30분 본 후 그 다음주에 합격문자와 함께 2차 인성면접 일정이 잡혔습니다. 2차 인성면접은 대표님과 이사님 세분과 1시간정도 대화를 하는 형식으로 진행됐습니다. 그리고 그 다음주 최종 합격 연락이 왔고 10/5 부터 출근하면 된다는 연락을 받고 오늘 출근했습니다. 우선 등본과 재학증명서, 졸업증명서(졸업예정증명서)를 준비 한 채 10시 30분까지 회사에 도착했습니다. 도착 한 후 미리 세팅 돼 있던 자리로 안내 받아 3~4시간정도 프로젝트 세팅을 했습니다. SVN 연동 등등 점심은 팀장님과 둘이 먹었으며 같이 식사 후 30분정도 산책도 했습니다. 산책하면서 이런저런 얘기 많이 한..

게임제작기법연구 15주차

Quaternion에서 회전 행렬을 만드는 방법을 정리하고 이를 구현한 코드를 첨부하시오. 사원수의 회전 식 $q_1\cdot q_2 =(w_1w_2-(v1\cdot v2), w_1v_2+w_2v_1 + v_1\times v_2)$ $\quad \space \space \space \space \space \space =(-(\vec{v_1}\cdot \vec{v_1}),(\vec{v_1}\times \vec{v_1}))$ 실수부를 통일 시키지 않고 위 식을 적용하면 실수부가 다르므로 다른 공간에 존재 하게 됨. $v' = qvq^* = v + wt + v\times t$ 그러므로 위 식을 이용해서 실수부를 통일시켜야 합니다. $v' = q(0, 1, 0, 0)q^*$ $\quad = (w + xi + ..