'언어/Unity'에 있는 글 11개

  1. ▪ [Unity]마우스클릭으로 Collider만들기 ....... 2018.02.05


728x90
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CreateCollider : MonoBehaviour {
private Vector3 lastDotPosition;
private bool lastPointExists = false;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void 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