This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ************************************************** | |
// EXAMPLE USAGE: | |
// | |
// // Returns a single value with arguments x and y interleaved | |
// var code = MortonCode2D.Interleave( 123, 456 ); | |
// | |
// // Extracts the interleaved values (123 and 456) into integer variables x and y | |
// MortonCode2D.Deinterleave( code, out int x, out int y ) | |
// | |
// ************************************************** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Copyright (c) 2016 StagPoint Software | |
namespace StagPoint.Networking | |
{ | |
using System; | |
using UnityEngine; | |
using UnityEngine.Networking; | |
/// <summary> | |
/// Provides some commonly-used functions for transferring compressed data over the network using |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Created 2024 StagPoint. Released to the public domain. | |
using System; | |
using System.Runtime.CompilerServices; | |
using Unity.Collections; | |
using UnityEngine; | |
using UnityEngine.Scripting; | |
using UnityEngine.UIElements; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Copyright 2017-2021 StagPoint Software | |
namespace StagPoint.Collections | |
{ | |
using System; | |
using System.Diagnostics; | |
using System.Runtime.CompilerServices; | |
using Unity.Collections; | |
using Unity.Collections.LowLevel.Unsafe; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private bool planesIntersectAtSinglePoint( Plane p0, Plane p1, Plane p2, out Vector3 intersectionPoint ) | |
{ | |
const float EPSILON = 1e-4f; | |
var det = Vector3.Dot( Vector3.Cross( p0.normal, p1.normal ), p2.normal ); | |
if( det < EPSILON ) | |
{ | |
intersectionPoint = Vector3.zero; | |
return false; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace StagPoint.EditorUtils | |
{ | |
using System; | |
using System.Linq; | |
using System.Collections; | |
using System.Collections.Generic; | |
using UnityEngine; | |
using UnityEditor; | |
using UnityEditor.Animations; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace StagPoint.Math | |
{ | |
using Unity.Collections; | |
using Unity.Mathematics; | |
/// <summary> | |
/// Implements a simplistic 3D curve smoother | |
/// </summary> | |
public static class CurveSmoother | |
{ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Runtime.InteropServices; | |
using System.Runtime.CompilerServices; | |
using Unity.Burst; | |
using Unity.Mathematics; | |
public static class CameraMath | |
{ | |
/// <summary> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Copyright (c) 2016 StagPoint Software | |
// NOTE: C#-style unions (structs using FieldOffset to cause multiple fields to 'overlap' in memory) may not be allowed on | |
// some IL2CPP platforms? If you get a compile error related to using FieldOffset on your target platform, comment the | |
// following #define to force this code to use another method. | |
// | |
// The UnityEngine.Networking code on BitBucket uses (#if !INCLUDE_IL2CPP) to control whether to use unions, but that code | |
// may be out of date (Unity has so far failed to respond), but testing confirms that this method does work on at least one | |
// of the IL2CPP target platforms, so we've chosen a more explicit #define instead. | |
#define USE_UNION_FOR_CONVERSION |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static bool IntersectsBox( Vector3 a, Vector3 b, Vector3 c, Vector3 boxCenter, Vector3 boxExtents ) | |
{ | |
// From the book "Real-Time Collision Detection" by Christer Ericson, page 169 | |
// See also the published Errata at http://realtimecollisiondetection.net/books/rtcd/errata/ | |
// Translate triangle as conceptually moving AABB to origin | |
var v0 = ( a - boxCenter ); | |
var v1 = ( b - boxCenter ); | |
var v2 = ( c - boxCenter ); |
NewerOlder