분류 전체보기184 [Unity] Prefab을 Hirarchy창에서 변경했을 때 기존 Prefab에도 변경사항 적용하는 법 기존 Prefab을 Hierarchy창으로 가져와서 수정하는 경우들이 있습니다.변경사항을 기존 Prefab에도 적용하려면 위의 사진과 같이 'Apply All'을 클릭해주면 반영됩니다. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 4. 3. [Unity] 밑에서 위로 올라가는 물체의 중력 - Rigidbody, Dynamic, Kinematic 차이 밑에서 위로 올라가는 물체의 중력강아지가 고양이에게 밥을 먹이는 게임인데요문제는 밥에 Rigidbody를 적용했는데, 밑에서 위로 올라가면서 중력의 영향때문에 밑으로 떨어지는 현상이 일어납니다.밥이 위로 계속 발사되게 하려면, Rigidbody의 속성을 건드려야 합니다. Rigidbody 에서 Body Type을 Dynamic이 아닌 Kinematic으로 바꾸면 해결됩니다.Kinematic으로 바꾸면 더이상 중력의 영향을 받지 않게 됩니다. 주의할 점!Kinematic으로 바꾸면 OnCollisionEnter 로직도 동작하지 않게 됩니다. 물리 영향을 안받기 때문입니다.그래서 Collider에 있는 is Trigger 옵션을 켜서 OnTriggerEnter 함수를 사용하시면 됩니다. private .. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 4. 3. [Unity/2D] 체력바 만들기 - Canvas, UI, Anchors NormalCat의 Hungry, Full 이미지 설정 NormalCat은 빈 오브젝트로 생성 Hungry, Full은 Sprites → Square 로 생성 우선 Full은 숨겨주겠습니다. Hungry 고양이의 체력바 이미지 생성 및 설정 Hungry 밑에 체력바를 생성해보겠습니다. Hungry → UI → Image 클릭 이제 Canvas를 클릭해보시면 Render Mode에 Overlay라고 적혀있죠? 휴대폰이라면 휴대폰 기기 스크린에, 노트북이면 노트북 기기 스크린에 직접적으로 그려진다고 생각하시면 됩니다. 자세한 설명은 더보기란▼ 더보기 Render Mode 중 Overlay는 카메라의 배경 위에 UI 요소를 렌더링하는 모드를 말합니다. 즉, Overlay 모드에서는 UI 요소가 카메라의 배경을.. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 4. 3. [Unity] Quaternion.identity의 의미 - InvokeRepeating, Instantiate, Quaternion.identity; Instantiate로 프리팹을 반복생성하고자 할 때 세 번째 인자 Quaternion.identity의 의미를 알아봅시다.using System.Collections;using System.Collections.Generic;using UnityEngine;public class Dog : MonoBehaviour{ public GameObject food; void Start() { InvokeRepeating("MakeFood", 0f, 0.5f); // 강아지의 Food 반복 생성해주기 } // 강아지의 Food 생성 void MakeFood() { float x = transform.position.x; float y =.. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 4. 3. [Unity] Unity Scene 씬 전환 - SceneManager.LoadScene StartButton.csusing System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.SceneManagement;public class StartButton : MonoBehaviour{ public void StartGame() { SceneManager.LoadScene("MainScene"); }}우선 StartButton을 클릭했을 때 MainScene으로 이동하는 코드를 작성해주었습니다.주의할 점은 using UnityEngine.SceneManagement; 를 추가해야합니다. Start Button 스크립트를 StartBtn 오브젝트에 넣어주고,버튼의 On.. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 4. 3. [Unity/2D] 디자이너와 협업하기, 리소스 받았을 때 편한점 이렇게 디자이너에게 패키지형태로 리소스를 받아서 작업하는 경우가 현업에선 흔할텐데요. 이때까지는 직접 Sprites → Square 에 들어가서 오브젝트를 생성했었는데, 리소스를 받아서 개발하는 것이 더 편하다라는 것을 알려드리려 합니다. 패키지를 Assets 폴더에 드래그 앤 드롭하고, import한 모습입니다. Square을 추가해주시고 해당 Square에 Sprite Renderer → Sprite 칸에 원하는 리소스 이미지를 끌어다 놓으면 이런식으로 리소스를 넣을 수 있습니다. 강아지 리소스는 또 추가한 것입니다. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 4. 3. [Unity/2D] 숙제 - 떨어지는 네모(화면 밖을 나간 네모)를 없애기 떨어지는 네모를 없애기 화면 밖으로 떨어진 네모들을 Destroy(gameObject) 해주기! → 시간이 지나면 네모가 계속 쌓이고 있었네요..! → 화면을 넘어가면 square를 Destroy 해줄 수 있을까요? → 화면에 보여지는 네모와 square(clone) 수가 일치하면 완성! 힌트요정 - 👻 더보기 → Square.cs 만 수정하면 된답니다! → Update() 안에 딱 세 줄만 넣으면 됩니다! 딱 5분만 더 해보면 될 거예요! → y좌표 구하기 ⇒ transform.position.y 기억나시죠! → 없애라 ⇒ Destroy(gameObject) 기억나시죠! Update() { if (만약에 y좌표가 -5.0f 보다 작다면) { 없애라; } } 결과 정답 코드 더보기 Square.cs us.. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 4. 2. [Unity/2D] 풍선 터지는 애니메이션 만들기, New Clip(클립) 만들기 - Animation, Animator, Create New Clip Ballon_Die 애니메이션 클립 만들기 Assets → 'Ballon_Idle' 더블 클릭 Hierarchy → MainScene → 'Balloon' 더블 클릭 애니메이션 창이 뜨지 않는다면? 더보기란▼ 더보기 Balloon_Idle 밑에 'Create New Clip' 클릭 Animations 클릭 'Balloon_Die' 라는 이름으로 저장 녹화버튼을 누르고, 20으로 이동 후 Color 값 RGBA(255, 0, 0, 125) 설정 Scale 값 X, Y(2, 2) 설정 이후 녹화버튼 정지! Balloon_Die 로 가서 Loop Time 끄기! (딱 1번만 실행) Balloon Animator - 애니메이션 전환 적용하기 Balloon 이라는 Animator 더블 클릭 들어가보면 이런 화면이.. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 4. 2. [Unity] 앱을 껐다 켜도 데이터 유지 및 보관하기, 데이터 저장하기 - PlayerPrefs 데이터 저장하기PlayerPrefs.SetFloat("bestScore", 어떤숫자값);PlayerPrefs.SetString("bestScore", 어떤문자열);괄호 안에는 2개의 변수가 들어갑니다.PlayerPrefs.SetFloat(키값, 어떤변수);'키값이라는 이름으로 어떤변수를 저장할게요.' 라는 뜻입니다. 데이터 불러오기어떤숫자값 = PlayerPrefs.GetFloat("bestScore");어떤문자열 = PlayerPrefs.GetString("bestScore");괄호 안에는 역시나 키값이 들어갑니다.'키값이라는 이름으로 저장한 어떤값을 찾으러 왔어요.' 라는 뜻입니다.그래서 하나의 매개변수 즉, 키값만 괄호에 넣어주시면 됩니다. 데이터를 저장했었는지 확인→있으면 true 없으면 fals.. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 4. 1. [Unity/2D] isPlay 변수로 게임시간의 소수점값이 미세하게 달라지는 현상 방지하기 실제 게임시간과 게임종료시 뜨는 점수판의 게임시간이 미세한 오차로 나타나는 현상이 일어날 수 있습니다. 이를 방지하고자 isPlay라는 bool 자료형의 변수를 활용해보겠습니다. 이러한 오차가 발생하는 이유는 Time.timeScale = 0.0f; 때문입니다. 아래 게시글에서 '0초가 되었을 때 게임 종료 화면 활성화하기' 부분의 맨마지막 '더보기'란을 참고해주세요. 2024.03.28 - [Unity/2D] - [Unity/2D] 시간 감소 및 게임 종료, 프레임 - anchor(앵커), Time.deltaTime, Time.timeScale, ToString bool isPlay = true; // 타임의 소수점값이 미세하게 달라지는 것마저 방지하기 위한 변수 선언 float time = 0.0f;.. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 4. 1. [Unity] GameManager 싱글톤 패턴 - Singleton GameManager 싱글톤 처리하기싱글톤이란? '너는 딱 하나야!' 라고 할 수 있게 세팅해두는 것(그래야 다른데서 나를 부를 수 있습니다!)public static GameManager Instance;void Awake(){ if(Instance == null) { Instance = this; }}Instance == null 이란?null 은 비어있다는 뜻입니다.변수는 데이터/값을 담아 놓는 박스인데요, 이 변수(박스)가 비어 있을 때 Instance = this 를 해주겠다는 뜻입니다. 여기서 static 키워드는 '너 하나야'라고 표현해주기 위해 사용됩니다. + 내용추가 public static AudioManager instance; private void Awake() .. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 4. 1. [VisualStudio] C언어로 협업하기 - "stdafx.h" 미리 컴파일된 헤더 사용법 / 파일 분리 프로젝트 -> 속성 -> 구성 속성 -> C/C++ -> 미리 컴파일된 헤더 사용 stdafx.h와 stdafx.cpp 생성 stdafx.cpp 우클릭 -> 속성 -> 구성 속성 -> C/C++ -> 미리 컴파일된 헤더 만들기 stdafx.cpp에 #include "stdafx.h" 넣고 저장 stdafx.h에 헤더파일들을 넣고, 각 헤더들과 해당하는 cpp파일들에 #include "stdafx.h" 넣기 VisualStudio 2024. 3. 29. 이전 1 ··· 7 8 9 10 11 12 13 ··· 16 다음 반응형