티스토리 뷰
<aside> ⚠️ 해당 프로젝트는 10일 안에 빠르게 끝낼 예정으로 기획했으므로 잘 짜여진 구조의 프로젝트가 아니며 검색을 통해 프로젝트를 진행하고 있다.
</aside>
- [x] 공격할 때만 충돌을 감지하게 해주었다
**Attackable.cs**에 추가해주었다. **isDelay** bool 값은 공격할 때만 **true**이기 때문에 조건에 같이 넣어주었다. 또 때릴 수 있는 물건들에는 **Attackable** 태그를 걸어 때릴 수 없는 사물과 차별을 주었다. 그래서 한 대만 닿아도 **isKinematic**을 꺼주어 자연스럽게 날라다닐 수 있도록 해주었다.private void OnCollisionEnter(Collision collision) { if (collision.gameObject.tag == "Attackable" && isDelay) { Rigidbody objectRig = collision.gameObject.GetComponent<Rigidbody>(); if(objectRig.isKinematic == true) objectRig.isKinematic = false; Debug.Log(collision.gameObject.name + "'s isKinematic off!"); } }
- → 사실 어떻게 보면 유저와 닿아도 충돌을 감지하기 때문에 페이크이긴 하지만 쉬운 방법이기도 하다.
- [x] 소멸 점수 구별을 위한 분류
- 분류 이름 30 점 20점 15점 10점 2점
점수 서버 컴퓨터 전자기기 가구 default 충돌 횟수 15번 7번 5번 10번 3번 - → 모든 아이템이 일정 횟수 충돌이 일어나면 **SetActive(false)**가 되고 점수를 주게 된다. 그 중에서도 우선 순위를 간단히 둘 예정이다.
- [x] 위 분류표처럼 코드 짜서 분류하기
- Server /Computer / Electricity / Furniture / ETCobject
- 우선 코드가 꼬였기는 한데 작동은 한다…
- [x] 오브젝트가 사라지는 횟수 조정하기
한번 맞고 사라지는 걸 확인할 수 있다. 위에서 나눈 큰 단위별로 각 오브젝트의 태그를 일일히 설정했다. 노가다…
void Start()
{
int childCount = this.transform.childCount;
for (int i = 0; i < childCount; i++)
{
GameObject child = this.transform.GetChild(i).gameObject;
child.GetComponent<Rigidbody>().isKinematic = true;
//Debug.Log(this.transform.GetChild(i).name);
if (child.CompareTag("Server"))
{
obj_Server.Add(child);
child.AddComponent<CollisionCount>();
child.GetComponent<CollisionCount>().collisionCnt = serverCnt;
child.GetComponent<CollisionCount>().distroyScore = serverScr;
}
이런 식으로 **Start()** 함수가 작동하면 자식 오브젝트의 총 개수를 파악해서 반복문을 돌며 각 일들을 수행한다. 더 간단한 방법이 바로 떠오르지 않아 주먹구구식으로 진행했다.
키보드에 붙은 collider가 크기 때문에 한 번만에 사라지는 물건이 많은 것이다. **OnCollisionEnter**가 아닌 **OnCollisionExit**으로 한번 바꿔봐야겠다.
→ 바꿨을 때 그나마 한 두 번 때릴 수 있는 횟수가 늘어나긴 했지만… 횟수를 올리거나 코루틴을 사용해야 하나? 우선은 코드를 더 수정하는 것보다는 간단한 방법인 횟수들을 올려주었다.
'👾 유니티 > ⌨️ 키보드파이터 개발일지' 카테고리의 다른 글
⌨️ 키보드 파이터 개발일지 #9 사운드 넣기 (0) | 2023.03.30 |
---|---|
⌨️ 키보드 파이터 개발일지 #8 점수 부여와 최고 점수 (0) | 2023.03.29 |
⌨️ 키보드 파이터 개발일지 #6 충돌 처리(2) (0) | 2023.03.27 |
⌨️ 키보드 파이터 개발일지 #5 충돌 처리(1) (0) | 2023.03.26 |
⌨️ 키보드 파이터 개발일지 #4 (0) | 2023.03.25 |
댓글