Initialer Upload neues Unity-Projekt
This commit is contained in:
37
Assets/Oculus/Interaction/Runtime/Scripts/Shapes/Cylinder.cs
Normal file
37
Assets/Oculus/Interaction/Runtime/Scripts/Shapes/Cylinder.cs
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using UnityEngine;
|
||||
|
||||
namespace Oculus.Interaction
|
||||
{
|
||||
public class Cylinder : MonoBehaviour
|
||||
{
|
||||
[Tooltip("The radius of the cylinder.")]
|
||||
[SerializeField]
|
||||
private float _radius = 1f;
|
||||
|
||||
public float Radius
|
||||
{
|
||||
get => _radius;
|
||||
set => _radius = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 41bad9aebb942ca4b809bc97e711df55
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
namespace Oculus.Interaction
|
||||
{
|
||||
/// <summary>
|
||||
/// Describes the orientation in which the cylinder will be used.
|
||||
/// </summary>
|
||||
public enum CylinderOrientation
|
||||
{
|
||||
/// <summary>
|
||||
/// Cylinder is used in a vertical orientation
|
||||
/// </summary>
|
||||
Vertical,
|
||||
|
||||
/// <summary>
|
||||
/// Cylinder is used in a horizontal orientation
|
||||
/// </summary>
|
||||
Horizontal,
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aff695301f170c6439b1767baa3f718a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,82 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
using UnityEngine;
|
||||
|
||||
namespace Oculus.Interaction.Surfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// Defines a portion of a cylinder surface
|
||||
/// </summary>
|
||||
[System.Serializable]
|
||||
public struct CylinderSegment
|
||||
{
|
||||
[SerializeField, Range(-180f, 180f)]
|
||||
private float _rotation;
|
||||
|
||||
[SerializeField, Range(0f, 360f)]
|
||||
private float _arcDegrees;
|
||||
|
||||
[SerializeField]
|
||||
private float _bottom;
|
||||
|
||||
[SerializeField]
|
||||
private float _top;
|
||||
|
||||
public float ArcDegrees => _arcDegrees;
|
||||
public float Rotation => _rotation;
|
||||
public float Bottom => _bottom;
|
||||
public float Top => _top;
|
||||
|
||||
public bool IsInfiniteHeight => Bottom > Top;
|
||||
public bool IsInfiniteArc => ArcDegrees >= 360;
|
||||
|
||||
public CylinderSegment(float rotation,
|
||||
float arcDegrees, float bottom, float top)
|
||||
{
|
||||
_rotation = rotation;
|
||||
_arcDegrees = arcDegrees;
|
||||
_bottom = bottom;
|
||||
_top = top;
|
||||
}
|
||||
|
||||
public static CylinderSegment Default()
|
||||
{
|
||||
return new CylinderSegment()
|
||||
{
|
||||
_rotation = 0f,
|
||||
_arcDegrees = 360f,
|
||||
_bottom = -1,
|
||||
_top = 1
|
||||
};
|
||||
}
|
||||
|
||||
public static CylinderSegment Infinite()
|
||||
{
|
||||
return new CylinderSegment()
|
||||
{
|
||||
_rotation = 0f,
|
||||
_arcDegrees = 360f,
|
||||
_bottom = 1,
|
||||
_top = -1
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c23ca7f7ac9dbac47a9117edc44df120
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Licensed under the Oculus SDK License Agreement (the "License");
|
||||
* you may not use the Oculus SDK except in compliance with the License,
|
||||
* which is provided at the time of installation or download, or which
|
||||
* otherwise accompanies this software in either electronic or hard copy form.
|
||||
*
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://developer.oculus.com/licenses/oculussdk/
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, the Oculus SDK
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
namespace Oculus.Interaction
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a curved rectangular section of a
|
||||
/// cylinder wall.
|
||||
/// </summary>
|
||||
public interface ICurvedPlane
|
||||
{
|
||||
/// <summary>
|
||||
/// The cylinder the curved plane lies on
|
||||
/// </summary>
|
||||
Cylinder Cylinder { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The horizontal size of the plane, in degrees
|
||||
/// </summary>
|
||||
float ArcDegrees { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The rotation of the center of the plane relative
|
||||
/// to the Cylinder's forward Z axis, in degrees
|
||||
/// </summary>
|
||||
float Rotation { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The bottom of the plane relative to the
|
||||
/// Cylinder Y position, in Cylinder local space
|
||||
/// </summary>
|
||||
float Bottom { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The top of the plane relative to the
|
||||
/// Cylinder Y position, in Cylinder local space
|
||||
/// </summary>
|
||||
float Top { get; }
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b3e62bf8c01ea344dbf0dc14ba2ca9bd
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user