728x90
using System.Collections;using System.Collections.Generic;using UnityEngine;public class CreateCollider : MonoBehaviour {private Vector3 lastDotPosition;private bool lastPointExists = false;// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () {CreateColliderBox();}void CreateColliderBox(){if (Input.GetMouseButton(0)){Vector3 newDotPosition = Input.mousePosition;if(newDotPosition != lastDotPosition){if(lastPointExists){GameObject collider = new GameObject("coll");BoxCollider bc = collider.AddComponent<BoxCollider>();collider.transform.position = Vector3.Lerp(newDotPosition, lastDotPosition, 0.5f);collider.transform.LookAt(newDotPosition);bc.size = new Vector3(0.1f, 0.1f, Vector3.Distance(newDotPosition, lastDotPosition));}lastDotPosition = newDotPosition;lastPointExists = true;}}}}
21번줄 Input.GetMouseButton(0)으로 왼클릭 여부를 확인하여
23번줄 newDotPosition에 마우스 포지션을 넣어준다.
newDotPosition과 lastDotPosition이 같은지 확인후 아니면
lastPointExists의 존재여부를 확인후 lastPointExists가 존재하면 GameObject를 만들고
BoxCollider를 넣어준다.
그후 Vector3.Lerp을 통해서 두 벡터의 가운데 위치를 넣는다.
그 GameObject를 마지막으로 클릭한 곳을 바라보게한후
BoxCollider크기를 그만큼 늘려준다.
왼쪽클릭을한후 마우스를 동그랗게 움직였을때 Collider들의 집합이 저렇게 보인다.
'언어 > Unity' 카테고리의 다른 글
[Unity] 좌표로 Mesh만들기 (0) | 2018.02.06 |
---|---|
[Unity}RayCast (0) | 2018.01.31 |
[Unity] GUI 만들기 (0) | 2018.01.29 |
[Unity}Nullable (0) | 2018.01.25 |
[Unity]List사용 (0) | 2018.01.24 |