목록전체 글 (279)
ecsimsw
Operating System Os - 2학년을 마치고 휴학 후, 4학기 중 가장 기억에 남는 수업을 고르라고 하면 1학년 1학기 때 수강한 C언어 수업, 2학년 2학기에 수강한 "시스템 프로그래밍" 수업을 고를 것이다. 대학에 처음 입학하여 중간고사 점수가 평균보다도 낮아 열받아 공부하면서 처음 프로그래밍의 흥미를 느끼게 해준 C언어 수업과 프로그램이 작동하는 방법을 보면서 너무 소름이 돋고 재밌어 강의 시간만을 기다렸던 시스템 프로그래밍 수업이다. (기말고사 때 손코딩으로 6시간을 어셈블리 프로그래밍과 컴퓨터 계산 순서를 적고 나왔을 때 그 쾌감은 정말 최고였던거 같다.) 시스템 프로그래밍 수업에선 기본적인 컴퓨터의 구조와 MIPS 어셈블리어로 Structure, Factorial, Linked Li..
Audio Audio Listener - Audio Listener는 게임 내 source가 사용하는 마이크이다. 씬 내의 오디오 출력 장치의 소리를 입력 받아 사용자에게 출력하는 것이다. 소리의 위치(audio source)는 여러 군데 일 수 있으나 한 씬에서 Audio Listener는 단 하나만 사용 가능하다. Audio Listener는 마이크이고 위치를 갖는 소리를 입력 받기 때문에 그 위치가 중요하다. 게임 캐릭터에 차일드화하여 게임 캐릭터를 더 실감나게 표현할 수 있고, 메인 카메라에 위치시켜 관찰자 입장에서 소리를 표현하는 등, 그 위치에 따라 사용자가 듣는 귀의 위치도 달라지는 것이다. Audio Source - 소리를 재생한다. 즉 씬에서 소리의 근원지, 소리를 내는 위치를 결정하는 ..
Scale Factor / Uniform Scale - 오브젝트의 scale의 x,y,z 가 일정하게 모두 같은 것을 uniform scale이라고 하고, 그렇지 않은 것을 non-uniform scale 오브젝트라고 한다. 이런 비균등 스케일은 수정된 스케일에 맞게 매 프레임마다 복사본을 수정하는 작업을 내부적으로 진행하므로 속도 저하의 원인이 된다. 따라서 모델의 scale 조정이 필요할 땐, import할 때, Scale Factor 속성으로 스케일을 맞춰야한다. Collider capability - Collider 연산은 많은 처리를 요하고 타입에따라 다른 속도 처리를 낸다. Sphere Collider > Capsule Collider > Box Collider >>> Mesh Collider
Trail renderer / Particle system - 총알이나 검 등의 궤적을 그리는 방법과 화염이나 구름 등의 효과를 다루는 방법을 공부하였다. Trail renderer - Trail renderder 은 오브젝트의 궤적을 표시하는 컴포넌트이다. 궤적을 표현하고자 하는 오브젝트의 인스펙터에서 trail renderer을 검색하는 것으로 컴포넌트를 추가할 수 있다. 컴포넌트를 추가하고 오브젝트를 이동시키면 다음처럼 분홍색으로 궤적이 표시될 것이다. 여기에 material을 추가하는 것으로 궤적의 이미지를 설정할 수 있다. Time 프로퍼티는 렌더링 지속 시간을 의미한다. 작을수록 더 짧은 시간 동안 렌더링이 유지된다. Width는 렌더링 폭을 의미한다. 궤적의 폭과 굴곡을 조절할 수 있다. P..
Gizmos / Serialized / Debug - 스크립트 내의 private 변수를 게임 실행 중 확인하거나, Mesh가 없는 게임 오브젝트를 씬 뷰에서 확인하여 보다 효율적으로 유니티를 활용하는 방법을 공부하였다. Debug Mode - 인스펙터에서 Debug로 모드를 전환하는 것으로 게임 중 오브젝트 안 스크립트의 private 변수를 활용할 수 있다. Serialized - 객체의 데이타를 연속적인 데이터로 변환하는 것으로, 파일이나 DB에 저장하거나 웹서비스 등으로 네트워크 상으로 전송하는 것을 Serialization이라 한다. 내부적으로 프리팹은 게임 오브젝트와 컴포넌트를 Serialize된 데이터 스트림이다. 이 프리팹이 인스턴스 됐을 때, 새로운 오브젝트에 deSerialize 되는 ..
Light Directional light - 오브젝트의 위치에 상관없이 조명의 각도만을 영향으로 주어 전체 화면에 균일한 빛을 가한다. Point light - 중심으로부터 퍼지는 빛을 가한다. 전구 같은 효과를 낸다. Spot light - 지정한 위치에서 각도로 원형 뿔 모양의 빛을 낸다. Area light - 지정한 사각 공간에서 특정 방향으로 빛을 비춘다. Shadow - No shadows - Hard shadows - Soft shadows
Local Coordinate - 프리팹 에셋 총알을 총구 방향으로 인스턴스하고, 총알의 forward 방향으로 힘을 주었는데 옆면으로 총알이 이동하여 local 좌표계와 local 축을 변경할 수 있는 방법을 공부하였다. transform.forward transform.forward / transform.up / transform.right 는 객체의 local 좌표(객체 기준에서)에서 각각 forward(z축), up(y축), right(x축)을 world 좌표로 가져온다. 따라서 총알을 어떻게 rotate 한들 local 축은 변함이 없고, transform.forward로 힘을 주는 것은 내 프리팹의 local z축으로 힘을 가한다. 따라서 총알이 정확한 방향으로 진행하고자 한다면 프리팹의 lo..
Vector3 Constructor - 생성자를 이용하여 생성과 함께 해당 x,y,z의 컴포넌트를 갖는 벡터를 생성한다. Vector3 vector3 = new Vector3(3, 2, 2); Static Variables - 자주 사용되는 벡터를 정적 변수로 사용할 수 있다. backVector3(0, 0, -1) downVector3(0, -1, 0) forwardVector3(0, 0, 1) leftVector3(-1, 0, 0) oneVector3(1, 1, 1) rightVector3(1, 0, 0) upVector3(0, 1, 0) zeroVector3(0, 0, 0) nomalize / magnitude - 단위 벡터 : vector을 단위 벡터로 사용하고자 할 때 Nomalize() 메소드..