mirror of
https://github.com/0015/ThatProject.git
synced 2026-01-13 01:37:43 +03:00
Unity3D | Tutorial | Raycast/Boxcast/Spherecast
This commit is contained in:
24
Unity3D_RayCasts/Assets/Scripts/BoxCaster.cs
Normal file
24
Unity3D_RayCasts/Assets/Scripts/BoxCaster.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class BoxCaster : MonoBehaviour
|
||||
{
|
||||
void OnDrawGizmos()
|
||||
{
|
||||
float maxDistance = 10f;
|
||||
RaycastHit hit;
|
||||
|
||||
bool isHit = Physics.BoxCast(transform.position, transform.lossyScale / 2, transform.forward, out hit,
|
||||
transform.rotation, maxDistance);
|
||||
if (isHit)
|
||||
{
|
||||
Gizmos.color = Color.red;
|
||||
Gizmos.DrawRay(transform.position, transform.forward * hit.distance);
|
||||
Gizmos.DrawWireCube(transform.position + transform.forward * hit.distance, transform.lossyScale);
|
||||
}
|
||||
else
|
||||
{
|
||||
Gizmos.color = Color.green;
|
||||
Gizmos.DrawRay(transform.position, transform.forward * maxDistance);
|
||||
}
|
||||
}
|
||||
}
|
||||
11
Unity3D_RayCasts/Assets/Scripts/BoxCaster.cs.meta
Normal file
11
Unity3D_RayCasts/Assets/Scripts/BoxCaster.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f14f120fafa6448ec89855fafdadb342
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
22
Unity3D_RayCasts/Assets/Scripts/RayCaster.cs
Normal file
22
Unity3D_RayCasts/Assets/Scripts/RayCaster.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class RayCaster : MonoBehaviour
|
||||
{
|
||||
void OnDrawGizmos()
|
||||
{
|
||||
float maxDistance = 10f;
|
||||
RaycastHit hit;
|
||||
|
||||
bool isHit = Physics.Raycast(transform.position, transform.forward, out hit, maxDistance);
|
||||
if (isHit)
|
||||
{
|
||||
Gizmos.color = Color.red;
|
||||
Gizmos.DrawRay(transform.position, transform.forward * hit.distance);
|
||||
}
|
||||
else
|
||||
{
|
||||
Gizmos.color = Color.green;
|
||||
Gizmos.DrawRay(transform.position, transform.forward * maxDistance);
|
||||
}
|
||||
}
|
||||
}
|
||||
11
Unity3D_RayCasts/Assets/Scripts/RayCaster.cs.meta
Normal file
11
Unity3D_RayCasts/Assets/Scripts/RayCaster.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fde404492e7264fefae33d2d7b2cbe30
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
24
Unity3D_RayCasts/Assets/Scripts/SphereCaster.cs
Normal file
24
Unity3D_RayCasts/Assets/Scripts/SphereCaster.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class SphereCaster : MonoBehaviour
|
||||
{
|
||||
void OnDrawGizmos()
|
||||
{
|
||||
float maxDistance = 10f;
|
||||
RaycastHit hit;
|
||||
|
||||
bool isHit = Physics.SphereCast(transform.position, transform.lossyScale.x / 2, transform.right, out hit,
|
||||
maxDistance);
|
||||
if (isHit)
|
||||
{
|
||||
Gizmos.color = Color.red;
|
||||
Gizmos.DrawRay(transform.position, transform.right * hit.distance);
|
||||
Gizmos.DrawWireSphere(transform.position + transform.right * hit.distance, transform.lossyScale.x / 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
Gizmos.color = Color.green;
|
||||
Gizmos.DrawRay(transform.position, transform.right * maxDistance);
|
||||
}
|
||||
}
|
||||
}
|
||||
11
Unity3D_RayCasts/Assets/Scripts/SphereCaster.cs.meta
Normal file
11
Unity3D_RayCasts/Assets/Scripts/SphereCaster.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 30f528683a3694fe48365a1c67f7fc50
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user