본문 바로가기

전체 글 59

워드(Word) 자동 대문자 해제

워드를 사용하다 보면 소문자로 작성했음에도 불구하고 대문자로 변경되는 경우가 있습니다. 자동으로 대문자 변경이 되지 않는 방법을 알려드리겠습니다. 파일 -> 옵션 을 클릭합니다. 옵션에서 언어 교정을 클릭 후 자동 고침 옵션을 클릭합니다. 자동 고침에서 문장의 첫 글자를 대문자로 및 표의 셀에 있는 첫 글자를 대문자로를 체크해제 한 후 확인을 클릭합니다.

·
2019. 12. 9.
·

[Git] 깃(Git), 깃허브(Github)

깃(Git) 깃(Git)은 컴퓨터 파일의 변경사항을 추적하고 여려 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템입니다. 소프트웨어 개발에서 소스 코드 관리에 주로 사용되지만어떠한 집합의 파일의 변경사항을 지속적으로 추적하기 위해 사용될 수 있습니다. 출처 깃 (소프트웨어) - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 깃저장소 생성, 파일 추가, 원격 동기화를 표시하는 명령 줄 세션원저자리누스 토르발스[1]개발자주니오 하마노(Junio Hamano), 리누스 토르발스 등[2]안정화 버전2.21.0 / 2019년 2월 24일 (9달 전)(2019-02-24)[3] 저장소 프로그래밍 언어C, 셸, 펄, Tcl, 파이썬[4]운영 체제리눅스, POSIX, ..

Git
·
2019. 12. 4.
·

[Unity] 레이캐스트(Raycast)

레이캐스트는 광선을 쏘는 것을 의미합니다. 여기서는 레이를 쏜다 라고 표현하겠습니다. 레이캐스트를 사용하면 광선에 충돌되는 콜라이더(Collider)에 대한 거리, 위치 등의 자세한 정보를 RaycastHit로 반환합니다. 레이캐스트는 충돌되는 콜라이더를 반환하므로 콜라이더가 없는 게임오브젝트는 충돌을 감지할 수 없습니다. 레이캐스트는 주로 전방에 있는 오브젝트를 검출할 때 사용합니다. 다양한 레이캐스트 함수가 있지만 몇가지만 살펴보겠습니다. Physics.Raycast(Vector3 origin, Vector3 direction, out RaycastHit hitInfo) 시작점(origin)과 방향(direction)으로 레이를 쏘는 함수입니다. 시작점과 방향으로 모든 충돌체에 대해 레이를 쏩니다. ..

·
2019. 12. 3.
·

[C#] 객체 얕은 복사(Shallow Copy) 깊은 복사(Deep Copy)

얕은 복사(Shallow Copy) 얕은 복사는 객체의 참조만 복사하는 것입니다. 객체를 얕은 복사 하게 되면 스택에 있는 참조를 복사하게 됩니다. 즉 복사할 객체(source)의 참조값을 복사될 객체(target)에 대입하게 됩니다. 다음은 얕은 복사의 예제 코드입니다. public class Employee { public int No; public string Name; } public class Program { static void Main(string[] args) { Employee source = new Employee(); source.No = 1; source.Name = "Sana"; Employee target = source; target.No = 2; target.Name = "..

C#
·
2019. 12. 3.
·

[C#] 정적(Static) 클래스(Class), 메소드(Method), 필드(Field)

정적 클래스(Static Class) 정적 클래스는 new 키워드를 사용해서 인스턴스를 만들 수 없습니다. 정적 클래스는 class 키워드 앞에 static 키워드를 선언해서 만듭니다. 정적 클래스의 모든 멤버는 static으로 선언되어야 합니다. 정적 클래스는 생성자를 포함할 수 없습니다. 정적 클래스는 객체들이 처음 호출될 때 생성되고 프로그램이 종료될 때 해제되기 때문에 정적 클래스는 어디서든 접근할 수 있습니다. 전역적으로 접근해야 하는 유틸리티 클래스를 만들 때 정적 클래스로 만들면 유용하게 사용할 수 있습니다. 다음은 정적 클래스의 예제 코드입니다. 정적 메소드(Static Method) 정적 메소드는 인스턴스를 직접 생성하지 않고 호출할 수 있습니다. 정적 메소드는 static 키워드를 선언..

C#
·
2019. 11. 28.
·

[Unity3D] 게임오브젝트(GameObject) 스내핑(Snapping)

정점 스내핑(Vertex Snapping) 게임오브젝트를 배치할 경우 정확한 사이즈를 알고 있을 경우에는 Transform 속성에 값을 입력해서 배치하면 되지만 마우스를 사용해서 배치하게 되면 정확하게 배치하기가 어렵습니다. 하지만 정점 스내핑 기능을 사용하면 게임오브젝트를 손쉽게 배치할 수 있습니다. 정점 스내핑을 사용하는 방법은 다음과 같습니다. v를 누른 상태에서 원하는 정점에 마우스를 갖다댑니다. 마우스 왼쪽 버튼을 누른 상태에서 배치하고자 하는 다른 정점 옆으로 드래그 합니다. Shift + V로 정점 스내핑 기능의 On/Off를 전환할 수 있습니다. 단위 스내핑(Unit Snapping) 단위 스내핑을 사용하면 Settings에 정의된 단위 거리만큼 게임오브젝트를 배치할 수 있습니다. Edit..

·
2019. 11. 25.
·

[Unity] 트랜스폼(Transform) 크기(Scale)

Transform.lossyScale Transform.lossyScale은 게임오브젝트의 절대적인 크기를 나타냅니다. Transform.lossyScale은 읽기전용(readonly)이기 때문에 게임오브젝트의 절대적인 크기를 설정할 수 없습니다. Transform.lossyScale은 게임오브젝트의 부모 자식 관계에서 자식이 회전했을 경우 크기가 왜곡되기 때문에 유니티에서는 절대적인 크기를 설정할 수 없게 한 것 같습니다. 다음은 Transform.lossyScale의 예제 코드입니다. Debug.Log(transform.lossyScale); Transform.lossyScale으로는 절대적인 크기를 설정할 수 없지만 절대적인 크기를 설정하는 다른 방법이 있습니다. 부모를 null로 설정하고 loca..

·
2019. 11. 25.
·

[Unity] 트랜스폼(Transform) 회전(Rotation)

짐벌락(Gimbal Lock) 먼저 짐벌락을 설명하기 전에 오일러각(Euler angle)에 대해서 이해해야 합니다. 오일러각은 3차원 공간에서 강체가 놓인 방향을 표시하기 위해 도입한 오일러가 도입한 세 개의 각도입니다. x축을 롤(roll), y축을 피치(pitch), z축을 요(yaw)라고도 부릅니다. 오일러각을 이용해서 물체를 회전하다보면 두 축이 한 축으로 되는 현상이 발생합니다. 이를 짐벌락이라고 합니다. 짐벌락은 두 축이 한축으로 되기 때문에 한 축이 제 역할을 못하게 되는 현상입니다. 한 축으로 회전함에도 불구하고 다른 축들이 영향을 받는 이유는 축들이 서로 연결되어있기 때문입니다. 이해를 돕기 위해 예를 들어 보겠습니다. 아래 하이어라키 구조를 보면 x축(빨간색)은 y축(초록색)에 연결되..

·
2019. 11. 21.
·

[Unity] 트랜스폼(Transform) 이동(Move)

유니티 좌표계 프로그램마다 사용하는 좌표계가 다릅니다. 따라서 좌표계에 대해서 이해하는 것은 매우 중요합니다. 유니티에서는 위치를 표현할 때 왼손 좌표계를 이용합니다. X축은 빨간색, Y축은 초록색, Z축은 파란색(RGB순서)으로 표현합니다. Transform.position Transform.position은 게임오브젝트의 절대좌표를 나타냅니다. Transform.position에 Vector3를 대입하면 해당 위치로 이동합니다. 다음은 Transform.position의 예제 코드입니다. transform.position = new Vector3(x, y, z); Transform.localPosition Transform.localPosition은 게임오브젝트의 상대좌표를 나타냅니다. 게임오브젝트의..

·
2019. 11. 19.
·

[C#] 클래스(Class) 생성자(Constructor), 소멸자(Destructor)

생성자(Constructor) 생성자는 객체가 만들어질 때 정의하는 메소드입니다. 생성자의 이름은 클래스 이름과 동일하게 정의하고 반환형은 없고 매개변수를 가집니다. 생성자는 메소드와 마찬가지로 오버로딩이 가능하고 객체가 만들어질 때 직접 호출합니다. 생성자는 주로 객체의 필드를 초기화 할 때 사용합니다. 다음은 생성자의 예제 코드입니다. 출력결과 dog1 Name : 없음, Breeds : 없음 dog2 Name : 곰이, Breeds : 시바 소멸자(Destructor) 소멸자(종료자)는 객체가 없어질 때 정의하는 메소드입니다. 소멸자의 이름은 클래스 이름 앞에 ~를 붙여서 정의하고 반환형과 매개변수가 없습니다. 소멸자는 오버로딩 할 수 없으며 직접 호출할 수 없습니다. 소멸자는 CLR의 가비지 컬렉..

C#
·
2019. 11. 13.
·
반응형