회원 로그인
|
![](http://dvframes.com/rb/_var/simbol/artsone.jpg)
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)
![](/rb/modules/bbs/theme/_pc/list01/image/ico_comment.gif)
146개(1/8페이지)
번호 | 제목 | 글쓴이 | 조회 | 날짜 |
---|---|---|---|---|
![]() |
유니티 강좌 모음(영문) | 푸딩뱃살 | 61514 | 2013.08.28 12:02 |
![]() |
유니티 경고, 에러 모음 (재정리 예정)
![]() |
푸딩뱃살 | 72840 | 2013.08.12 00:09 |
144 |
[콘솔] 오류 : ~ multicast group
![]() |
푸딩뱃살 | 1123 | 2019.09.04 00:23 |
143 |
[콘솔] 오류 : NullReferenceException
![]() |
푸딩뱃살 | 1128 | 2019.07.23 00:26 |
142 | [유니티] Unite Seoul 2019 다시보기 | 푸딩뱃살 | 1275 | 2019.06.28 10:00 |
141 | [정보] GDC 2019 유니티 키노트 하이라이트 | 푸딩뱃살 | 1380 | 2019.03.26 10:45 |
140 |
[유니티] Unite Seoul 2018 아젠다 & 세션 다시보기
![]() ![]() |
푸딩뱃살 | 2760 | 2018.05.25 10:32 |
139 |
[VR/AR] Stereo 360 Image and Video Capture
![]() ![]() |
푸딩뱃살 | 2059 | 2018.02.02 10:53 |
138 | [VR/AR] ARKit - Face Tracking | 푸딩뱃살 | 1798 | 2018.01.17 16:57 |
137 | [참고] ADAM :Making 참고 | 푸딩뱃살 | 2049 | 2017.12.04 11:14 |
136 |
[정보] ARKit Face Tracking on iPhone X
![]() |
푸딩뱃살 | 3158 | 2017.11.08 09:59 |
135 | [VR/AR] Vive Full Body Tracking Demo | 푸딩뱃살 | 2163 | 2017.10.31 18:54 |
134 |
[애셋] 유니티 모델링 - UModeler
![]() ![]() |
푸딩뱃살 | 2209 | 2017.10.20 14:02 |
133 |
[유니티] 맥에서 안드로이드/자바 SDK 경로
![]() ![]() |
푸딩뱃살 | 3348 | 2017.10.04 23:58 |
132 |
[콘솔] 오류 : Fatal Error! The project is on case sensitive file
![]() ![]() |
푸딩뱃살 | 2799 | 2017.10.01 19:59 |
131 | [참고] Adam (Made with Unity) | 푸딩뱃살 | 2520 | 2017.10.01 18:33 |
130 | [정보] 보안 패치 | 푸딩뱃살 | 1940 | 2017.08.21 15:59 |
129 |
[콘솔] 오류: Failed to load '.dll', ......
![]() |
푸딩뱃살 | 2110 | 2017.08.20 00:57 |
128 |
[콘솔] 오류: [VRDevice] Initialization of device oculus failed.
![]() |
푸딩뱃살 | 1959 | 2017.08.19 03:05 |
127 |
[콘솔] 오류: MissingComponentException
![]() |
푸딩뱃살 | 2993 | 2017.08.19 02:05 |
126 |
[콘솔] 오류: Android Manifests
![]() |
푸딩뱃살 | 2765 | 2017.08.18 03:01 |
125 | [VR/AR] Google VR SDK for Unity | 푸딩뱃살 | 3581 | 2017.08.18 00:10 |