분류 전체보기(69)
-
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 58일차(최종프로젝트 9일차 오브젝트에게 다양한 상호작용을 만들어 적용하자)
개요 재밌는 퍼즐게임을 만들기 위해서는 우리의 컨셉인 시간을 되돌리거나 가속시키는 것 뿐만아니라 기본적으로 퍼즐게임에서 주로 볼 수 있는 다양한 객체의 상호작용이 필요하다. 그래서 오늘은 객체의 다양한 상호작용을 구현하는데 힘을 썼다. 참고한 자료는 아래에 표시해두었다. Unity Movement 튜토리얼 (catlikecoding.com) Unity Movement Tutorials A series about controlling the movement of a character. catlikecoding.com 오브젝트에게 다양한 상호작용을 위한 클래스 클래스 이름 기능 설명 GravityAttractor 특정 범위 내의 모든 객체에 중력과 같은 힘을 적용하여 주변의 Rigidbody를 끌어당긴다. ..
2024.01.23 -
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 57일차(최종프로젝트 8일차 블랜더를 이용해서 기존에 가지고있는 모델 부숴버리기)
유튜브에 가보면 오브젝트를 부숴주는 코드를 볼 수 있다. 하지만 연산작업이 수없이 많이 들어가 결국에는 게임의 성능에 지대한 저하를 일으킬거라고 생각하여 해당코드의 사용을 포기하였다. 그렇다면 나는 어떻게 저 오브젝트를 부수었을까? 애초에 부숴진채로 나온 오브젝트가 아니다. 나는 블랜더를 사용하여 오브젝트를 부수었다. 내가 참고한 영상은 이 영상인데 Unity destructible objects in 8 steps (youtube.com) 블랜더에 오브젝트를 부수어주는 아주 간편하고도 쉬운 기능이 있었다. 이 파일을 블랜더에서 불러오기를 통해 불러온다. 블랜더는 구글에서 검색하여 4,0버전을 무료로 다운 받을수 있으니 다운받도록 하자
2024.01.22 -
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 56일차(최종프로젝트 7일차 부숴진 오브젝트를 자연스럽게 구현하기)
전 포스팅은 보면 물체의 움직임이조금 부자연스럽다고 느낄수가 있다. 일단 물체가 부숴질떄 부자연스럽게 부숴지는 것이 느껴질것이다. 그래서 만든것이 Brack 스크립트다. ParentObject와 같이 부모오브젝트에 넣어줄 스크립트이며 파괴되거나 복구될때 바꿀 오브젝트를 프리펩으로 받는다. 그리고 상호작용이 일어난 위치에서 파괴나 복구가 일어나며 그 모습이 자연스럽게 이어지게된다. Brack 클래스 코드 전문 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Brack : MonoBehaviour { public GameObject Prefab; public float breakForce; G..
2024.01.22 -
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 55일차(최종프로젝트 6일차 부숴버린 오브젝트 복구하기! 그리고 부수기! 시간을 되돌리자!)
부숴버린 오브젝트 복구하기! 그리고 부수기! 부숴버리겠다. 뭘? 당신을.. 지금 이것을 보고있는 당신!!!! 이 아니라 오브젝트를 부숴보자. 일단은 생각한 것이 있다. 어떻게 부수는가? 일단 그부분은 어제 생각해 보았다. 오브젝트의 역재생이 전부 끝마쳤을때에 부모오브젝트의 스크립트에 옵저버 패턴으로 불값이 전달된다는 것은 54일차 til에서 설명했다.**그렇다면 역재생이 끝났을 때 조각난 오브젝트들을 비활성화 시키고 완전체 오브젝트를 활성화 시키면** 마치 시간이 되돌아가 부숴진 조각들이 모여 완전한 형태를 이룬 모습처럼 보이게 될 것이다.**그런데 나는 조각들이 모여서 복구가 되는 모습도 구현하고 싶고 완전체 오브젝트를 파괴시키고도 싶었다.그러기 위해선 이 오브젝트들을 어떻게 하고싶은지 타입을 지정해야..
2024.01.18 -
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 54일차(최종프로젝트 5일차 옵저버 패턴 사용해서 부모 오브젝트에게 정보전달하기)
옵저버 패턴을 사용해서 부모오브 젝트에게 정보를 전달하자! 왜? 이런것을 만들게 되엇냐면.. 물건이 부숴진것을 원래 모습으로 되돌아가는 형상을 구현하고 싶어서였다. 그러기 위해선 부숴진 오브젝트가 필요했는데 부숴진 오브젝트를 다 따로 관리할수없으니 부모 오브젝트에 자식오브젝트로 만들어 두었다. 그래선 기존의 코드로는 자식오브젝트 중 하나라도 클릭 되었을때 모두가 역재생이 되는 기능이 구현되지 않으니 부모 오브젝트에 들어가는 스크립트를 따로 만들어야 했다. 그 스크립트를 만드는데 필요한것이 정보의 전달 이것을 어떻게 전달할까 고민이 많았다. 그래서 사용한 것이 바로 옵저버 패턴이다. 개요 옵저버 패턴은 객체의 상태 변화를 다른 객체들이 감시(Observe)하고, 상태 변화가 발생하면 알림을 받는 디자인 패..
2024.01.17 -
오늘은 스파르타 코딩 클럽 unity 게임 개발 과정 53일차(최종프로젝트 4일차 보간에 대하여!)
보간(Interpolation)이란? 보간(Interpolation)은 두 데이터 포인트 사이의 중간값을 추정하는 기술입니다. 프로그래밍, 특히 게임 개발과 컴퓨터 그래픽에서, 보간은 부드러운 움직임과 변화를 만들기 위해 사용됩니다. 예를 들어, 애니메이션에서 객체가 한 위치에서 다른 위치로 이동할 때, 시작점과 끝점 사이의 중간 위치를 계산하는 데 사용됩니다. 보간의 유형과 사용 예시 1.선형 보간(Linear Interpolation): 두 값 사이를 직선으로 연결하는 가장 간단한 형태의 보간입니다. 예를 들어, 두 점 사이의 위치를 계산할 때 사용됩니다. float lerp(float a, float b, float t) { return a + (b - a) * t; } 이 코드에서 a와 b는 시작..
2024.01.16