tcp发送增加ar视频播放帧数&首页布局还原到初版

This commit is contained in:
lishuo committed 2022-04-20 17:32:27 +08:00
1 parent 3532978762
commit 4a3542010f
18 files changed
+1937 -1788

No files matched your search

@@ -223,14 +223,12 @@ namespace Assets.Scripts.Scenes.VideoRide
}
}
private void Forward()
protected virtual void Forward()
{
try
{
if (mapData == null)
mapData = manager.GetMapData();
distance = Math.Round(speed / 3600, 5, MidpointRounding.AwayFromZero);
totalDistance += distance;
currentlatLon = manager.Along(totalDistance % mapData.TotalDistance);
////根据人物速度设置人物距离摄像头远近
//if (speed > 20 && speed < 30)
@@ -24,10 +24,10 @@ namespace Assets.Scripts.Scenes.VideoRide
var current = manager.CurrentPlayer;
if (current != null && current.UserId != UserId)
{
var left = totalDistance % mapData.TotalDistance;
var right = current.totalDistance % mapData.TotalDistance;
diff = (left - right) * 1000;
if (Math.Abs(diff) > 50)
//var left = totalDistance % mapData.TotalDistance;
//var right = current.totalDistance % mapData.TotalDistance;
//diff = (left - right) * 1000;
if (Math.Abs(diff) > 150)
{
Destroy();
}
@@ -76,25 +76,14 @@ namespace Assets.Scripts.Scenes.VideoRide
// print(e.Message);
//}
}
private int currentFrame { get; set; }
protected override void ComputeAnimator()
{
base.ComputeAnimator();
if (manager.CurrentPlayer == null || manager.CurrentPlayer.UserId != UserId)
{
//var currentFrame = manager.GetFrameOffSet(diff);
var mainFrame = manager.GetCurrentFrame();
var currentFrame = mainFrame + diff * 10;
//var min = Math.Min(currentFrame, mainFrame);
//var max = Math.Max(currentFrame, mainFrame);
frames = (int)currentFrame;
var result = manager.mockDirection.Where(c => c.Start < frames && c.End > frames).FirstOrDefault();
bearing = result?.Value ?? 0;
animator.SetFloat("bearing", bearing);
}
else
{
var mainFrame = manager.GetCurrentFrame();
var result = manager.mockDirection.Where(c => c.Start < mainFrame && c.End > mainFrame).FirstOrDefault();
var result = manager.mockDirection.Where(c => c.Start < currentFrame && c.End > currentFrame).FirstOrDefault();
bearing = result?.Value ?? 0;
animator.SetFloat("bearing", bearing);
}
@@ -109,7 +98,7 @@ namespace Assets.Scripts.Scenes.VideoRide
}
//设置当前玩家属性
public void SetPlayer(string name, double distance, double totalDistance, double cadance,double heartRate, double wkg, int userId,double power,double currentPlayerDistance)
public void SetPlayer(string name, double distance, double totalDistance, double cadance,double heartRate, double wkg, int userId,double power,double currentPlayerDistance,int frame)
{
this.wkg = wkg;
this.UserName = name;
@@ -119,7 +108,8 @@ namespace Assets.Scripts.Scenes.VideoRide
this.UserId = userId;
this.power = power;
this.speed = distance * 3600;
this.diff = currentPlayerDistance - totalDistance;
this.diff = totalDistance - currentPlayerDistance;
this.currentFrame = frame;
}
}
}
@@ -165,7 +165,7 @@ namespace Assets.Scripts.Scenes.VideoRide
var onlineRider = currentPlayer as OnlineRiderModel;
var obj = Instantiate(OnlinePlayer, transform);
var online = obj.GetComponent<OnlineVideoPlayer>();
online.SetPlayer(onlineRider.NickName, onlineRider.EndDistance-onlineRider.PreDistance, onlineRider.EndDistance, onlineRider.Cadence, onlineRider.HeartRate, onlineRider.TotalTicks, onlineRider.UserId, onlineRider.Power, onlineRider.EndDistance);
online.SetPlayer(onlineRider.NickName, onlineRider.EndDistance-onlineRider.PreDistance, onlineRider.EndDistance, onlineRider.Cadence, onlineRider.HeartRate, onlineRider.TotalTicks, onlineRider.UserId, onlineRider.Power, onlineRider.EndDistance,onlineRider.FrameRate.Value);
obj.transform.DOMoveX(0, 1);
ChangePlayer(currentPlayer.UserId);
CurrentPlayer = online;
@@ -198,7 +198,7 @@ namespace Assets.Scripts.Scenes.VideoRide
{
var online = exsit.GetComponent<OnlineVideoPlayer>();
online.SetPlayer(onlineRider.NickName, onlineRider.EndDistance - onlineRider.PreDistance, onlineRider.EndDistance, item.Cadence, item.HeartRate, onlineRider.WeightKg, item.UserId, onlineRider.Power, currentPlayerInfo.EndDistance);
online.SetPlayer(onlineRider.NickName, onlineRider.EndDistance - onlineRider.PreDistance, onlineRider.EndDistance, item.Cadence, item.HeartRate, onlineRider.WeightKg, item.UserId, onlineRider.Power, currentPlayerInfo.EndDistance, onlineRider.FrameRate.Value);
}
else
{
@@ -209,7 +209,7 @@ namespace Assets.Scripts.Scenes.VideoRide
{
var obj = Instantiate(OnlinePlayer, transform);
var online = obj.GetComponent<OnlineVideoPlayer>();
online.SetPlayer(onlineRider.NickName, onlineRider.EndDistance - onlineRider.PreDistance, onlineRider.EndDistance, item.Cadence, item.HeartRate, onlineRider.WeightKg, item.UserId, onlineRider.Power, currentPlayerInfo.EndDistance);
online.SetPlayer(onlineRider.NickName, onlineRider.EndDistance - onlineRider.PreDistance, onlineRider.EndDistance, item.Cadence, item.HeartRate, onlineRider.WeightKg, item.UserId, onlineRider.Power, currentPlayerInfo.EndDistance, onlineRider.FrameRate.Value);
obj.transform.DOMoveX(slots[currentOnlineCount], 1);
currentOnlineCount++;
}
@@ -260,7 +260,7 @@ namespace Assets.Scripts.Scenes.VideoRide
var onlineRider = currentPlayer as OnlineRiderModel;
var obj = Instantiate(OnlinePlayer, transform);
var online = obj.GetComponent<OnlineVideoPlayer>();
online.SetPlayer(onlineRider.NickName, onlineRider.EndDistance-onlineRider.PreDistance, onlineRider.EndDistance, onlineRider.Cadence, onlineRider.HeartRate, 0, onlineRider.UserId, onlineRider.Power, onlineRider.EndDistance);
online.SetPlayer(onlineRider.NickName, onlineRider.EndDistance-onlineRider.PreDistance, onlineRider.EndDistance, onlineRider.Cadence, onlineRider.HeartRate, 0, onlineRider.UserId, onlineRider.Power, onlineRider.EndDistance, onlineRider.FrameRate.Value);
obj.transform.position = origin;
CurrentPlayer = online;
var currentFrames = DistanceToFrames(CurrentPlayer.totalDistance);
@@ -50,7 +50,7 @@ namespace Assets.Scripts.Scenes.VideoRide
power = manager.UpdatePower();
cadance = manager.UpdateCadence();
//#if UNITY_EDITOR
power = 150;
power = 50;
cadance = 150;
heartRate = 160;
//#endif
@@ -87,6 +87,7 @@ namespace Assets.Scripts.Scenes.VideoRide
_Lat = currentlatLon.x,
_Lon = currentlatLon.y,
_TotalClimb = totalClimb,
_FrameRate = manager.GetCurrentFrame()
};
var preDistance = totalDistance >= mapData.TotalDistance ? targetData._Distance : targetData._Distance - distance;
recorderData.PreDistance = Math.Round(preDistance, 6, MidpointRounding.AwayFromZero);
@@ -99,6 +100,13 @@ namespace Assets.Scripts.Scenes.VideoRide
// manager.Save(totalDistance);
//}
}
protected override void Forward()
{
base.Forward();
distance = Math.Round(speed / 3600, 5, MidpointRounding.AwayFromZero);
totalDistance += distance;
}
//保存骑行记录
public void Upload()
{