반응형

Unity/엔진프로그래밍 10

0705_좀비슈터 (시험)

다 만들고, 녹스로 빌드해서 영상 찍어서 제출하기 https://github.com/IJEMIN/Unity-Programming-Essence IJEMIN/Unity-Programming-Essence 레트로의 유니티 게임 프로그래밍 에센스. Contribute to IJEMIN/Unity-Programming-Essence development by creating an account on GitHub. github.com 에셋 받기 https://assetstore.unity.com/packages/tools/input-management/joystick-pack-107631 Joystick Pack | 입출력 관리 | Unity Asset Store Get the Joystick Pack packa..

0415_좀비슈터 단계별 테스트 _ 좀비가 타겟을 바라보고 이동

플레이어를 바라 보면서 좀비가 이동하는 것을 테스트 할 것이다. 해야 할 것 1.좀비가 움직일때 transform.Lookat 를 사용하여서 상대를 바라보게 만들게 한다. 2.그 방향으로 좀비 캐릭터가 움직이게 한다. ------- 스크립터 생성하기 이동할때 필수적으로 나와야하는 것들 ★★★★★ ★dis 거리 = 타겟 - 내 위치 ★normal 방향 = dis.normalized 하면 방향이나옴 ★★이동 = 방향 * 속도 * 시간 // 이게 공식 ★★★★★ 먼저 코루틴을 활용해서 공식을 만듭니다. ----- 위에 코드를 쓰면 로테이션이 제대로 되지 않아서 그쪽으로 움직이지 않습니다. using System.Collections; using System.Collections.Generic; using Un..

0415_좀비슈터 단계별 테스트 _ UI만들고, 부딪치면 체력깍이게하기

UI를 UI카메라를 이용하여서 따로 만들고 플레이어에게 체력을 부여하여서 부딪치면 체력을 깍이게 하는 걸 테스트 해볼 것이다. 해야할 것 1.UI를 만들어야함(UI를 만들었던 방식으로) 2.플레이어에게 체력을 만들어주고, UI에 그 체력을 띄워야함 3.좀비와 부딪치면 체력을 깍이게 만들어야함 ---- 0. UI 카메라를 만든다 1. 컨버스에 렌더모드를 카메라로 하고, 내가 만든 UI카메라를 달아준다. 2. Text 로 헬스 게이지를 만들어준다 3. playerState 스크립터를 만들어서 체력과 UI를 업데이트할 스크립터를 만들어준다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class Pla..

0415_좀비슈터 단계별 테스트 _ 움직이고, 부딪치면 충돌 체크

플레이어와 좀비가 닿았을 때 충돌이 되었는지 체크를 하려한다. 해야할 것 1. 캐릭터를 움직여야함 2. 서로 부딪쳤을때 로그가 떠야함 ---- 0.캐릭터와 좀비를 세팅한다. 1.캐릭터를 움직이게 한다. -Input.GetAxis 를 사용해서 움직인다. 먼저 move할 코드를 넣을 스크립터를 만들어준다.. public float Move { get; private set; } public float Rotate { get; private set; } 맴버 변수에 Move과 Rotate 값을 받을 속성변수를 만들어 준다. public void Update() { this.Move = Input.GetAxis("Vertical"); this.Rotate = Input.GetAxis("Horizontal"); ..

0415_좀비슈터 단계별 테스트 _ LineRenderer

총이 나가면 앞에 발사된것 처럼 라인을 그려주는 역할을 하는 LineRenderer를 테스트 해보자 해야할 것 입력시 또는 총일 나갈 시 라인렌더러가 false; 에서 true;가 되면 된다. --- 0. 건을 생성 해주고, 라인렌더러를 달아준다. 1. App(실행만 해주는 곳)과 GunLine(작동하는 걸 구현해주는 곳) 스크립터 만들어 준다. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.AI; public class App : MonoBehaviour { public GunLine test; public void Update() { if (Input.GetMouseButto..

0415_좀비슈터 단계별 테스트 _ 자동발사

해야할것 자동으로 발사가 되는 총을 만들어야한다. (이펙트 연습) - 이펙트가 나와야한다. ----- 0. 건 안에 이펙트 들을 넣어준다 (자식으로 넣어서 같이 움직이게 하려함) 1.AutoShooting를 할 스크립터를 만들어준다. !★ 코루틴 연습 ★! using System.Collections; using System.Collections.Generic; using UnityEngine; public class Shooting : MonoBehaviour { public ParticleSystem eff1; public ParticleSystem eff2; public float cycle = 1f; public void AutoShoot() { StartCoroutine(this.AutoShoo..

0415_좀비슈터 단계별 테스트 _ IK 사용하여 총에 손 달기

테스트를 하기 위해서는 최대한 간략하게 기능만 봐야한다. 새로운 씬 만들기 0. 캐릭터 생성 및 건 피봇, 건 생성하기 1. IK를 사용하려면 먼저 캐릭터에 애니메이터에서 IK를 체크를 해줘야한다,. 틀린방법 { 2. 캐릭터와 총을 새로운 게임오브젝트에 자식으로 넣고 IKTest 스크립터(IK 테스트를 할)를 넣어준다. } 3. 스크립터를 작성하고, 핸들에 손을 붙여준다.. using System.Collections; using System.Collections.Generic; using UnityEngine; public class IKTest : MonoBehaviour { public Animator anim; public Transform leftHandMount; public Transform..

0415_좀비슈터 단계별 테스트 _ RayCast 사용

0. 우먼캐릭터 세팅 및 맵 꺼내오기 1. NavMesh 맵에 만들기 2. App 스크립터 생성 후 레이를 쏘고, 잘 나오는지 확인을 함 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.AI; public class App : MonoBehaviour { public Transform point; public NavMeshAgent agent; public Zombie zombie; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update..

0413_ Button 누르고 있을 때 슬라이드, 떼었을 때

문제점 기존 코드는 스페이스 키를 누르면 작동하게 만들었다. 하지만, UI에 버튼을 사용하면 이 코드는 쓸 수가 없다. onClick.AddListener 를 쓰려고하면 Update에 넣으면 계속 증가하면서 값이 너무 커지고, 제대로 작동을 하지 않는다. 해결 방법 슬라이드 버튼에 Event Trigger 컴포넌트 넣어서 해결을 하였다. 슬라이드 버튼에 포인터 UP / Down // 눌렀을때 떼었을때, 이벤트를 넣어주고 플레이어(PlayerController가 있는곳 )를 저기에 넣어준다. (★그러면 저 안에있는 스크립터 접근이 가능해진다.) public void OnPointerDown() { this.isSlide = true; this.animator.SetBool("Slide", this.isSl..

0409 _ 레트로의 유니티 게임 예제

레트로의 유니티 게임 프로그래밍 에센스 예제 닷지. 1. using System.Collections; using System.Collections.Generic; using UnityEngine; public class Bullet : MonoBehaviour { public float speed = 16f; private Rigidbody bulletRigibody; // Start is called before the first frame update void Start() { //게임오브젝트에서 리지드바디 컴포넌트를 찾아서 bulletRigibody변수 할당 this.bulletRigibody = GetComponent(); //리지드바디의 속도 = 앞쪽방향 * 이동속령 this.bulletRig..

반응형