TA/Unity2013. 5. 7. 08:42

유니티 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
Posted by 프리랜서 디자이너