2025년, 코딩은 선택이 아닌 필수!

2025년 모든 학교에서 코딩이 시작 됩니다. 먼저 준비하는 사람만이 기술을 선도해 갑니다~

응용프로그래밍/유니티기초

[유니티기초]1-07. Random.Range 를 이용하여 랜덤한 위치에 객체 생성

파아란기쁨1 2022. 5. 30. 13:55
반응형
목표

Random.Range 를 이용하여 임의의 위치를 지정하여 객체 생성하는 법을 알아 보자.

 

 

실습

1. 먼저 오브젝트가 생성되는 위치와 범위를 결정하기 위해 객체 생성(Square 생성하여 크기를 x:20,y:10 )

 

2. 생성할 객체(Circle)를 추가하여 프리팹으로 설정

3. 오브젝트가 Square 내에서 임의의 장소에서 생성 할 수 있도록 다음과 같이 스크립트를 추가하자.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ObjectSpawner : MonoBehaviour
{
    public GameObject circle;

    // Start is called before the first frame update
    private void Awake()
    {
        float x, y;
        Debug.Log(transform.localScale.x.ToString() + "," + transform.localScale.y.ToString());
        x = Random.Range(-transform.localScale.x / 2f, transform.localScale.x / 2f);
        y = Random.Range(-transform.localScale.y / 2f, transform.localScale.y / 2f);

        Debug.Log(x.ToString() + "," + y.ToString());

        Quaternion rotation = Quaternion.Euler(0, 0, 0); //각도를 나타내는 오일러를 Quaternion 으로 변환 
        Instantiate(circle, new Vector3(x, y, 0), rotation);

    }
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

 

 

연습문제

1. 여러개의 Circle 을 임의의 장소에 생성해 보자.

 

2. 삼각형,사각형,원의 모양을 임의로 정해서 여러개를 생성해 보자.

 

 

 

 

 

 

 

 

 

 

 

반응형