유니티 C# 공부 모음 01
오브젝트 배열 잡기
.
.Public class ex: MonoBehaviour {
//클레스
private int currentWaypoint = 0;
//배열갯수 인스펙터에서 조절 가능하게 전역변수로....
GameObject AAA;
GameObject BBB;
//변수 설정
void Start () {
AAA= GameObject.Find("AAA_01");
BBB= GameObject.Find("AAA_01");
//게임오브젝트 담기
waypoints[0] = AAA.transform;
waypoints[1] = BBB.transform;
//배열지정하기
}//스타트
.
.
void Update () {
activeWaypoint = waypoints[currentWaypoint];
//activeWaypoint 변수에 배열 넘겨 저장 시키기.
}//업데이트
.
.
}//클레스
=====================================================================================================================
OnTriggerEnter 예제
void OnTriggerEnter(Collider col)
{
Debug.Log("collider Trigger!");
if(col.gameObject.tag == "waypoint")
{
currentWaypoint++;
Debug.Log("current no = " +currentWaypoint);
}
if(state == 0)
{
if(currentWaypoint != 9){
wark();
}else{
Destroy(this.gameObject);
}
}
}
// OnTriggerEnter(Collider col) 트리거 충돌시 자동 호출된다. 단 유닛에 리지드바디가 추가되어있어야함.
=====================================================================================================================
오브젝트 카메라 바라보게 만들기.
using UnityEngine;
using System.Collections;
public class LookAtCamera : MonoBehaviour {
public Camera cameraToLookAt;
//전역변수로 카메라 타입의 변수 생성
void Start () {
cameraToLookAt = Camera.main;
변수에 카메라담기 초기화...작업
}
void Update () {
Vector3 v = cameraToLookAt.transform.position - transform.position;
//카메라 위치 구하기
v.x = v.z = 0.0f;
//x와z축 0.0f로 만들기
transform.LookAt(cameraToLookAt.transform.position - v);
//카메라를 y축을 중심으로 바라보게 만들기.
}
}
=====================================================================================================================
인스턴스 만들고 오브젝트 발사하기
public Rigidbody FireBall;
public float FireBallSpeed = 1.0f;
.
.
.
Rigidbody playerAttak = (Rigidbody)Instantiate(FireBall,transform.position,transform.rotation);
playerAttak.velocity = transform.TransformDirection(new Vector3(0,0,FireBallSpeed));
=====================================================================================================================
오브젝트간 거리 구하기
float Distance = Vector3.Distance(obj1.transform.position, obj2.transform.position);
Distance 함수를 사용해 거리를 구한다.
=====================================================================================================================
A오브젝트가 B오브젝트를 바라보게 만들기
transform.rotation = Quaternion.Slerp(Creep.transform.rotation, Quaternion.LookRotation(Target.transform.position - Creep.transform.position), 1);
Quaternion함수를 (축) 같은 축으로 만들기
Slerp 함수는 보간기능
LookRotation() 은 특정 오브젝트를 바라보개 만든다,
=====================================================================================================================
오브젝트에 시간을 곱해 좌표이동시키기
transform.Translate(Vector3.forward * Time.smoothDeltaTime * MoveSpeed);
// Translate(Vector3)
=====================================================================================================================
'TA > Unity' 카테고리의 다른 글
유니티 라이트 프로브 셰이더 예제 (0) | 2013.06.20 |
---|---|
TD CameraControl C# (0) | 2013.05.09 |
Texture Matrix in Fixed Function (0) | 2012.07.18 |
HLSL 함수 (0) | 2012.07.10 |
Blending modes..참고 자료 (0) | 2012.06.08 |