碰撞检测,射线检测,动态位移
This commit is contained in:
parent
16e416332d
commit
b3b882c51e
@ -259,7 +259,7 @@ AnimatorState:
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: -2594306684932571358, guid: 8d6e0aea970462e4bb4b16046eb5c382,
|
||||
m_Motion: {fileID: -4775950824883181381, guid: 114606f2cc62f834ca290cba3ca38cc6,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
@ -485,7 +485,7 @@ AnimatorState:
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 3214223272393166172, guid: 8d6e0aea970462e4bb4b16046eb5c382,
|
||||
m_Motion: {fileID: -9103549811889136567, guid: 114606f2cc62f834ca290cba3ca38cc6,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
@ -571,7 +571,7 @@ AnimatorState:
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: -2328498710462472863, guid: 8d6e0aea970462e4bb4b16046eb5c382,
|
||||
m_Motion: {fileID: 1628252986623654205, guid: 114606f2cc62f834ca290cba3ca38cc6,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
@ -624,7 +624,7 @@ AnimatorState:
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 1827226128182048838, guid: 400110dd8ee017b43bacbba75163ad29,
|
||||
m_Motion: {fileID: -4049585584969071195, guid: 114606f2cc62f834ca290cba3ca38cc6,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
@ -653,7 +653,7 @@ AnimatorState:
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 8337528576563664321, guid: 8d6e0aea970462e4bb4b16046eb5c382,
|
||||
m_Motion: {fileID: 9001851194710065257, guid: 114606f2cc62f834ca290cba3ca38cc6,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
@ -704,7 +704,7 @@ AnimatorState:
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: -5405653242291790180, guid: 8d6e0aea970462e4bb4b16046eb5c382,
|
||||
m_Motion: {fileID: 1391355703288224117, guid: 114606f2cc62f834ca290cba3ca38cc6,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
|
||||
@ -1,23 +1,14 @@
|
||||
380:5
|
||||
661:0
|
||||
909:-5
|
||||
1231:0
|
||||
1390:-5
|
||||
1597:0
|
||||
1756:-5
|
||||
1906:0
|
||||
2232:-5
|
||||
2471:0
|
||||
2961:-5
|
||||
3233:0
|
||||
3458:-5
|
||||
4258:0
|
||||
5367:5
|
||||
5484:0
|
||||
5799:5
|
||||
5965:0
|
||||
6379:5
|
||||
6644:0
|
||||
6980:5
|
||||
7705:0
|
||||
|
||||
347:-5
|
||||
693:0
|
||||
1040:-5
|
||||
1200:0
|
||||
1434:-5
|
||||
1483:0
|
||||
1679:5
|
||||
1816:0
|
||||
2097:5
|
||||
2322:0
|
||||
2544:-5
|
||||
2734:0
|
||||
3340:5
|
||||
3376:0
|
||||
@ -151,10 +151,10 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_mediaSource: 1
|
||||
_mediaReference: {fileID: 0}
|
||||
_mediaReference: {fileID: 11400000, guid: 6270438318e8c9f4da5ff28f426d52ed, type: 2}
|
||||
_mediaPath:
|
||||
_pathType: 2
|
||||
_path: AVProVideoSamples/Chongqing Fengjie Zilian stage 7.mp4
|
||||
_path: AVProVideoSamples/12067924_720p.mp4
|
||||
_fallbackMediaHints:
|
||||
transparency: 0
|
||||
alphaPacking: 0
|
||||
@ -452,13 +452,13 @@ Light:
|
||||
m_InnerSpotAngle: 21.80208
|
||||
m_CookieSize: 10
|
||||
m_Shadows:
|
||||
m_Type: 1
|
||||
m_Type: 2
|
||||
m_Resolution: 2
|
||||
m_CustomResolution: -1
|
||||
m_Strength: 1
|
||||
m_Strength: 0.8
|
||||
m_Bias: 0
|
||||
m_NormalBias: 0.422
|
||||
m_NearPlane: 0.56
|
||||
m_NormalBias: 0
|
||||
m_NearPlane: 0.1
|
||||
m_CullingMatrixOverride:
|
||||
e00: 1
|
||||
e01: 0
|
||||
@ -639,6 +639,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ticks: 0
|
||||
distance: 0
|
||||
--- !u!54 &564530027
|
||||
Rigidbody:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -683,7 +684,7 @@ MeshCollider:
|
||||
m_GameObject: {fileID: 583583715}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_Enabled: 1
|
||||
m_Enabled: 0
|
||||
serializedVersion: 4
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
@ -743,8 +744,8 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 583583715}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: -10, z: 22}
|
||||
m_LocalScale: {x: 22, y: 1, z: 22}
|
||||
m_LocalPosition: {x: 0, y: -25, z: 22}
|
||||
m_LocalScale: {x: 200, y: 1, z: 200}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1870313947}
|
||||
m_RootOrder: 3
|
||||
@ -868,6 +869,99 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 755272044}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &816517650
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 816517651}
|
||||
- component: {fileID: 816517654}
|
||||
- component: {fileID: 816517653}
|
||||
- component: {fileID: 816517652}
|
||||
m_Layer: 0
|
||||
m_Name: Cube
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &816517651
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 816517650}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 273, y: 0, z: 760}
|
||||
m_LocalScale: {x: 22, y: 100, z: 22}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1870313947}
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!65 &816517652
|
||||
BoxCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 816517650}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 1, y: 1, z: 1}
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!23 &816517653
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 816517650}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: bc3a712fff1411b49b32b0fd3d4d25f0, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
--- !u!33 &816517654
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 816517650}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!1 &860992837
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -1022,7 +1116,7 @@ RectTransform:
|
||||
- {fileID: 1297089527}
|
||||
- {fileID: 2017384698}
|
||||
m_Father: {fileID: 1870313947}
|
||||
m_RootOrder: 4
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
@ -1567,7 +1661,7 @@ PrefabInstance:
|
||||
- target: {fileID: -8679921383154817045, guid: 0f2ea8e54c2f1bf4f871020d54be0bda,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 5
|
||||
value: 6
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 0f2ea8e54c2f1bf4f871020d54be0bda,
|
||||
type: 3}
|
||||
@ -1642,7 +1736,7 @@ PrefabInstance:
|
||||
- target: {fileID: 919132149155446097, guid: 0f2ea8e54c2f1bf4f871020d54be0bda,
|
||||
type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 0f2ea8e54c2f1bf4f871020d54be0bda, type: 3}
|
||||
@ -1671,6 +1765,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
ticks: 0
|
||||
distance: 0
|
||||
--- !u!95 &1270643059
|
||||
Animator:
|
||||
serializedVersion: 3
|
||||
@ -1837,7 +1932,7 @@ MeshCollider:
|
||||
m_GameObject: {fileID: 1299667690}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_Enabled: 1
|
||||
m_Enabled: 0
|
||||
serializedVersion: 4
|
||||
m_Convex: 0
|
||||
m_CookingOptions: 30
|
||||
@ -1897,7 +1992,7 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1299667690}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 900}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 935}
|
||||
m_LocalScale: {x: 1920, y: 1080, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1870313947}
|
||||
@ -2137,17 +2232,17 @@ PrefabInstance:
|
||||
- target: {fileID: -8679921383154817045, guid: 0f2ea8e54c2f1bf4f871020d54be0bda,
|
||||
type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 3
|
||||
value: 20
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 0f2ea8e54c2f1bf4f871020d54be0bda,
|
||||
type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 3
|
||||
value: 20
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 0f2ea8e54c2f1bf4f871020d54be0bda,
|
||||
type: 3}
|
||||
propertyPath: m_LocalScale.z
|
||||
value: 3
|
||||
value: 20
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 0f2ea8e54c2f1bf4f871020d54be0bda,
|
||||
type: 3}
|
||||
@ -2157,12 +2252,12 @@ PrefabInstance:
|
||||
- target: {fileID: -8679921383154817045, guid: 0f2ea8e54c2f1bf4f871020d54be0bda,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: -10
|
||||
value: -25
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 0f2ea8e54c2f1bf4f871020d54be0bda,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 22
|
||||
value: 60
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: -8679921383154817045, guid: 0f2ea8e54c2f1bf4f871020d54be0bda,
|
||||
type: 3}
|
||||
@ -2448,6 +2543,7 @@ Transform:
|
||||
- {fileID: 1358457488}
|
||||
- {fileID: 1299667694}
|
||||
- {fileID: 583583719}
|
||||
- {fileID: 816517651}
|
||||
- {fileID: 874107240}
|
||||
- {fileID: 1270643056}
|
||||
m_Father: {fileID: 0}
|
||||
|
||||
@ -22,7 +22,7 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
protected double currentSlope;
|
||||
protected double nextSlope;
|
||||
protected double nextSlopeDistance;
|
||||
protected double distance;
|
||||
public double distance;
|
||||
protected double currentSlopeDistance;
|
||||
protected double lastEndDistance;
|
||||
protected double totalClimb;
|
||||
@ -33,7 +33,8 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
float timer = 1f;
|
||||
protected bool start = true;
|
||||
protected VideoGameManager manager { get; set; }
|
||||
|
||||
Camera camera;
|
||||
float currenPlayerHeight;
|
||||
protected virtual void Start()
|
||||
{
|
||||
animator = GetComponent<Animator>();
|
||||
@ -41,9 +42,19 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
mapData = manager.GetMapData();
|
||||
ComputeNextSlope();//初始化坡度等
|
||||
animator.Play("idle");
|
||||
camera = Camera.main;
|
||||
|
||||
//注解1
|
||||
//得到模型原始高度
|
||||
float size_y = GetComponent<Collider>().bounds.size.y;
|
||||
//得到模型缩放比例
|
||||
float scal_y = transform.localScale.y;
|
||||
//它们的乘积就是高度
|
||||
currenPlayerHeight = (size_y * scal_y);
|
||||
|
||||
}
|
||||
|
||||
void Update()
|
||||
protected virtual void Update()
|
||||
{
|
||||
timer -= Time.deltaTime;
|
||||
ComputeAnimator();//控制动画
|
||||
@ -58,6 +69,7 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
ComputePlayer();//计算人物属性
|
||||
ComputeRecord();
|
||||
ComputeVideo();
|
||||
ComputeRandom();
|
||||
}
|
||||
timer += 1f;
|
||||
}
|
||||
@ -67,8 +79,33 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
speed = 0;
|
||||
Debug.Log(e.Message);
|
||||
}
|
||||
|
||||
//获取player的position信息
|
||||
Vector3 pos = transform.position;
|
||||
pos.y += 3f;
|
||||
//射线碰撞物信息接收
|
||||
RaycastHit hit;
|
||||
//第二种写法
|
||||
//我们可以先创建出一条射线
|
||||
Ray ray = new Ray(pos, new Vector3(0, -5, 22));
|
||||
//然后用这条射线去做射线检测
|
||||
//射线,输出碰撞体信息,射线长度,射线在那一层检测,射线不忽略开启触发器(istrigger)的碰撞体
|
||||
bool isHit = Physics.Raycast(ray, out hit, 15f, 1 << 0, QueryTriggerInteraction.Collide);
|
||||
//在unity窗口画出射线
|
||||
Debug.DrawLine(pos, new Vector3(pos.x, pos.y, pos.z + 5), Color.red);
|
||||
|
||||
if (isHit)//如果射线检测到物体
|
||||
{
|
||||
//打印出被检测物体的名字
|
||||
print(hit.transform.name);
|
||||
transform.DOLocalMoveX(-2, 1);
|
||||
transform.DOLocalMoveZ(27, 1).onComplete+=()=>{
|
||||
transform.DOLocalMoveX(2, 1);
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//人物碰撞
|
||||
void OnCollisionEnter(Collision collision)
|
||||
{
|
||||
@ -82,6 +119,17 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
}
|
||||
}
|
||||
}
|
||||
void ComputeRandom()
|
||||
{
|
||||
var offset = 30;
|
||||
if (ticks % 9 == 0)
|
||||
transform.DOMoveZ(transform.position.z - offset, 1f);
|
||||
if (ticks % 5 == 0)
|
||||
transform.DOMoveZ(transform.position.z + offset, 2f);
|
||||
|
||||
//人物的rotation y
|
||||
transform.DOLocalRotate(new Vector3(0f, bearing, 0f), 1f);
|
||||
}
|
||||
//动画状态机
|
||||
void ComputeAnimator()
|
||||
{
|
||||
@ -90,13 +138,26 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
animator.SetFloat("preSpeed", (float)preSpeed);
|
||||
animator.SetFloat("speed", (float)speed);
|
||||
animator.SetFloat("grade", (float)currentSlope);
|
||||
var currentFrame = manager.GetCurrentFrame() ?? 0;
|
||||
var currentFrame = manager.GetCurrentFrame();
|
||||
if (manager.mockDirection.ContainsKey(currentFrame))
|
||||
{
|
||||
bearing = manager.mockDirection[currentFrame];
|
||||
}
|
||||
animator.SetFloat("bearing", bearing);
|
||||
}
|
||||
}
|
||||
//人相对视频不距离不变。 其他人相对视频做前后位移
|
||||
//人与人之前前后距离按照射线检测 扇形射线
|
||||
//人与人左右距离按照碰撞检测
|
||||
//每个人都实时计算前后距离
|
||||
//其他玩家相对当前主人公做正向或者反向位移,左右
|
||||
protected virtual void ChangeToFirst()
|
||||
{
|
||||
transform.DOLocalMoveZ(-1, 1);
|
||||
}
|
||||
protected virtual void ChangeToThird()
|
||||
{
|
||||
transform.DOLocalMoveZ(55, 1);
|
||||
}
|
||||
//计算人物当前属性
|
||||
protected abstract void ComputePlayer();
|
||||
|
||||
@ -13,6 +13,8 @@ using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using TurfCS;
|
||||
using UnityEngine;
|
||||
using DG.Tweening;
|
||||
|
||||
namespace Assets.Scripts.Scenes.VideoRide
|
||||
{
|
||||
public class VideoGameManager : DeviceServiceMonoBase
|
||||
@ -34,6 +36,7 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
private double endDistance { get; set; }
|
||||
|
||||
public Dictionary<int, bool> slots = new Dictionary<int, bool>();
|
||||
Transform cube;
|
||||
private async void Awake()
|
||||
{
|
||||
base.Awake();
|
||||
@ -49,9 +52,11 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
MapUDPService.Init();//初始化TCP
|
||||
MockDirection();
|
||||
InitSlots();
|
||||
|
||||
}
|
||||
void Start()
|
||||
{
|
||||
cube = transform.Find("Cube");
|
||||
//获取媒体播放器
|
||||
mediaPlayer = FindObjectOfType<MediaPlayer>();
|
||||
var mapApi = ConfigHelper.mapApi;
|
||||
@ -88,6 +93,15 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
cyclingController?.Run(null);
|
||||
var onlineRiders = cyclingController.riders;
|
||||
timer += 1f;
|
||||
|
||||
}
|
||||
var p = FindObjectOfType<VideoPlayer>();
|
||||
if (p.distance > 0)
|
||||
{
|
||||
preFrame = currentFrame;
|
||||
currentFrame = GetCurrentFrame();
|
||||
var dd = (currentFrame - preFrame) / 200f * cube.position.z;
|
||||
cube.DOMoveZ((float)(cube.position.z - dd), 0f);
|
||||
}
|
||||
}
|
||||
private void InitSlots()
|
||||
@ -195,10 +209,12 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
{
|
||||
mediaPlayer?.Stop();
|
||||
}
|
||||
int preFrame = 0;
|
||||
int currentFrame = 0;
|
||||
|
||||
public int? GetCurrentFrame()
|
||||
public int GetCurrentFrame()
|
||||
{
|
||||
return mediaPlayer?.Control.GetCurrentTimeFrames();
|
||||
return mediaPlayer.Control.GetCurrentTimeFrames();
|
||||
}
|
||||
|
||||
public void SetCurrentFrame(int seq)
|
||||
@ -286,6 +302,10 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
{
|
||||
return mapData;
|
||||
}
|
||||
public float GetPlayRatio()
|
||||
{
|
||||
return mediaPlayer.Control.GetPlaybackRate();
|
||||
}
|
||||
public List<VideoMapModel> getVideoPointList()
|
||||
{
|
||||
return videoPointList;
|
||||
|
||||
@ -12,6 +12,11 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
base.Start();
|
||||
animator.Play("idle");
|
||||
}
|
||||
|
||||
protected override void Update()
|
||||
{
|
||||
base.Update();
|
||||
}
|
||||
public void SetPower(double power)
|
||||
{
|
||||
this.power = power;
|
||||
@ -47,6 +52,7 @@ namespace Assets.Scripts.Scenes.VideoRide
|
||||
speed = 0;
|
||||
distance = 0;
|
||||
}
|
||||
|
||||
}
|
||||
//控制视频播放速度
|
||||
protected override void ComputeVideo()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user