C# 유니티

친구가 내준 숙제(1)

myuzzang 2025. 12. 15. 20:06

안녕하세요. 아무것도 모르는데 개발하는 사람입니다. 개발하는 친구가 과제를 내줬습니다.

조연2님 강의 듣고 나서 슈팅 게임 만들기까지는 해봤는데, 기초 이론밖에 모르는 그냥 상태로 강행했습니다.

 

암튼

 

문제) 큐브 오브젝트 프리팹을 만들어서 씬에 별 찍기

- 별 찍는 이중 포문안에 *을 프리팹으로, 개행문을 좌표값으로 설정하면 될 거 같았는데요.

- 이 프리팹을 어떻게 보여주냐? 를 모르겠음.. (슈팅 게임 만들기 할 때 당시 인스턴시에이트와 오브젝트 풀을 하긴 했는데 이론을 모르니 그냥 따라 함) 어떻게 프리팹을 화면에 띄워주는지?

- 프리팹을 만들 줄은 앎

 

Instantiate(GameObject origianl) -- 오리지널 게임 오브젝트를 복제해서 생성하는 함수

 

 

 

 

 

public class CubeSpawner : MonoBehaviour
{
    public GameObject square;
    public float scale = 3f;

        for (int i = 0; i < 5; i++) // i = 줄(세로, y축)
        {
            for (int j = 0; j <= i; j++) // j = 칸(가로, x축)
            {
                Vector3 pos = new Vector3(j * 3, -i * 3, 0); // for 돌때마다 벡터 값 바뀜

                GameObject obj = Instantiate(square); // 변수 obj에 스퀘어 넣어줌과 동시에 호출 // 프리팹 생성 (이 시점에 오브젝트 생김)
                obj.transform.position = pos; // 스퀘어의 포지션 값을 pos로 넣어준다 // 생성된 오브젝트를 계산한 위치로 이동
            }
        }
}

 

 

 

오늘 피드백

1. 일단 내부 함수들 모름, 코드도 못 침, 사고도 할 줄 모름, 감도 안 좋음 --> 어쩌지

 

오늘 배운 것

1. 인스턴시에이트는 프리팹을 생성하는 것, 호출하는 순간 생성함

2. 프리팹은 생성 로직을 가지면 안 됩니다. (값을 바꾼 프리팹을 만들고 싶다면 함수 맨 마지막에서 호출하기) 프리팹에서는 외형이나 물리 같은 자기 자신에 대한 행동만 넣기 ("나"만 만들기)

3. 프리팹 불러오는 게임오브젝트에 꼭 스크립트랑 프리팹 붙여주기

4. 벡터는 메서드처럼 사용할 수 없다(행동이 아님). 벡터의 값을 바꿔줘야 함 -> 값으로 만들어서 인스턴시에이트한테 넘겨줘야 함

5. 기준점 방식 (첫 번째로 만든 오브젝트를 기준점으로 삼음)에서는 인스턴시에이트를 변수로 받는 것이 반드시 필요하다

6. 난 접근 방식도 모르나 ex) GameObject obj = Instantiate(Square); Vector3 pos = obj.transform.position;

 

 

다음 숙제))

태양계 만들기 태양 가운데에 두고, 수금지화목토천해명 빙글빙글 돌아 크기랑 속도는 각기 달라야 함

내장함수도 있을 거고, 아예 회전에 대한 함수를 짜서 만들 수 있을 것임 ==> 두 개 다 할 수 있으면 해 보고, 내가 함수 먼저 짜보기

Quaternion.identity 여기서 헤맨다, 로테이션이 있고 디그리가 있고 오일러?? 쿼터니온 등등 다양하게 있음 못해와도 좋으니, 어떤 회전을 할 수 있는지 해보기 --> 여러 가지가 만들어진 이유에 대해서 생각해 보기, 이해해 보기

 

https://www.youtube.com/watch?v=KwMU2gDoFjM

 

 

'C# 유니티' 카테고리의 다른 글

20251224 숙제  (0) 2025.12.30
친구가 내준 숙제(2)  (2) 2025.12.19
연습 문제 (1)  (0) 2025.11.20
안녕하세요. 아무것도 모르는데 개발하는 사람입니다.  (0) 2025.11.20