Добавлено меню с отказом от претензий
This commit is contained in:
@ -705,6 +705,7 @@ GameObject:
|
||||
- component: {fileID: 674649897995790958}
|
||||
- component: {fileID: 8362737562193945698}
|
||||
- component: {fileID: 4568295102360243241}
|
||||
- component: {fileID: 2214660188290312135}
|
||||
m_Layer: 0
|
||||
m_Name: XR Origin (XR Rig)
|
||||
m_TagString: Player
|
||||
@ -943,6 +944,22 @@ MonoBehaviour:
|
||||
serializedVersion: 2
|
||||
m_Bits: 64
|
||||
rad: 0.05
|
||||
--- !u!114 &2214660188290312135
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1174993261558678387}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 12adac03b8a8552459794dee4dca6c79, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_Menu: {fileID: 2491700103206237577, guid: ad34e5f884ceba0459e127656e282c6e, type: 3}
|
||||
_ForwardSource: {fileID: 7692445296189415856}
|
||||
move: {fileID: 674649897995790958}
|
||||
_CharacterController: {fileID: 740023556193931342}
|
||||
--- !u!1 &1338674527300045479
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -10,7 +10,7 @@ GameObject:
|
||||
m_Component:
|
||||
- component: {fileID: 2912464425011237244}
|
||||
m_Layer: 0
|
||||
m_Name: UI
|
||||
m_Name: UI Dead Menu
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
1917
Assets/Crossy Road VR/Prefabs/Players/UI First Menu.prefab
Normal file
1917
Assets/Crossy Road VR/Prefabs/Players/UI First Menu.prefab
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ad34e5f884ceba0459e127656e282c6e
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -122,6 +122,11 @@ NavMeshSettings:
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &593427418 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 2491700103206237577, guid: ad34e5f884ceba0459e127656e282c6e, type: 3}
|
||||
m_PrefabInstance: {fileID: 904496846}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &894356741
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -240,6 +245,67 @@ MeshFilter:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 894356741}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!1001 &904496846
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 2491700103206237577, guid: ad34e5f884ceba0459e127656e282c6e, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: UI First Menu
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2491700103206237577, guid: ad34e5f884ceba0459e127656e282c6e, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2912464425011237244, guid: ad34e5f884ceba0459e127656e282c6e, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2912464425011237244, guid: ad34e5f884ceba0459e127656e282c6e, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 2.75
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2912464425011237244, guid: ad34e5f884ceba0459e127656e282c6e, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: -12.76
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2912464425011237244, guid: ad34e5f884ceba0459e127656e282c6e, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2912464425011237244, guid: ad34e5f884ceba0459e127656e282c6e, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2912464425011237244, guid: ad34e5f884ceba0459e127656e282c6e, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2912464425011237244, guid: ad34e5f884ceba0459e127656e282c6e, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2912464425011237244, guid: ad34e5f884ceba0459e127656e282c6e, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2912464425011237244, guid: ad34e5f884ceba0459e127656e282c6e, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2912464425011237244, guid: ad34e5f884ceba0459e127656e282c6e, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: ad34e5f884ceba0459e127656e282c6e, type: 3}
|
||||
--- !u!1 &1004186269
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -2130,7 +2196,7 @@ MonoBehaviour:
|
||||
- {fileID: 7148581504057363994, guid: c520ecccf52fb014783029c3f5d8c682, type: 3}
|
||||
- {fileID: 3410038953211091240, guid: 42d807bcf003c3d41a3da89aa93e16bf, type: 3}
|
||||
_Tiles: []
|
||||
_PlayerSetup: {fileID: 0}
|
||||
_PlayerSetup: {fileID: 1930314926}
|
||||
--- !u!4 &1750947391
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -2288,6 +2354,11 @@ MonoBehaviour:
|
||||
m_MipBias: 0
|
||||
m_VarianceClampScale: 0.9
|
||||
m_ContrastAdaptiveSharpening: 0
|
||||
--- !u!1 &1930314926 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 1143685360112307188, guid: ece2161f7d9e2a143b4ddb22c44736e1, type: 3}
|
||||
m_PrefabInstance: {fileID: 3034490512036249413}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &1991568987
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -2405,6 +2476,14 @@ PrefabInstance:
|
||||
propertyPath: m_Name
|
||||
value: Player Setup
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1143685360112307188, guid: ece2161f7d9e2a143b4ddb22c44736e1, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2214660188290312135, guid: ece2161f7d9e2a143b4ddb22c44736e1, type: 3}
|
||||
propertyPath: _Menu
|
||||
value:
|
||||
objectReference: {fileID: 593427418}
|
||||
- target: {fileID: 5148910712891496511, guid: ece2161f7d9e2a143b4ddb22c44736e1, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
@ -2461,3 +2540,4 @@ SceneRoots:
|
||||
- {fileID: 1991568992}
|
||||
- {fileID: 1322744478}
|
||||
- {fileID: 3034490512036249413}
|
||||
- {fileID: 904496846}
|
||||
|
73
Assets/Crossy Road VR/Scripts/PlayerJumpScript.cs
Normal file
73
Assets/Crossy Road VR/Scripts/PlayerJumpScript.cs
Normal file
@ -0,0 +1,73 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
|
||||
public class PlayerJumpScript : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private InputActionProperty _JumpButton;
|
||||
[SerializeField] private float _JumpHeight = 0f; // Высота прыжка
|
||||
[SerializeField] private CharacterController _CharacterController;
|
||||
[SerializeField] private LayerMask _GroundLayers;
|
||||
[SerializeField] private float rad = 0;
|
||||
|
||||
private float _verticalVelocity = 0f; // Вертикальная скорость
|
||||
private float _gravity = Physics.gravity.y; // Гравитация
|
||||
private bool _isGrounded;
|
||||
|
||||
|
||||
private void Update()
|
||||
{
|
||||
|
||||
_isGrounded = IsGrounded();
|
||||
|
||||
//if (_JumpButton.action.WasPressedThisFrame())
|
||||
//{
|
||||
// if (_isGrounded)
|
||||
// {
|
||||
// Debug.Log("Will Jump from gruond");
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// Debug.Log("Not Jump");
|
||||
// }
|
||||
//}
|
||||
|
||||
// Если персонаж на земле, обнуляем вертикальную скорость и проверяем прыжок
|
||||
if (_isGrounded)
|
||||
{
|
||||
_verticalVelocity = -1f; // Небольшое значение, чтобы персонаж не зависал в воздухе
|
||||
|
||||
// Если кнопка прыжка нажата
|
||||
if (_JumpButton.action.WasPressedThisFrame())
|
||||
{
|
||||
Jump();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Применяем гравитацию, если персонаж не на земле
|
||||
_verticalVelocity += _gravity * Time.deltaTime;
|
||||
}
|
||||
|
||||
// Перемещение персонажа с учетом вертикальной скорости
|
||||
Vector3 movement = new Vector3(0, _verticalVelocity, 0);
|
||||
if (_CharacterController.enabled == true)
|
||||
{
|
||||
_CharacterController.Move(movement * Time.deltaTime);
|
||||
}
|
||||
}
|
||||
|
||||
private bool IsGrounded()
|
||||
{
|
||||
return Physics.CheckSphere(transform.position, rad, _GroundLayers); // Радиус может быть отрегулирован
|
||||
}
|
||||
|
||||
private void Jump()
|
||||
{
|
||||
if (_isGrounded)
|
||||
{
|
||||
// Применяем силу прыжка
|
||||
_verticalVelocity = Mathf.Sqrt(_JumpHeight * -2f * _gravity); // Формула для прыжка с заданной высотой
|
||||
}
|
||||
}
|
||||
}
|
||||
|
11
Assets/Crossy Road VR/Scripts/PlayerJumpScript.cs.meta
Normal file
11
Assets/Crossy Road VR/Scripts/PlayerJumpScript.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 53004812adcae72458f6ee795a7354df
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
32
Assets/Crossy Road VR/Scripts/RandomMusicSelectScript.cs
Normal file
32
Assets/Crossy Road VR/Scripts/RandomMusicSelectScript.cs
Normal file
@ -0,0 +1,32 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
[RequireComponent(typeof(AudioSource))]
|
||||
public class RandomMusicSelectScript : MonoBehaviour
|
||||
{
|
||||
[SerializeField] List<AudioClip> _MusicClipList;
|
||||
|
||||
private AudioSource _Audio;
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
_Audio = GetComponent<AudioSource>();
|
||||
_Audio.clip = GetRandomObject<AudioClip>(_MusicClipList);
|
||||
_Audio.Play();
|
||||
}
|
||||
|
||||
T GetRandomObject<T>(List<T> list)
|
||||
{
|
||||
// проверка на пустоту списка
|
||||
if (list == null || list.Count == 0)
|
||||
{
|
||||
return default;
|
||||
}
|
||||
|
||||
// Генерация случайного индекса
|
||||
int randomIndex = UnityEngine.Random.Range(0, list.Count);
|
||||
return list[randomIndex];
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 57b6a86afb37be341a1589bb98bdeb60
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
127
Assets/Crossy Road VR/Scripts/SpawnRandomObjectsScript.cs
Normal file
127
Assets/Crossy Road VR/Scripts/SpawnRandomObjectsScript.cs
Normal file
@ -0,0 +1,127 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class SpawnRandomObjectsScript : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private List<GameObject> _Prefabs = new List<GameObject>();
|
||||
[SerializeField] private Vector3 _SpawnArea;
|
||||
|
||||
[SerializeField] private float fixedDistance = 1f; // фиксированное расстояние между точками
|
||||
private float MinX; // минимальная координата X
|
||||
private float MaxX; // максимальная координата X
|
||||
private float MinZ; // минимальная координата Z
|
||||
private float MaxZ; // максимальная координата Z
|
||||
|
||||
private float Y;
|
||||
|
||||
// кол-во повторных проходов
|
||||
[SerializeField] private int NumOfRep = 1;
|
||||
|
||||
// Структура Point теперь на плоскости X-Z
|
||||
// Структура Point теперь на плоскости X-Z
|
||||
public struct Point
|
||||
{
|
||||
public Vector3 Position; // позиция точки
|
||||
|
||||
public Point(float x, float y, float z)
|
||||
{
|
||||
Position = new Vector3(x, y, z); // плоскость 2D, Y-координата всегда 0
|
||||
}
|
||||
|
||||
public float DistanceTo(Point other)
|
||||
{
|
||||
return Vector3.Distance(Position, other.Position); // возвращаем расстояние между точками
|
||||
}
|
||||
}
|
||||
private List<Point> points = new List<Point>();
|
||||
|
||||
|
||||
void Start()
|
||||
{
|
||||
MinX = -_SpawnArea.x / 2 + transform.position.x;
|
||||
MaxX = _SpawnArea.x / 2 + transform.position.x;
|
||||
MinZ = -_SpawnArea.z / 2 + transform.position.z;
|
||||
MaxZ = _SpawnArea.z / 2 + transform.position.z;
|
||||
|
||||
Y = -_SpawnArea.y / 2 + transform.position.y;
|
||||
|
||||
GeneratePoints();
|
||||
foreach (var point in points)
|
||||
{
|
||||
GameObject prefab = GetRandomObject<GameObject>(_Prefabs);
|
||||
|
||||
|
||||
// Случайный поворот только по оси Y
|
||||
Quaternion randomRotation = Quaternion.Euler(
|
||||
0f, // угол по оси X
|
||||
Random.Range(0f, 360f), // случайный угол по оси Y
|
||||
0f // угол по оси Z
|
||||
);
|
||||
|
||||
// Инстанцируем объект с случайным поворотом
|
||||
Transform child = Instantiate(prefab, point.Position, randomRotation).transform;
|
||||
child.SetParent(transform);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void GeneratePoints()
|
||||
{
|
||||
// Размещение первой точки случайным образом в указанном диапазоне
|
||||
points.Add(new Point(Random.Range(MinX, MaxX), Y, Random.Range(MinZ, MaxZ)));
|
||||
|
||||
for (int i = 0; i < NumOfRep; i++)
|
||||
{
|
||||
bool canAddPoint = true;
|
||||
|
||||
while (canAddPoint)
|
||||
{
|
||||
canAddPoint = false;
|
||||
// Пробуем случайно разместить следующую точку в пределах нового диапазона
|
||||
float newX = Random.Range(MinX, MaxX);
|
||||
float newZ = Random.Range(MinZ, MaxZ);
|
||||
Point newPoint = new Point(newX, Y, newZ);
|
||||
|
||||
bool valid = true;
|
||||
|
||||
foreach (var point in points)
|
||||
{
|
||||
if (newPoint.DistanceTo(point) < fixedDistance) // фиксированное расстояние
|
||||
{
|
||||
valid = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Если точка валидна (удовлетворяет условиям), добавляем её
|
||||
if (valid)
|
||||
{
|
||||
points.Add(newPoint);
|
||||
canAddPoint = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void OnDrawGizmos()
|
||||
{
|
||||
// Устанавливаем цвет Gizmos
|
||||
Gizmos.color = Color.red;
|
||||
|
||||
// Рисуем сферу
|
||||
Gizmos.DrawWireCube(transform.position, _SpawnArea);
|
||||
}
|
||||
T GetRandomObject<T>(List<T> list)
|
||||
{
|
||||
// проверка на пустоту списка
|
||||
if (list == null || list.Count == 0)
|
||||
{
|
||||
return default;
|
||||
}
|
||||
|
||||
// Генерация случайного индекса
|
||||
int randomIndex = UnityEngine.Random.Range(0, list.Count);
|
||||
return list[randomIndex];
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6961f6e142293184b9a12fe3db1fdede
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -82,7 +82,7 @@ public class TileManagerScript : MonoBehaviour
|
||||
|
||||
|
||||
|
||||
//_PlayerSetup.SetActive(true);
|
||||
_PlayerSetup.SetActive(true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
Reference in New Issue
Block a user