Get it on Google Play


Wm뮤 :: 유니티 함수 정리

블로그 이미지
가끔 그림그리거나 3D모델링하거나
취미로 로봇만드는
퇴직한 전자과 게임프로그래머
2020.3.48f1 , 2022.3.6f1 주로 사용
모카쨩
@Ahzkwid

Recent Comment

Archive


2017. 7. 2. 22:48 Unity/C#
Application.targetFrameRate=60;  //룸스피드를 60프레임으로 맞춤
Application.runInBackground=true;   //백그라운드상에서도 동작하게 한다
DontDestroyOnLoad(this.gameObject);   //룸을 이동해도 오브젝트가 지워지지 않는다
UnityEngine.SceneManagement.SceneManager.LoadScene(룸);   //Application.LoadLevel대신 들어온 녀석, 룸을 이동한다
Application.Quit (); //종료



월드 좌표: 게임내 가상좌표, 편의를 위해 기본좌표계라고 사용
스크린상 좌표: 좌x0, 우x픽셀길이, 상y픽셀높이, 하y0 
Input.GetKey (키보드 번호): 키보드가 눌렸는지를 반환한다. 키보드 번호는 KeyCode에 따라 좌우된다.
Input.GetMouseButton(버튼 번호): 마우스가 클릭했는지를 반환한다. 0은 왼쪽 1은 오른쪽 2는 가운데
Input.GetAxis("Vertical") : 정의된 방향키의 위아래 값을 반환한다 -1이 위쪽
Input.GetAxis("Horizontal") : 정의된 방향키의 좌우 값을 반환한다 -1이 왼쪽
Input.mousePosition : 마우스의 스크린상좌표를 반환한다
Camera.main.ScreenToWorldPoint(좌표) : 스크린상 좌표를 기본좌표계로 변환
Camera.main.WorldToScreenPoint(좌표) : 기본좌표를 스크린상 좌표로 변환

Screen.width //화면가로해상도를 반환
Screen.height //화면세로해상도를 반환
screenHeightCentimeter = Display.main.systemHeight / ((Screen.dpi==0? 96:Screen.dpi) / 2.54f); //화면 세로 Cm높이를 반환
Screen.currentResolution.height //모니터 높이 해상도를 반환(Screen.height와 다른점은 창이 작아져도 최대값을 반환함)
Display.main.renderingWidth //현재 렌더링 되는 디스플레이 사이즈, screen.width랑 같다고 보면 된다
Display.main.systemWidth //물리적인 디스플레이 사이즈, 스크린 사이즈가 바뀌어도 기기레퍼런스값을 가져오므로 불변이다.


float canvasHei = GetComponentInParent<Canvas>().GetComponent<RectTransform>().rect.height; //현재 캔버스의 높이를 반환
(1 / screenHeightCentimeter) * canvasHei //1센치에 대한 캔버스 픽셀사이즈를 반환


//RectTransform계열
float wid = GetComponent<RectTransform>().sizeDelta.x; //rect.width와 동일
float wid = GetComponent<RectTransform>().rect.width; //sizeDelta.x와 동일
textUI.rectTransform.anchoredPosition.x //일반적으로 생각하는 rectTransform의 x좌표
textUI.rectTransform.localPosition.x //Anchors가 미적용된 x좌표, 가급적 사용자제
textUI.rectTransform.rect.x //작동안함, anchoredPosition써라




Physics2D.CircleCast(위치(vector2), 반지름, 각도(Vector2)) :  원충돌 검사 RaycastHit2D를 반환하고, (RaycastHit2D.transform!=null) 검사로 충돌했는지 확인가능

GetComponent<Rigidbody2D> ().AddRelativeForce (Vector2.right*1000f); //상대적인 정면을 향해 힘을 줌, 질량에 따라 바뀜
GetComponent<Rigidbody2D> ().velocity //속력을 반환



GetComponent<Rigidbody2D>().AddForce( (transform.position-target.position).normalized*-gravity); //특정방향으로 힘을 줌



Vector2.Distance(Vec2_A,Vec2_B); //벡터간의 길이값을 반환

Vector3.Distance(Vec3_A,Vec3_B); //벡터간의 길이값을 반환 3D


this.GetComponent<Renderer>().material.mainTexture  //렌더러의 텍스처

this.GetComponent<SpriteRenderer>().sprite  //렌더러의 스프라이트



GetComponent<AudioSource>().volume //게임오브젝트의 사운드 볼륨조절



GUI.Label (new Rect(x,y,wid,hei),text); draw_text와 같다



void OnGUI(){} //GUI계층의 함수를 사용할수 있다

void OnCollisionEnter2D(Collision2D col) //리지드바디2D가 충돌을 시작했을때 작동한다 OnCollisionStay2D는 항상 OnCollisionExit2D는 종료시,Collision을 Trigger로 바꾸면 트리거 작동 인수는 그대로

{

}

void OnCollisionStay(Collision col) //Enter와 다르게 항상 작동한다

{

}

GetComponent<Collider2D>().IsTouchingLayers() //충돌했는지 반환



Mathf.Clamp(value,min,max) //median함수와 동일함

'Unity > C#' 카테고리의 다른 글

유니티 각도계산 모음  (0) 2017.11.06
c# list(리스트) 관련  (0) 2017.03.23
c# list와 array속도 비교  (3) 2017.01.25
posted by 모카쨩

  • total
  • today
  • yesterday

Recent Post

저사양 유저용 블로그 진입