분류 전체보기
-
(9) 적 특수 유닛 제작 #2Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 22. 17:37
이제 2개만 더 제작하면 마무리된다이번 특수 유닛의 경우에는 일반 유닛과 전부 동일한 스펙이지만 다른게 한가지 있다면기본 총알 대신 아이템을 발사한다는것이다 이 유닛 같은 경우는 몸체를 담당하는 Center가 아닌 발사를 담당하는 Muzzle을 수정해야한다 using System.Collections;using System.Collections.Generic;using UnityEngine;public class Enemy1Fire : MonoBehaviour{ public GameObject[] enemyBulletPrefabs; // 여러 총알 프리팹을 담는 배열 public float MinPower; public float MaxPower; public void SpawnB..
-
(8) 적 유닛 마무리 & 적 특수 유닛 제작 #1Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 21. 17:49
이번엔 이동이 가능한 적 유닛과 특수 유닛 4가지를 만들어보도록 하겠다 기본 디자인이다. 센터는 기존 유닛과 동일하게 가져가되 양옆에 다리를 달아주면서 이동기능을 추가했다using System.Collections;using TMPro;using UnityEngine;public class Enemy6LegControl : MonoBehaviour{ public float moveSpeed = 1f; // 이동 속도 public float rotationSpeed = 180f; // 회전 속도 private TextMeshPro textMesh; private Transform parentTransform; private void Start() { pare..
-
(7) 싱글플레이 아이템 오류 수정Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 21. 16:52
적 유닛을 정신없이 만들다보니 한가지 넘겨짚었던 사실이 생각났다멀티플레이와 싱글플레이를 확실하게 분리시켰어야 했는데 이걸 놓치고 하고 싶었던것부터 해왔던것이다 싱글플레이에서 아이템을 사용하려니 안되고, 클릭도 안먹히는등등 너무나도 많은 문제가 생겼다 가장 큰 원인은 싱글플레이를 만들때 멀티플레이에 적용되었던 코드들을 그대로 복붙하여 가져와대충 돌아가게만 수정한뒤 그대로 사용한것에 있었다 우선 아이템 버튼과 발사될 아이템 프리팹을 싱글플레이용, 멀티플레이용으로 따로따로 만들어주었다이름 앞에 SP가 붙은건 SinglePlay의 약자로 헷갈리지 않도록 붙였다 그리고 싱글플레이 씬에 쓰이는 모든 아이템 버튼과 발사 프리팹을 교체해주었다 코드도 GameManager가 아니라 SPGameManager를 참조하도록..
-
(6) 적 유닛 제작 #2Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 20. 17:58
(4) 적 유닛 만들기 #1이번엔 스테이지 안에서 쓰일 적 유닛을 만들어보도록 하겠다 적 유닛의 디자인은 이미 예전에 구상해두었고, 사실상 모든 유닛이 거의 비슷한 구조라가장 맨처음 기본유닛의 구현만 성공한다sangeun00.tistory.com (5) 적 유닛 스탯 조절 가능하게 만들기현재 계획하고 있는 적 유닛의 종류는 총 10가지이다.그렇다고 유닛에 맞는 스크립트만 10개를 만들어 붙이기에는 너무 효율성이 떨어지므로기본적인 틀은 똑같은데 스탯이 다른 유닛의 경우에sangeun00.tistory.com 이번엔 전글에서 만든 기초유닛과 스탯 조절하는것을 응용하여 동시에 2발을 발사하는 유닛을 만들어보겠다 이건 더 볼것도 없이 그냥 총구와 발사하는 오브젝트를 복사하여 하나더 붙여넣으면 끝나는줄 알았다..
-
(5) 적 유닛 스탯 조절 가능하게 만들기Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 20. 17:39
현재 계획하고 있는 적 유닛의 종류는 총 10가지이다.그렇다고 유닛에 맞는 스크립트만 10개를 만들어 붙이기에는 너무 효율성이 떨어지므로기본적인 틀은 똑같은데 스탯이 다른 유닛의 경우에는 같은 스크립트를 공유할 수 있도록 만들겠다 public class Enemy1center : MonoBehaviour{ public int MaxHP; public int MinHP; public float MaxFireTime; public float MinFireTime; ....... randomNumber = Random.Range(MinHP, MaxHP); yield return new WaitForSeconds(Ra..
-
(4) 적 유닛 제작 #1Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 20. 12:12
이번엔 스테이지 안에서 쓰일 적 유닛을 만들어보도록 하겠다 적 유닛의 디자인은 이미 예전에 구상해두었고, 사실상 모든 유닛이 거의 비슷한 구조라가장 맨처음 기본유닛의 구현만 성공한다면 나머지 구현은 어렵지 않아보인다 우선 기본 구조이다.1. 몸통이 될 구체(Center)2. 발사할 총구(Gun)3. 총알이 발사될 빈 오브젝트(Muzzle)로 구성되어 있다 이제 구현할 내용들을 정리해보자 1. 몸통에 내구도(HP)가 보이고, 몸통과 총알이 충돌시 내구도가 1씩 줄어든다. 내구도가 0이되면 파괴2. 총구는 몸통과 함께 회전한다. 총구와 총알이 충돌시 내구도가 줄어들지 않는다3. 빈 오브젝트에서 총알이 발사된다. 총알의 방향은 총구의 방향과 같다 이제 한번 하나씩 구현해나가보겠다 코드를 작성하기전에 컴포넌..
-
(3) 스테이지씬 연출 추가Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 14. 17:40
시작하기전에 한가지 달라진게 있다면 Json 파일을 비직렬화하여 대사를 출력하는 스크립트인ShowText를 조금 수정했다. 전에는 오직 코드에서 "text"라는 파일만 비직렬화하는 전용코드였다면이제 Inspector창에서 편하게 파일이름을 써넣어 손쉽게 바꿀수 있다 또 편리해질 수 있는 기능이 생각난다면 추가할 예정이다사실상 이제 미리 만들어둔 LineBox를 복붙만 해주면 어느씬에서든 활용이 가능해졌다 이제 본론으로 들어가자보다시피 스테이지는 한정이 되어있고 플레이어는 이 정해진 스테이지를 넘어가게 할 수 없다그래서 이걸 어떻게 막을까 고민해보았다. 처음엔 박스 콜라이더를 깔고 반사시켜버릴려고 했지만타일 특성상 반사가 되면 더 어지롭게만 느껴질뿐이었다. 그래서 생각한 아이디어는 조금 색다른데 우선 1..
-
(2) 스테이지 씬 구현Galaxy Ball/2. 싱글플레이 - 스토리모드 2024. 5. 13. 17:42
지난 글에서 기본 튜토리얼 씬을 구현했으니 이번에는 튜토리얼이 끝난뒤 스테이지를 선택할 수 있는스테이지 씬을 구현해보도록 하겠다 보통 스테이지 선택하면 이런것들을 떠올리지만 난 UI에 자신도 없고그래도 뭔가 이것보다는 좀 더 참신한 무언가를 해보고 싶어 고안해보았다 약간 오픈월드 느낌으로 커다란 판을 하나 만든 뒤 이 한판안에 모든 스테이지를 전부 담아볼 생각이다 임의의 요소들을 배치해보았다. 위 그림에 보이는파란공(Player)은 플레이어의 컨트롤로 직접 움직이게 할 수 있는 오브젝트,빨간공(Stage)는 플레이어 구체와 닿았을때 해당하는 스테이지를 불러올 오브젝트이다 가장 먼저 플레이어 구체의 이동을 구현해보도록 하겠다. 사실 이동은 (8) 발사구현 마무리왜 한템포가 늦게 나가는지 생각을 해봤다 ..