210717
Unity2D_Basic #3
Instantiate(원본오브젝트 정보)
original 게임오브젝트(프리팹)를 복제해서 생성(복제되는 오브젝트의 모든 컴포넌트 정보가 원본과 완전히 동일) 또한 Instantiate(GameObject original, Vector3 position, Quaternion rotation); 처럼 생성하고, 생성된 복제본의 위치를 position으로 회전을 rotation으로 설정
-회전정보를 나타내고 연산하는 방식 2가지
1.Euler(오일러)
360 각도 표현 방식
2.Quaternion(쿼터니온)
x,y,z,w 사원수 - 3개의 벡터 요소, 하나의 스칼라 요소로 구성 (4개의 -1~1사이 값)
ObjectSpawner.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ObjectSpawner : MonoBehaviour
{
[SerializeField]
private GameObject boxPrefab;
private void Awake()
{
/* Instantiate(boxPrefab, new Vector3(3, 3, 0), Quaternion.identity); // 게임오브젝트(프리팹)를 복제해서 생성
Instantiate(boxPrefab, new Vector3(-1, -2, 0), Quaternion.identity); */
//Instantiate(boxPrefab, new Vector3(2, 1, 0), rotation);
Quaternion rotation = Quaternion.Euler(0, 0, 45);
GameObject clone = Instantiate(boxPrefab, Vector3.zero, rotation);
clone.name = "Box001"; // 이름 설정
clone.GetComponent<SpriteRenderer>().color = Color.black; //black 색상 설정
clone.transform.position = new Vector3(2, 1, 0); // 위치
clone.transform.localScale = new Vector3(3, 2, 1); // 크기
}
}
-실행 전 상태
-실행 후 Box001 생성
엄청난 포스팅 수네요.. 존경합니다~