2021년 4학년 1학기 기업연계프로젝트2
컴퓨터소프트웨어공학과 <원광투어팀>
팀장 : 송유진
팀원 : 김나영, 이경희, 한유진
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//========= Copyright 2016-2020, HTC Corporation. All rights reserved. ===========
using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;
namespace HTC.UnityPlugin.Pointer3D{ public class PhysicsRaycastMethod : BaseRaycastMethod { public enum MaskTypeEnum { Inclusive, Exclusive, }
private static readonly RaycastHit[] hits = new RaycastHit[64];
public MaskTypeEnum maskType; public LayerMask mask;
public int RaycastMask { get { return maskType == MaskTypeEnum.Inclusive ? (int)mask : ~mask; } }#if UNITY_EDITOR
protected virtual void Reset() { maskType = MaskTypeEnum.Exclusive; mask = LayerMask.GetMask("Ignore Raycast"); }#endif
public override void Raycast(Ray ray, float distance, List<RaycastResult> raycastResults) { var hitCount = Physics.RaycastNonAlloc(ray, hits, distance, RaycastMask);
for (int i = 0; i < hitCount; ++i) { raycastResults.Add(new RaycastResult { gameObject = hits[i].collider.gameObject, module = raycaster, distance = hits[i].distance, worldPosition = hits[i].point, worldNormal = hits[i].normal, screenPosition = Pointer3DInputModule.ScreenCenterPoint, index = raycastResults.Count, sortingLayer = 0, sortingOrder = 0 }); } } }}
|