회원 로그인
|
Physics.Linecast() / Physics.Raycast()
Physics2D.Linecast()
2D상 가상의 라인을 그어주어 충돌체를 리턴
Physics.Raycast()
3D상 가상의 레이져를 발사하여 충돌체를 리턴함
2D상 가상의 라인을 그어주어 충돌체를 리턴
using UnityEngine; using System.Collections; public class CPlayer : MonoBehaviour { public Transform _linecastPos; void Update () { RaycastHit2D hit; // 충돌 정보 구조체 // Physics2D.LinecastLinecast(선의시작위치, 선의끝위치, 충돌레이어) 리턴으로 반환 hit = Physics2D.Linecast(transform.position, _linecastPos.position, 1 << LayerMask.NameToLayer("UFO")); if (hit) { print(hit.transform.gameObject.name); } // 라인선을 초록색으로 씬에서만 그려줌(cast 라인 표시) Debug.DrawLine(transform.position, _linecastPos.position, Color.green); } }
Physics.Raycast()
3D상 가상의 레이져를 발사하여 충돌체를 리턴함
using UnityEngine; using System.Collections; public class CRotatePlayer : MonoBehaviour { public float _moveSpeed; // 이동 속도 public float _trunSpeed; // 회전 속도 public Transform _rayPos; void Update () { Move(); Ray(); } void Ray() { // Ray(위치, 방향) Ray ray = new UnityEngine.Ray(_rayPos.position, _rayPos.forward); // 레이 객체를 생성 RaycastHit hit; // RaycastHit struct 객체 생성 // 레이저 발사 // 6번 Raycast(ray객체, RaycastHit struct 객체 참조(Hit정보, 충돌 정보가 들어옴), 길이) // Raycast(Ray ray, out RaycastHit, float maxDistance) if (Physics.Raycast(ray, out hit, 5f)) // out문 { Debug.DrawRay(_rayPos.position, _rayPos.forward * 5f, Color.red); // 충돌이 됬을 때 red print(hit.transform.gameObject.name); } else { Debug.DrawRay(_rayPos.position, _rayPos.forward * 5f, Color.green); // } } void Move() { // 앞뒤 이동 키 입력 float v = Input.GetAxis("Vertical"); float h = Input.GetAxis("Horizontal"); transform.Translate(Vector3.forward * v * _moveSpeed * Time.deltaTime); // 앞뒤 이동 .forward(z축) transform.Rotate(Vector3.up * h * _trunSpeed * Time.deltaTime); // 좌우 회전 // .up(y축) } }
- raycast.unitypackage (55.4KB) (1)
- linecast.unitypackage (18.1KB) (0)
댓글 0개
| 엮인글 0개
146개(3/8페이지)
번호 | 제목 | 글쓴이 | 조회 | 날짜 |
---|---|---|---|---|
유니티 강좌 모음(영문) | 푸딩뱃살 | 60294 | 2013.08.28 12:02 | |
유니티 경고, 에러 모음 (재정리 예정) [1+1] | 푸딩뱃살 | 71095 | 2013.08.12 00:09 | |
104 | [콘솔] 안드로이드 호환성 설정 - AndroidManifest.xml | 푸딩뱃살 | 1561 | 2016.01.10 16:29 |
103 | [소셜] 구글 개발자 콘솔 요약 | 푸딩뱃살 | 2074 | 2016.01.08 15:49 |
102 | [유니티] Rich Text (리치 텍스트) | 푸딩뱃살 | 3032 | 2016.01.07 11:32 |
101 | [스트립트] 전처리기 | 푸딩뱃살 | 3838 | 2016.01.05 11:36 |
100 | [소셜] 안드로이드 inApp(인앱) 처리 | 푸딩뱃살 | 1422 | 2016.01.05 11:30 |
99 | [소셜] Push (문자 알림 서비스) | 푸딩뱃살 | 1821 | 2016.01.04 11:50 |
98 | [소셜] 안드로이드 inApp(인앱) 등록 | 푸딩뱃살 | 1582 | 2016.01.04 10:46 |
97 | [유니티] Asset Bundle (애셋 번들) | 푸딩뱃살 | 4697 | 2015.12.30 11:53 |
96 | [소셜] AdMob 광고 연동 | 푸딩뱃살 | 1669 | 2015.12.30 01:19 |
95 | [소셜] Google Play Games 리더보드 | 푸딩뱃살 | 2544 | 2015.12.29 16:00 |
94 | [소셜] 유니티 구글 게임 서비스 연동 | 푸딩뱃살 | 2298 | 2015.12.29 10:59 |
93 | [소셜] 구글 플레이 서비스 (Google Play Service) | 푸딩뱃살 | 2385 | 2015.12.28 10:16 |
92 | [소셜] UnityAds 유니티 광고(Unity Advertisement) 연동 | 푸딩뱃살 | 2809 | 2015.12.24 12:09 |
91 | [유니티] 안드로이드 빌드 | 푸딩뱃살 | 5917 | 2015.12.21 10:41 |
90 | [스트립트] 프레임 함수-유니티가 시작되면서 호출되는 기본적인 함수 | 푸딩뱃살 | 4517 | 2015.12.14 00:22 |
89 | [유니티] Trail Renderer (트레일 렌더러) | 푸딩뱃살 | 2784 | 2015.12.11 17:25 |
88 | [유니티] Character Controller (캐릭터 컨트롤러) | 푸딩뱃살 | 3130 | 2015.12.10 14:18 |
87 | [유니티] Materials (매터리얼) 예제 | 푸딩뱃살 | 2374 | 2015.12.09 12:17 |
86 | [유니티] Light (라이트) | 푸딩뱃살 | 2966 | 2015.12.09 10:52 |
>> | [유니티] Physics.Linecast() / Physics.Raycast() | 푸딩뱃살 | 3985 | 2015.12.08 12:56 |