본문 바로가기

unity95

유니티 - [함수호출 순서] ▣ 안녕하세요. 이번장에서는 유니티 엔진에 기본 함수들에 호출 순서를 공부해보겠습니다. ▣ 먼저 빈 게임 오브젝트를 만든 다음에 TestManager라는 스크립트를 생성해서 넣어주세요. ▣ Awake(), OnEnable(), OnDisable(), Start(), FixedUpdate(), Update(), LateUpdate() 함수를 생성해주시고, 각각 호출되는 순서를 확인하기위해 Debug.Log()를 코드 해주세요. ▣ OnEnable() 함수는 게임 오브젝트가 활성화될 때 실행하는 함수이고, OnDisable() 함수는 게임 오브젝트가 비활성화될 경우 실행되는 함수입니다. Awake(), Start() 함수는 스크립트가 실행할 때 기본으로 한번 실행되는 함수인데 이건 순서를 확인해보겠습니다. .. 2022. 8. 18.
유니티 - [CameraShake, 카메라 쉐이크효과] ▣ 안녕하세요. 이번장에서는 카메라 셰이크(흔들기) 효과에 대해 공부하도록 하겠습니다. ▣ 우선 3D프로젝트를 생성해 주시고, 기본 플레이어와 땅을 배치해 주세요. 그리고 카메라 위치를 플레이어 캡슐이 중앙에 보이게 위치를 변경해주세요. 그런 다음 플레이어에 스크립트 한 개를 생성해서 넣어주세요. ▣ 스크립트를 열어서 cam, cameraOriginalPos 변수를 선언해주세요. cam에는 메인카메라메인 카메라 클래스를 cameraOriginalPos에는 메인 카메라에 위치를 넣어주세요. ▣ 그런다음 업데이트 함수에서 Debug.Log(Random.insideUnitSphere)이라는 클래스에 있는 기능을 출력해보려고 합니다. https://docs.unity3d.com/kr/530/ScriptRefer.. 2022. 6. 9.
유니티 - [회전과 방향 전환] ▣ 이번장에서는 2D 오브젝트 방향을 조정하는 코드를 작성해보겠습니다. ▣ 김선민 벨로그를 참고하여 코드를 작성했습니다. 감사합니다. 출처 : https://velog.io/@sonohoshi/7.-Mathf.Atan2% EC%97%90-%EB% 8C%80% ED%95% B4-%EC%95% 8C% EC%95%84% EB% B3% B4% EC% 9E%90 7. Mathf.Atan2에 대해 알아보자 Unity에서 제공하는 static class, Mathf 에서 제공하는 static method Atan2를 설명한다. velog.io ▣ 우선 기본적으로 원으로 플레이어 오브젝트를 만들어주시고, 그리고 방향을 구분하기 위해 적에 오브젝트를 눈이 있는 캐릭터로 지정했습니다. 그리고 Enemy오브젝트에 스크립트 .. 2022. 4. 20.
유니티 - [폭발효과, OverlapSphere, AddExplosionForce] ▣ 안녕하세요. 이번장에서는 폭발 효과 OverlapSphere, AddExplosionForce를 공부해보겠습니다. ▣ 우선 저번장과 이어서 3D 프로젝트를 생성해주세요. 그리고 Player, Plane을 3D 오브젝트로 생성해주세요. Player안에 리지드 바디, 스크립트, 그리고 콜라이더를 두 개를 넣어주세요. Collider 충돌과 Is Trigger를 동시에 사용하기 위함입니다. ▣ 그리고 Enemy 또한 리지 디바디까지 추가해주세요. 이건 폭발 효과에 힘을 받기 위함입니다. ▣ 그리고 Layer메뉴에서 Add Layer로 레이어를 추가해줍니다. 이건 Tag과 동일하게 모든 오브젝트에 힘을 주면 메모리가 많이 사용되는 걸 방지하기 위해 보통 물리효과는 Layer로 구분을 하기 때문에 연습 삼아 .. 2022. 3. 28.
유니티 - [Destroy, ParticleSystem, GetComponentInChildren] ▣ 안녕하세요. 이번장에서는 Destroy, ParticleSystem, GetComponentInChildren를 공부해보도록 하겠습니다. ▣ 우선 3D 프로젝트를 생성해주시고, Player, Plane 오브젝트를 생성해주세요. 그리고 Player오브젝트에는 스크립트, 콜라이더, 리지드 바디를 컴포넌트로 추가해주세요. 그런 다음에 유니티 에셋에서 무료 파티클을 다운받으세요. https://assetstore.unity.com/packages/essentials/asset-packs/unity-particle-pack-5-x-73777 Unity Particle Pack 5.x | 에셋팩 | Unity Asset Store Get the Unity Particle Pack 5.x package from .. 2022. 3. 27.
유니티 - [글로벌좌표, 로컬좌표, 이동, Space.World] ▣ 안녕하세요. 이번장에서는 글로벌과 로컬 좌표에 대해 그리고 이동에 대해 공부해보겠습니다. ▣ 우선 기본적으로 하나의 플레이어를 생성해주시고 PlayerManager라는 스크립트를 넣어주세요. 그리고 Rotation 좌표에 x값을 40으로 해서 플레이어를 돌려주세요. 그리고 씬 메뉴 위에 있는 메뉴에서 Local을 눌러 플레이어가 어디 방향을 보고 있는지 확인해주세요. ▣ 그리고 이번에는 Global로 좌표 기준을 바꿔보세요. 그럼 아까와 다르게 바라보는 방향에 대한 기준 좌표가 바뀐 걸 확인할 수 있습니다. 이번에는 스크립트로 이동해서 직접 글로벌과 로컬을 비교해보겠습니다. ▣ transform.Translate(move * Time.deltaTime, Space.Self)로 입력을 해주세요. Spa.. 2022. 3. 21.
유니티 - [텍스트를 오브젝트로 제작, UI Text 오브젝트로 Text Mesh] ▣ 안녕하세요. 이번장에서는 Ui Text를 오브젝트 형식으로 제작하는 걸 해보겠습니다. ▣ 3D프로젝트를 생성해주시고, 플레이어와 큐브를 이용하여 트리들을 배치해주세요. 색도 자유롭게 넣어주세요. ▣ 먼저 기본 UI Text를 넣어보겠습니다. ▣ 이렇게 Text에 test라는 글을 입력하고 크기를 수정해주세요. 그리고 플레이를 해보겠습니다. ▣ 그럼 캔버스 우리 시점에 따라 UI Text가 보이는 걸 확인할 수 있습니다. 하지만 우리가 하고 싶은건 각각 오브젝트별로 Text를 그리고 싶습니다. 그럴 때 Text Mesh를 사용하면 됩니다. ▣ 우선 오른쪽 마우스를 눌러서 빈 오브젝트를 생성합니다. ▣ 빈오브젝트에 위치를 초기화해주시고, 컴포넌트를 추가하겠습니다. Text Mesh를 추가해주세요. ▣ 그.. 2021. 9. 5.
유니티 - [FPS게임, 카메라마우스회전, 캐릭터컨트롤] ▣ 안녕하세요. 이번장에서는 간단하게 FPS 게임에서 플레이어를 움직이고 카메라로 마우스를 움직이게 하는 코드를 만들어보겠습니다. ▣ 먼저 3D 프로젝트를 생성해주시고, 3D 오브젝트로 플레이어와 큐브를 배치해주세요. ▣ 그런 다음에 플레이어 오브젝트에 콜라이더를 삭제해주시고 Character Controller를 추가해주세요. ▣ 그리고 플레이어 오브젝트를 따라서 카메라가 같이 움직여야 하기 때문에 메인 카메라를 플레이어 오브젝트에 넣어주세요. ▣ 그런 다음에 메인 카메라에 위치를 플레이어 오브젝트 머리에 옮겨서 FPS처럼 보이게 위치를 변경합니다. ▣ 그런 다음에 플레이어오브젝트에 PlayerManager스크립트를 추가해주시고, 스크립트를 실행해주세요. 그런 다음에 먼저 플레이어컨트롤러를 컴포넌트로 .. 2021. 8. 8.
유니티 - [RayCast, RayCastAll, 레이캐스트] ▣ 안녕하세요 이번장에서는 RayCast를 공부해보겠습니다. 레이 캐스트는 쉽게 이야기해서 오브젝트에서 레이저를 쏴서 그 레이저에 달인 오브젝트를 감지하기 위한 기능입니다. 보통 FPS 게임에서나 VR에서 많이 사용됩니다. ▣ 먼저 간단하게 3D프로젝트를 생성해주시고, 3D 오브젝트에서 캡슐로 Player 만들어주세요. Player안에 PlayerManager라는 스크립트도 작성해주세요. ▣ 그리고 레이 캐스트로 닿을 대상 3D 오브젝트에서 큐브를 생성해주세요. 위치에 Z값은 10으로 해주세요. 그리고 콜라이더도 꼭 추가해주세요. 충돌을 측정하기 위함입니다. 이제 PlayerManager스크립트를 들어가서 코드를 작성해보겠습니다. ▣ Update() 함수에서 Physics. 를 접근해서 Raycast라고.. 2021. 7. 26.
유니티 - [컴포넌트 추가, 삭제, 비활성화] ▣ 안녕하세요. 이번장에서는 컴포넌트를 추가, 삭제, 비활성화를 해보도록 하겠습니다. ▣ 3D로 프로젝트를 생성해주시고, 3D에서 캡슐로 하나하나 만들어주세요. 여기에 Capsule Collider와 PlayerManager스크립트를 추가해주세요. 그리고 스크립트를 들어가보겠습니다. ▣ 먼저 컴포넌트를 추가하려면 에디터에서도 가능하지만 스크립트에서 간단하게 코드로도 가능합니다. Addcomponent (); 코드로 리지드 바디 컴포넌트를 추가했습니다. 그리고 Rigidbody rid 변수에 GetComponent(); 값이 대입해주세요. 그리고 rid.AddForce로 리지드바디를 활용하여 Player캐릭터에 Y축에 힘을 주겠습니다. 저장을 하고 ▣ 시작을 하면 Player오브젝트에 Rigidbody 컴.. 2021. 7. 24.
유니티 2장(오브젝트 풀링, 리스트, 배열, 프리펩, 오브젝트 충돌) ▣ 안녕하세요 ^^ 이번장은 오브젝트 풀링을 공부해 보겠습니다. 오브젝트 풀링이 무엇인지 함께 실습으로 공부하면서 진행하겠습니다. ▣ 그리고 다시 말씀드리지만 제가 드리는 방법은 정답이 아닌 여러 방법 중에 한 가지임을 명심하시고 저와 함께 유니티를 공부한다고 생각해주시면 감사하겠습니다. ▣ 먼저 3D로 프로젝트를 생성해주시고 3D 게임 오브젝트 캡슐과 바닥을 생성해줍니다. 저는 캡슐을 bullet이라고 이름을 지었습니다. 계속 총알이 떨어지는 게임을 만들 겁니다. ▣ 그런 다음에 bullet오브젝트에 Rigidbody를 추가해 줍니다. ▣ 그리고 게임을 플레이해보면 기본적으로 3D오브젝트에 추가된 Collider까지 캡슐이 떨어지는 걸 확인할 수 있습니다. Rigidbody를 보면 Use Gravity.. 2020. 8. 4.