-
두뇌회전 & 순발력 게임
안녕하세요. 현재 Land Of Memories 프로젝트를 진행 중인데 요즘 이리저리 움직이게 되는 일이 많아서 작업을 많이 못했습니다. 내일부터는 다시 비교적 여유가 있을 것 같은데요. 시작 전! 기분 전환 겸(?), 재미있을 것 같은 게임 아이디어가 떠올라서 즉시 프로젝트 작업을 해보기로 했습니다. 작업시간은 약 5시간 정도 걸렸는데, 코드 구현 작업은 의외로? 비교적? 수월하게 진행됐는데 부가적인.. 요소들이 시간을 많이 잡아먹었습니다. 우선 이 이미지 뭐 같이 보이시나요.. 이번 프로젝트를 진행하면서 Image에 쓰일 Sprite를 픽셀 아트로 작업을 한건데.. 여러분들이 생각하시는 그거 맞습니다"티모" 살짝 실패했을 때 약 올리는? 것을 표현하려고 했습니다.전 사실 직접 손으로 그리는 걸 더..
-
UI 공격 & 대쉬 버튼
현재 작업 진행중인 영상 입니다.이번 작업을 진행 하면서, 초기 플랫폼을 명확히 타겟하고 작업을 진행해야 한다고 느꼈습니다. 기존 Input으로 Horizontal과 left shift를 입력 받아 공격과 대쉬를 구현하였었는데, 이를 버튼클릭으로 변경하다 보니 점프 버튼과 플레이어 이동 조이스틱도 필요할 것으로 생각이 들었습니다. 우선 작업 진행 방식은 기존 로직을 코루틴으로 변경 하는것으로 작업해 주었습니다.private void Update(){ if (playerMovement.dashing == true) return; GetInputs(); Attack();}private void GetInputs(){ isAttack = Input.GetMouseButtonDown(0)..
-
UI 아이템 패널 - 물약
물약 버튼 클릭시 체력 회복과 쿨타임을 로직을 구현 하였습니다. 간단한 흐름도를 보자면 1. 물약 버튼을 클릭한다2. 물약의 개수가 1개 이상일때 실행한다3. 플레이어의 체력이 최대 체력보다 낮을때 실행한다4. 물약을 먹은 플레이어의 체력 값이 최대 체력보다 높으면 최대체력, 낮으면 회복값을 그대로 더해준다. 스크립트를 보면서 UI와 함께 살펴 보겠습니다.public class ItemPotion : MonoBehaviour{ [SerializeField] private TextMeshProUGUI potionQuantity; [SerializeField] private GameObject cooltime_Gameobject; [SerializeField] private Image coo..
-
UI 정보 패널 & 미니맵
현재 작업 진행중인 영상 입니다.플레이어 정보 패널과 미니맵 UI 연결 과정 작업을 진행하였습니다. 가장 먼저 유니티 하이어라키 창에서 Manager 스트립트를 만들고 Static 변수로 만들고 플레이어의 정보 들을 담은 PlayerInfomations 스크립트와 UI를 다룰 uiManager 스크립트를 public으로 인스펙터 창 에서 연결해 주어 접근을 용이하게 했습니다. using System.Collections;using System.Collections.Generic;using UnityEngine;public class Manager : MonoBehaviour{ public static Manager Instance = null; public PlayerInfomations pl..
-
UI 기획 (1차)
현재 작업 진행중인 영상 입니다.몬스터의 공격 구현과 함께 플레이어가 피격 되는 동작 구현을 하기 전 간단한 UI를 배치해 보았습니다.컨셉은 Figma를 이용하여 간단히 UI 도안을 작성해 보았고 각 버튼 별로 텍스트가 적혀 있지만 패널마다 하나씩 살펴 보겠습니다. 플레이어 정보패널과 미니맵 입니다. 레벨과 HP가 보여지며 플레이어의 공격 값 과 방어 값 을 텍스트로 넣었습니다. 하단에 보시면 Item이 장착되는 칸이 있습니다. 물약과 같은 소비 아이템을 넣어 플레이어와 상호작용을 구현할 예정 입니다. 플레이어 공격 패널 입니다. 현재 마우스 클릭으로 공격 모션을 취하고있고 Left Shift로 대쉬를 하고 있지만 모바일에서도 상호 작용을 하기 위해 공격 버튼과 대쉬 버튼을 따로 두어 쿨타임을 걸어줄 예..
-
몬스터 상태 구현 (Update)
현재 작업 진행중인 영상 입니다.몬스터 상태 구현을 업데이트 하였습니다. 또한 기존 애니메이션 전이 조건을 대부분 Trigger로 진행 하였었는데, 한번 꼬이기 시작하먼 겉잡을수 없어진다는 점과, 흐름을 파악하기가 매우 힘들어 지는 현상이 발생하여 모든 파라미터를 Bool 변수로 true || false로 변경하였습니다. 간단한 흐름 상태를 보자면 몬스터는 Idle 상태에서 유니티가 실행 되면 Walk 상태가 됩니다. Walk 상태에서 Idle로 넘어가는 조건은 플레이어에게 피격을 당했을시 전투 돌입 준비 상태로 들어섭니다. 준비 상태 이후 플레이의 위치를 총 2번 감지하는데, 첫번째 감지는 플레이어를 추적하기 위함이고 두번재 감지는 플레이어가 몬스터의 공격 범위 내에 들어섰는지 감지합니다.이후 검을 드..
-
몬스터 상태 구현
몬스터의 상태 구현과 애니메이션 작업 과정 입니다. public enum MonsterState{ Idle, Walk, AttackReading, Attack}public MonsterState monsterState = MonsterState.Walk;현재 몬스터의 상태는 대기, 걷기, 공격대기중, 공격 으로 총 4가지 상태가 있으며 초기 상태는 걷기 상태 입니다. switch (monsterState){ case MonsterState.Idle: monsterAnimator.SetTrigger("Idle"); if (player.position.x = targetX) { transform.localScale = new Vector2(..
-
플레이어 공격
작업 진행중인 영상 입니다.private bool isAttack = false;private bool isAttacking = false;private float timeBtweenAttack = 0f;private float timeSinceAttack = 0f;private void Attack(){ timeSinceAttack += Time.deltaTime; if (isAttack && timeSinceAttack >= timeBtweenAttack) { timeSinceAttack = 0; playerAnimations.PlayerAttacking(); if (isAttacking == false) { Hit..
-
플레이어 이동 로직
작업 진행 중인 영상using UnityEngine;public class PlayerMovement : MonoBehaviour{ [SerializeField] private Rigidbody2D playerRigidbdy2D; [SerializeField] private float walkSpeed = 20.0f; private float xAxis = 0f; private void Update() { GetInputs(); MovePlayer(); } private void GetInputs() { xAxis = Input.GetAxisRaw("Horizontal"); } private void MovePla..
-
2D.MetalSlug 08. NPC
안녕하세요. 00 : 34초 오랜만에 MetalSlug 프로젝트를 담아 보려고 왔습니다. 현재는 포로 npc를 구현해 보고 있으며 영상을 보면서 조금씩 따라 해 보면서 구현해 보고 있습니다. 포로 제작과 적 제작을 완료 후 배치를 하는 글과 부서지는 건물 및 보스를 제작하는 글 총 2개의 글로 MetalSlug 1단계 플레이 영상은 마무리될 것 같습니다. 이 프로젝트를 다루면서 느낀 점은.. 첫번째로 정리입니다. Animation 클립들이 몇 개 안될 때는 쉽게 찾을 수 있었지만 하나 둘 계속 늘어가다 보니, 수정 및 확인할 때 이 클립이 무엇이었는지 바로 확인하기가 어려운 점이 있었습니다. 했던 작업을 다시 하며 정리를 하고 있습니다.. 두 번째는 코드 작성할 때 한번 더 생각하자입니다. 역량이 부족하..
-
P.P.P - 03 - UI
안녕하세요! 요즘 정말 정신이 없습니다. 사실 프로그래머스 사이트의 코딩 테스트 연습 문제에 재미를 들려서 아직은 Level 1 단계들을 풀어보고 있지만, 문제를 풀어 보며 다른 분들의 푼 과정을 보고 같은 동작을 하는 코드라도 보다 간결하게, 훨씬 빠르게 풀 수 있는 것을 보며 많이 학습을 하고 있습니다. Unity 프로젝트를 진행하면서 안쓰던 문법들과 또한 다양한 방식들이 존재하니 지루할 틈이 없습니다. 00 : 31초 오늘은 영상 부터 준비했습니다. 옆에 좀비는 플레이어를 쫓아오게 오며 일반 공격을 맞을 시 뒤로 밀려나게 되며 스킬을 맞게 되면 hp감소와 스킬에 따른 동작을 구현하려고 유니티 에셋 스토어에서 다운로드하여 가져왔습니다. 이 Move와 Atk를 알려주는 Sprite 들은 혹시 몰라 레이..
-
P.P.P - 02 - 포스트 프로세싱 설정
안녕하세요! 오늘은 지난번에 학습한 내용을 연습할 겸 포스트 프로세싱작업과 생성되는 Profile을 이용해 Global Volume으로 분위기를 연출한 작업을 살펴보겠습니다. 코드로 구현된 작업은 없으며 엔진 툴을 다루는 연습으로 하나씩 만져 보며 값을 직접 조절해 보았습니다. (매우 흥미롭고 시간 가는 줄 몰랐던 것 같습니다.) https://userkhk.tistory.com/75 P.P.P - 01 - 이동구현 안녕하세요. Photon Projent Particle 를 따서 P. P. P의 제목을 지어 봤습니다. (임시로 지은 글의 제목이며 아직 게임 타이틀 명은 못정했습니다) 포톤 클라우드에 앞서 플레이어의 이동 구현을 스크립 userkhk.tistory.com 위의 캡처 이미지는 현재 플레이어의..
-
P.P.P - 01 - 이동구현
안녕하세요. Photon Projent Particle 를 따서 P. P. P의 제목을 지어 봤습니다. (임시로 지은 글의 제목이며 아직 게임 타이틀 명은 못정했습니다) 포톤 클라우드에 앞서 플레이어의 이동 구현을 스크립트로 작성해 보았습니다. 간단한 이동 구현만 현재 적용한 모습이며, 이번에 에셋은 타 사이트를 통해 무료로 다운로드하였습니다. https://unity-chan.com/contents/guideline/ 애니메이션은 Unity Aset Store에서 다운로드하였습니다. 현재는 씬에 플레이어만 혼자 외롭게 있으며 차차 동작 구현과 맵 등을 배치해줄 예정입니다. 이동 구현 스크립트를 보겠습니다. PlayerMovement의 스크립트를 생성하여 작성해 주었습니다. playerMoveSpeed ..
-
포톤 프로젝트 연습
안녕하세요 처음으로 포톤 클라우드를 이용해 네트워크 게임을 제작해 보았습니다. 직접 구현하여 제작한 것은 아니고 책을 통한 학습을 통해 만들어낸 결과물입니다. 하나씩 살펴보면 코드에서 이해가 안 가는 부분은 없었지만, 백지상태에서 직접 구현하려고 했을 시 함수명이나 사용되는 문법 등이 생소하여 생각이 안나는 부분이 많았습니다. (직접 제작해보며 지인과 만날 수도 있고 또한 빌드 실행 파일과 유니티 에디터에서 실행을 하여 직접 테스트도 해볼 수 있어서 정말 신기하고 재밌었습니다.) 모든 것을 제 것으로 만들 수는 없겠지만, 자료형 변수가 뭔지도 몰랐지만 현재는 직접 변수를 생성하여 값을 할당하는 것처럼 반복 학습을 통해 눈과 손, 그리고 머리에 익숙하게끔 만들 수는 있다고 생각합니다. 01 : 03초 현재..
-
2D.MetalSlug 07. UI
https://youtu.be/sYnUdg4a17U 14 : 29초 영상 / 1STAGE (03초 - 22초) YOUTUBE 영상 1 Stage = 03초 ~ 22초 구간을 모작해 보고 있습니다. 오늘은 영상의 UI항목을 만들어볼 생각이며 UI항목을 하기 전 영상처럼 MISSION START가 파란 글씨로 다가와 회전 후 일정 시간이 지나면 퍼지는 모습을 먼저 구현해보겠습니다. ↑↑↑ 위의 선을 기준으로 위의 영상은 YOUTUBE의 영상 및 캡처입니다. 이제부터 Unity3 D 환경에서 직접 제작한 화면들을 보시겠습니다. 첫 번째로 Mission 1 Start를 만들었습니다. 각 글자는 텍스트가 아닌 Sprite를 가져와 작업을 했습니다. Text로도 애니메이션을 추가해 원하는 결과물을 만들 수 있겠지만..
-
2D.MetalSlug 06. Manager
안녕하세요 며칠 안됐지만 엄청 오랜만에 찾아오는 듯한 기분이 드는... 현재 c#공부에.. 코딩 테스트 준비에.. 새로운 프로젝트에.. 이것저것 정신이 없어서 업로드가 늦었는데요 ㅜㅜ https://userkhk.tistory.com/53 생존형 게임 00 -제작중- (추가8)★★★★★ 안녕하세요. 이번 생존형 게임 카테고리에서는 장르는 정했지만 아직 기획적인 요소가 남아 있어 현재 제작 중인 프로젝트입니다. 현재 제작 중인 단계로 얼추 간추려지면 제작 과정과 함께 업 userkhk.tistory.com ↑↑↑↑↑↑ (새로운 프로젝트 결과물들 영상 입니다.) 현재는 부분 동작 완성 영상만 추가적으로 업로드를 하고 있는데요. 어느 정도 간추려지면 초기 과정부터 영상과 코드 설명을 업로드할 예정입니다. Me..
-
2D.MetalSlug 05. Map 02 / 02
안녕하세요! 지난 첫 번째 글에서는 Edge Collider와 BoxCollider를 이용해 맵 지형을 제작했었는데요 오늘은 추가 맵 지형 애니메이션 제작 과정과 추가 부분 작업을 살펴보겠습니다. 사실 이걸 글로 올릴까 말까 고민을 하다가... (설명을 하기도 애매해서...) 연습 카트 고리니 남겨 놓으면 좋을 것 같아 남기게 됐습니다. 지난번 땅 지형에 이어 오늘은 물가 지형부터 맵 끝인 보스 지형까지, 그리고 뒷 배경을 제작 과정이 있었습니다. 또한 추가적으로 Player가 점프를 뛸 때 발판인 지형물에 막혀 점프가 막히는 현상을 수정했습니다. (간단한 enable을 true/false 해주는 동작이지만, 함께 살펴보겠습니다.) 우선 받아온 이미지 들은 Sprite Mode를 Multiple로 바꿔주..
-
2D.MetalSlug 04. Map 01 / 02
안녕하세요! 지난 글에서 Player의 이동 구현 및 공격 모션을 제작했었죠! 이번 작업은 플레이어가 전투를 펼칠 맵을 꾸며보려고 합니다. 구현 목록을 보시겠습니다. 1.Player 앞/뒤 이동 구현 2.Map 배치 및 Collider 충돌 체크 두 가지로 볼 수 있으며. 작업하는데 필요했던 세부사항들은 글을 쓰면서 올리도록 하겠습니다. player가 뒤를 보면 방향을 바꿔주는 모션을 진행해 보겠습니다. 원래 진행했던 방향은 SpriteRenderer를 이용해 flipX를 true/false로 바꿔주려고 했었습니다. 코드는 PlayerController에서 player가 Move 상태 일 시 조건에 맞게 flipX를 true/false로 제어를 해 주었고 -1.0f ~ 0 ~ 1.0f의 (좌 / 우 이동..
-
2D.MetalSlug 03. Bullet Fire(Animation Event)
안녕하세요. 오랜만에 MestalSlug 모작 프로젝트를 업데이트하러 들어왔습니다. Player가 발사할 총알과 원하는 시간에 맞춰 발사를 구현 할 예정입니다. 총알은 머신건으로 시각적 효과를 줄 것이며 이미지를 무료로 다운로드하였습니다. 바로 제작 과정을 보겠습니다! 가장 먼저 이미지의 Typ과 Mode를 바꿔 주었습니다. Type은 2D에서 제작을 할 것이기에 Sprite(2D and UI)로 바꿔 주었으며 Texture Type은 존재하지만 기본값인 default 나 텍스처가 2D 게임에서 Sprite로 사용할 경우 권장 등 많은 Type들이 있습니다. Sprite Mode는 Multiple로 여러 개의 Sprite를 갖게 해 주었습니다. Sprite Mode는 3가지 타입이 존재하며 (single..
-
2D.MetalSlug 02. Player 이동 구현
안녕하세요!! 오랜만에 2D.Metal Slug 카테고리에 글을 올리게 됐습니다. 지난번에는 Intro영상을 만들어 봤었는데요 Intro 영상이 끝난 후 InGame에서 활약을 할 Player의 이동 구현을 만들어 보겠습니다. Player로 활약할 주인공 입니다! 이번 글에선 현재 주인공인 Player의 이동 구현을 제작하는 과정을 담아 봤습니다. 그럼 바로 시작하겠습니다! 우선 Player의 이미지들을 받아 왔습니다. 상체 / 하체를 나눠서 애니메이션을 나눠서 동작을 서로 나눠서 그에 맞게 진행하게 하려고 했습니다. 한 가지 예를 보자면 플레이어가 앞으로 가는 Walk상태 여도 하체는 Walk상태이지만 상체는 대기 / 발사 앞/위/아래 등 다양한 동작을 취하게 됩니다. 하체가 점프 및 대기 상태여도 하..
-
RPG 액션 연습 07. DRAGON! 02 / 02
현재 제작 중인 드래건은 초기 활성화 시 하늘에서 비행모션을 하며 땅으로 내려오면서 운석을 떨어트리는 스킬을 씁니다. 이후 드래곤 밑바닥이 Ground와 닿았다고 판정 시 DragonBoss스크립트 컴포넌트는 비활성화가 되며 DragonBoss2 의 스크립트에서의 동작이 실행됩니다. 마지막 동작 부분인 카로틴 함수 Enable에서 dragonBoss.enabled = false로 현재 사용하는 dragonBoss 스크립트를 비활성화를 시키며 DragonBoss2.instance.state = DragonBoss2.State.Idle로 상태를 Idle로 변환시켰습니다. DragonBoss2 스크립트를 보겠습니다. 이 스크립트에선 enum으로 상수 열거형 클래스를 사용하였습니다. Roding : 초기 상태 ..
-
RPG 액션 연습 06. DRAGON! 01 / 02
안녕하세요. 이번엔 멋진 DRAGON을 만들어 봤던 과정을 올려 보겠습니다. 음.. 사실 퀄리티가 높거나 다양한 동작 구현 등이 있는 드래건은 아니지만... 제 첫 하늘을 나는 드래곤 이니 만큼.. 애정이 듬뿍 가는 녀석입니다. 등장 신을 좀 더 멋지게 하고 싶어서 이것저것 찾아보던 도중 씨네 머신이란 것을 알게 되어서 현재 학습 중에 있습니다. 아직 적용은 안됐지만 멋진 등장 연출을 기대해 주세요. 자 그럼 바로 시작해 보겠습니다!! 에셋은 유티티 에셋 스토어에서 다운로드를 했습니다. 제가 선택한 드래건입니다!! 우선 전 스크립트를 2개로 나눴습니다. 각 DragonBoss / DragonBoss2로 등장했을 때의 스크립트 / Ground에 도착했을 때의 스크립트 두 개로 나눠 동작 연출을 하였습니다!..
-
FPS 연습 04. Zombie 상태값 & Respawn
안녕하세요 이번엔 일반 좀비로 만들었던 빠른 녀석의 상태 값 구현을 마무리해주고 죽었을 시 일정 시간이 지난 후 되살아나는 Respawn 스크립트도 구현을 해보겠습니다. 순서는 이렇습니다. 1.Move (이동) 2.Attack (공격) 3.Damge (대미지) 4.Die & Respawn (죽음 & 되살아남) 자 그럼 바로 코드 내용부터 보겠습니다! Move함수입니다. notMovSpeed의 스피드였던 nav의 스피드를 movSpeed로 바꿔 주었습니다. 이후 거리를 체크하는 Distance함수를 사용해 transform(zombie)와 player의 위치를 계산해 atckDis(공격 범위) 보다 클 경우의 조건문을 걸어주었습니다. (DIstance와 과정 및 결과가 똑같은 magnitude / 제곱 값..
-
FPS 연습 03. Zombie / Idle
안녕하세요. 오늘은 총을 쏴서 맞으면 죽을 zombie를 제작해 보겠습니다. 지금 머릿속에 다양한 좀비들이 생각나는데 빠른 좀비, 맷집이 강하지만 느린 좀비, 파워가 세지만 누워서 다가오는 좀비 등등 다양하게 각기 다른 스텟을 정해줘서 구현을 해보면 재밌을 것 같다는 생각을 했습니다. (뭔가 플레이어를 제작 할때보다 왜 생각에 집중이 되는 느낌적인 느낌 아닌 느낌..?) 이번에 만들 좀비는 1. 추적 범위에 들어오지 않는 이상은 필드를 활보하며 다닐 것입니다. 2. 추적 범위에 들어오거나 혹은 공격에 맞은다면 빠른 속도로 Player에게 다가올 것입니다. 3. 좀비를 잡게 되면 점수를 획득하며, Stage가 올라갈수록 다양한 좀비들이 나오게 됩니다. 우선 구성은 이러합니다. 프로젝트를 제작하면서 수정과 ..
-
FPS 연습 02. Player 총 발사 구현
안녕하세요 오늘은 Player의 총 을 쏘는 구현과 Zombie를 제작해 맞는 모션까지 제작하려고 합니다. 우선 이렇게 제작을 해야 하는데. 먼저 해야 할 것들이 생각났습니다. 첫 번째는 Ground야 아직 작업 단계니 추 후로 미뤄둔다고 해도 배경은 있어줘야 그림이 경계선도 뚜렷해지고 괜찮아질 것 같다고 생각했습니다. 두 번째는 조준점이 있어야겠다고 생각했어요. 우선 이 두 가지부터 작업을 완성 후 player의 총 쏘는 동작 구현과 zombie를 제작해 보겠습니다. 음. 이 부분은 책을 봤을 때를 얻은 지식으로 그때가 생각나 SkyBox를 적용해봤는데 제가 적용한 방식을 설명? 하려고 하니 말을 잘 못하겠습니다. 우선 책의 힘을 살짝 빌려와서 ㅎㅎ.. 하늘을 표현하는 대표적인 방식으론 SkyBox와 ..
-
FPS 연습 01. Player 이동 및 회전 구현
안녕하세요. 이 카테고리에서는 FPS를 연습해 보고 직접 제작해보며 그 과정을 올려 보려고 합니다. 점점 해야 할 것들이 많아지는 느낌적인 느낌... 이지만! 오히려 한 가지만 계속하는 것보다 다양한 것을 볼 수 있어서 더 재밌지 않나 싶기도 하고 해야 할 것이 생긴다는 게 뭘 해야 할지 모르는 것보다 훨씬 좋은 것 같습니다. 자 그럼 시작하시죠! 우선 처음에 총을 쏘는 게임을 어떻게 만들까 잠시 생각을 해 봤는데 처음으로 생각난 부분이 Player와 적이었습니다. 단순히 Player와 적을 구현하여 player가 총을 쏴서 적을 잡는 모습이 머릿속에 그려졌습니다. 수류탄, 패줌 기능, 다양한 총기 등등 이것저것 생각나는데 제일 먼저 가장 기초가 되는 Player를 먼저 만들어 보겠습니다. 유니티 에셋 ..
-
RPG 액션 연습 05. Bomb_Move
이번엔 Player를 따라와서 폭파되며 대미지를 입히는 Bomb_Move의 Enemy를 만들어 보겠습니다. Bomb_Idle의 제작 시와 똑같이 유니티 에셋 스토어에서 무료로 다운로드하여 하여온 에셋을 모델로 사용했습니다. Bomb_Idle과는 다르게 Bomb_Move는 모자를 쓰고 있습니다. 바로 제작해 보겠습니다. Bomb_Move 가 가지고 있는 상태 값 입니다. Idle : 대기 상태 Move : 이동 상태 Die : 죽음 상태 Bomb_Move는 특별한 목적지 입력이 필요하지 않은 상태로 생성 시 Player를 향해 달려가므로, 3가지 상태로 구현을 했습니다. Bomb_Move에 선언된 변수들입니다. 각 player / bombEffect / message는 Transform / GameObje..
-
RPG 액션 연습 04. Bomb_Idle
안녕하세요. 오늘은 Bomb Enemy를 만들어볼 예정입니다. 다양한 몬스터를 만들어보려고 이것저것 구상 중인데, 우선 서있는 Bomb Enemy와 움직이는 Bomb Enemy로 총 2 종류를 만들 예정입니다. 이런 두 종류인데.. 제가 손 글씨에 영.... (악필은 천재가 많다고 합니다) (라는 변명이 많다고 합니다) 정리해서 보자면 1. 가만히 있는 Bomb Enemy / 움직이는 Bomb Enemy | 로 총 2종류입니다. - 가만히 있는 Bomb Enemy는 일정 반경 안에 Player가 접근 시 죽으면서 폭발을 일으키는 Enemy입니다. - 움직이는 BombEnemy는 항상 Player를 향해 움직이며 접근한 시간이 일정 시간 이상이면 폭발을 일으킵니다. 우선 이렇게 2명의 Enemy를 제작해 ..
-
RPG 액션 연습 03. 기본 Enemy
안녕하세요 날씨가 뒤숭숭합니다. 다들 환절기 감기 조심하세요. 더불어 코로나도.. ㅎㅎ 얼마 전에 이모티콘이 있는 걸 알아서 사용해봤는데 무척 귀여운것 같습니다. 오늘은 기본 Enemy를 만들어 보겠습니다. 화려한 이펙트 들은 없지만, 기본 동작 구현에 맞게 움직이며 hit 모션과 damage 모션을 적용하여 player와 상호 작용을 연습해 보겠습니다. 이러한 관계를 시각적으로 보이기 위해서 UI작업도 함께 해야될것 같습니다. 그럼 바로 시작해 보겠습니다. 책에서 보았을땐 프로토 타이핑을 통해 간단한 큐브나 캡슐 등 기본 도형을 활용해 구현을 하여 시간을 단축시키고 기획을 검증하여 각 직군별로 동시 작업을 가능하게 하는 효율적인 방법이 있다고 합니다. 하지만, 아직 제 역량으로는 기본 도형이나 에셋에서..
-
RPG 액션 연습 02. Player 공격 모션
안녕하세요. 오늘은 player의 공격 모션을 제작해볼 예정입니다. 첫 번째로 생각나는 점은 플레이어의 공격을 3가지로 나누어 콤보 공격이 가능하게 만들 것입니다. 두 번째로 생각나는 점은 플레이어에게 가드 기능을 추가하면 어떨까? 생각 중입니다. 상대 몬스터들이 만들어지면서 동작 구현에 맞게 동작 연출을 시도해 보겠습니다. 그렇다면 바로 달려가 보겠습니다. 우선 한 스크립트에 작성하게 되면 코드도 길어지고 가독성도 떨어지며 나중에 수정 및 유지보수가 어려워진다고 도 많이 들어서,,, 코드를 세분화한다는 게 아직 감은 안 잡히지만 연습을 해보도록 하겠습니다. 새로운 스크립트를 만들겠습니다. Combo라는 스크립트이며 선언된 변수들은 각 플레이어의 애니메이터를 담아올 playerAnim / 콤보가 가능한지..