人物抖动的问题解决,界面调整,3d视觉调整

This commit is contained in:
lishuo 2021-04-30 23:45:50 +08:00
parent 9f4e446850
commit 392eca5dc2
8 changed files with 2772 additions and 2672 deletions

View File

@ -66,7 +66,13 @@
};
break;
case ImagerySourceType.None:
throw new Exception("Invalid type : None");
//throw new Exception("Invalid type : None");
defaultStyle = new Style
{
Id = "mapbox://styles/juzetest/ckmkdjwsa1nvt17nr1ps4fqgs",
Name = "juzetest"
};
break;
default:
break;
}

View File

@ -108,7 +108,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: -40, y: 0}
m_AnchoredPosition: {x: -39.638, y: -10.652}
m_SizeDelta: {x: 80, y: 34}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6375313706153414257
@ -140,7 +140,7 @@ MonoBehaviour:
m_Calls: []
m_FontData:
m_Font: {fileID: 12800000, guid: 1db9e217733971041be26b076fda6083, type: 3}
m_FontSize: 24
m_FontSize: 20
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
@ -186,7 +186,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 95.5, y: 0}
m_AnchoredPosition: {x: 95.5, y: 4.5}
m_SizeDelta: {x: 99, y: 17}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6375313706613039493

File diff suppressed because it is too large Load Diff

View File

@ -182,11 +182,11 @@ public class CyclingController : DeviceServiceMonoBase
map.OnTileFinished += Map_OnTileFinished;
}
private void Map_OnTileFinished(Mapbox.Unity.MeshGeneration.Data.UnityTile obj)
{
var playerController = player.GetComponent<PlayerController>();
player.transform.position = map.GeoToWorldPosition(playerController.Currentlatlong);
}
//private void Map_OnTileFinished(Mapbox.Unity.MeshGeneration.Data.UnityTile obj)
//{
// var playerController = player.GetComponent<PlayerController>();
// player.transform.position = map.GeoToWorldPosition(playerController.Currentlatlong);
//}
//设置骑行模式
public void SetCyclingModel(CyclingModel mode)
@ -203,6 +203,18 @@ public class CyclingController : DeviceServiceMonoBase
break;
}
AutoStart();
lockView = true;
if (recorderData != null)
{
var lastLatLon = Along(recorderData.EndDistance);
player.transform.position = map.GeoToWorldPosition(lastLatLon);
}
else
{
var lastLatLon = Along(0);
player.transform.position = map.GeoToWorldPosition(lastLatLon);
}
}
SingleUIManager singleUIManager;
public void AutoStart()
@ -226,27 +238,40 @@ public class CyclingController : DeviceServiceMonoBase
map.Terrain.SetElevationType(ElevationLayerType.TerrainWithElevation);
map.ImageLayer.SetLayerSource(ImagerySourceType.Custom);
//map.SetTileMaterial(new Material());
var playerController = player.GetComponent<PlayerController>();
player.transform.localScale = new Vector3(3f, 3f, 3f);
player.transform.position = map.GeoToWorldPosition(playerController.Currentlatlong);
Is3dView = true;
arrowGameObj.SetActive(false);
}
else
//else
//{
// map.Terrain.ExaggerationFactor = 0f;
// map.Terrain.SetElevationType(ElevationLayerType.FlatTerrain);
// map.ImageLayer.SetLayerSource(ImagerySourceType.None);
// player.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f);
// var playerController = player.GetComponent<PlayerController>();
// player.transform.position = map.GeoToWorldPosition(playerController.Currentlatlong);
// var trailRenderer = player.GetComponent<TrailRenderer>();
// trailRenderer.time = 0;
// StartCoroutine(EnableTrailRenderer(trailRenderer));
// Is3dView = false;
// arrowGameObj.SetActive(true);
//}
}
private bool lockView = false;
private void Map_OnTileFinished(Mapbox.Unity.MeshGeneration.Data.UnityTile obj)
{
map.Terrain.ExaggerationFactor = 0f;
map.Terrain.SetElevationType(ElevationLayerType.FlatTerrain);
map.ImageLayer.SetLayerSource(ImagerySourceType.MapboxDark);
player.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f);
if (!lockView) {
var playerController = player.GetComponent<PlayerController>();
player.transform.position = map.GeoToWorldPosition(playerController.Currentlatlong);
var trailRenderer = player.GetComponent<TrailRenderer>();
trailRenderer.time = 0;
StartCoroutine(EnableTrailRenderer(trailRenderer));
Is3dView = false;
arrowGameObj.SetActive(true);
player.transform.localScale = new Vector3(3f, 3f, 3f);
var locations = playerController.Currentlatlong == null ? playerController.Currentlatlong : new Vector2d(mapData.List[0].Point[0], mapData.List[0].Point[1]);
player.transform.position = map.GeoToWorldPosition(locations);
if (recorderData != null)
{
var lastLatLon = Along(recorderData.EndDistance);
player.transform.position = map.GeoToWorldPosition(lastLatLon);
}
}
}

View File

@ -33,7 +33,7 @@ namespace Assets.Scenes.Ride.Scripts
weight = App.CurrentUser.Weight;
bicycleWeight = App.CurrentUser.BicycleWeight;
#if UNITY_EDITOR
//power = 2000;//测试功率
power = 2000;//测试功率
#endif
Debug.Log(currentSlope.ToString() + "==" + App.rideSetting.sensitivity.ToString());
//mainController.CheckAnt();

View File

@ -32,7 +32,7 @@ namespace Assets.Scenes.Ride.Scripts
InputField startValue;
InputField endValue;
private int pageIndex = 0;
private int pageSize = 8;
private int pageSize = 25;
private int totalPages = 0;
private string seachName = string.Empty;
@ -86,11 +86,11 @@ namespace Assets.Scenes.Ride.Scripts
gameObjects.Add(transform.Find("Panel/Player4").gameObject);
gameObjects.Add(transform.Find("Panel/Player5").gameObject);
//功体比默认条件
var currentUserWkg = Math.Round((App.CurrentUser.FTP / App.CurrentUser.Weight),2);
_startValue = currentUserWkg - 0.5<0?0 : currentUserWkg - 0.5;
_endValue = currentUserWkg + 0.5;
startValue.text = _startValue.ToString();
endValue.text = _endValue.ToString();
//var currentUserWkg = Math.Round((App.CurrentUser.FTP / App.CurrentUser.Weight),2);
//_startValue = currentUserWkg - 0.5<0?0 : currentUserWkg - 0.5;
//_endValue = currentUserWkg + 0.5;
//startValue.text = _startValue.ToString();
//endValue.text = _endValue.ToString();
}
private void StartvalueChanged(string input)
{

View File

@ -156,7 +156,7 @@ namespace Assets.Scenes.Ride.Scripts
closeQuitButton = transform.Find("Panel/QuitPanel/QuitPanel/CloseButton").GetComponent<Button>();
abandonButton = transform.Find("Panel/QuitPanel/QuitPanel/AbandonButton").GetComponent<Button>();
viewButton =transform.Find("Panel/ViewButton").GetComponent<Button>();
viewButton = transform.Find("Panel/ViewButton").GetComponent<Button>();
altitudeGraph = transform.Find("Panel/TitlePanel/AltitudeGraph").GetComponent<RawImage>();
leftImage = transform.Find("Panel/TitlePanel/Left").GetComponent<Image>();
rightImage = transform.Find("Panel/TitlePanel/Right").GetComponent<Image>();
@ -196,7 +196,6 @@ namespace Assets.Scenes.Ride.Scripts
UIManager.AddEvent(singleButton.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerExit, OnPointExit);
UIManager.AddEvent(shadowButton.gameObject, UnityEngine.EventSystems.EventTriggerType.PointerExit, OnPointExit);
#endregion
}
@ -216,7 +215,7 @@ namespace Assets.Scenes.Ride.Scripts
}
void OnPointExit(BaseEventData pointerEventData)
{
var button =((PointerEventData)pointerEventData).pointerEnter.GetComponent<Button>();
var button = ((PointerEventData)pointerEventData).pointerEnter.GetComponent<Button>();
if (button != null)
{
var enterTransform = button.transform;
@ -243,6 +242,10 @@ namespace Assets.Scenes.Ride.Scripts
CountDown();
MoveCamera();
}
private float cameraX = 0;
private float cameraY = 0;
private float cameraZ = 0;
private void Init()
{
playerController = FindObjectOfType<PlayerController>();
@ -250,6 +253,14 @@ namespace Assets.Scenes.Ride.Scripts
var route = mainController.GetRoute();
mapName.text = route.RouteInstance.Name;
var camera = route.RouteInstance.Camera;
if (!string.IsNullOrEmpty(camera))
{
var cameraArr = camera.Split(',');
cameraX = float.Parse(cameraArr[0]);
cameraY = float.Parse(cameraArr[1]);
cameraZ = float.Parse(cameraArr[2]);
}
totalDistance.text = Math.Round(mainController.GetMapData().TotalDistance, 1).ToString() + "KM";//总里程
Utils.DisplayImage(StartCoroutine, altitudeGraph, route.RouteInstance.AltitudeGraph);//渲染海拔图
@ -270,9 +281,12 @@ namespace Assets.Scenes.Ride.Scripts
{
viewButton.enabled = false;
viewButton.interactable = false;
mainController.Is3dView = false;
mainController.player.transform.localScale = new Vector3(0, 0, 0);
}
else
{
mainController.Is3dView = false;
ChangeView(null);
}
}
@ -306,10 +320,11 @@ namespace Assets.Scenes.Ride.Scripts
if (!mainController.Is3dView)
{ //target.transform.rotation = playerController.transform.rotation;//new Quaternion(playerController.transform.rotation.x, playerController.transform.rotation.y +1f, playerController.transform.rotation.z, playerController.transform.rotation.w);
target.transform.eulerAngles = new Vector3(0, playerController.transform.eulerAngles.y + 160f, 0);
mainController.player.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f);
}
else
{
target.transform.eulerAngles = new Vector3(0, -65f, 0);
target.transform.eulerAngles = new Vector3(cameraX, cameraY, cameraZ);
}
//控制照片移动
((RectTransform)arrow.transform).position = Camera.main.WorldToScreenPoint(target.transform.position);
@ -369,11 +384,11 @@ namespace Assets.Scenes.Ride.Scripts
currentSlopeDistanceText.GetComponent<NumberDotween>().AnimateNum((float)playerController.CurrentSlopeDistance, Math.Round(playerController.CurrentDistance, 0), playerController.CurrentIndex, 0, "{0}M");
totalClimb.text = Math.Round(playerController.TotalClimb, 0).ToString();
//动态改变坡度图片
if (playerController.CurrentSlope >= 1 )
if (playerController.CurrentSlope >= 1)
{
currentSlopeImage.sprite = uphill1;
}
else if(playerController.CurrentSlope > -1|| playerController.CurrentSlope<1)
else if (playerController.CurrentSlope > -1 || playerController.CurrentSlope < 1)
{
currentSlopeImage.sprite = straight;
}
@ -460,7 +475,7 @@ namespace Assets.Scenes.Ride.Scripts
}
private void SaveRide(BaseEventData baseEventData)
{
if (playerController.TotalTicks > 0 && !mainController.isQuit )
if (playerController.TotalTicks > 0 && !mainController.isQuit)
{
mainController.SetQuit();
playerController.Upload();
@ -517,7 +532,7 @@ namespace Assets.Scenes.Ride.Scripts
clearLock = false;
leftPanel.transform.DOLocalMove(new Vector3(leftPanel.transform.localPosition.x + isSimple * 430f, leftPanel.transform.localPosition.y, leftPanel.transform.localPosition.z), 1);
titlePanel.transform.DOLocalMove(new Vector3(titlePanel.transform.localPosition.x, titlePanel.transform.localPosition.y + isSimple * 200f, titlePanel.transform.localPosition.z), 1);
miniMap.transform.DOLocalMove(new Vector3(miniMap.transform.localPosition.x , miniMap.transform.localPosition.y + isSimple * 260f, miniMap.transform.localPosition.z), 1);
miniMap.transform.DOLocalMove(new Vector3(miniMap.transform.localPosition.x, miniMap.transform.localPosition.y + isSimple * 260f, miniMap.transform.localPosition.z), 1);
nextSlopePanel.transform.DOLocalMove(new Vector3(nextSlopePanel.transform.localPosition.x, nextSlopePanel.transform.localPosition.y + isSimple * 260f, nextSlopePanel.transform.localPosition.z), 1);
currentSlopePanel.transform.DOLocalMove(new Vector3(currentSlopePanel.transform.localPosition.x, currentSlopePanel.transform.localPosition.y + isSimple * 80f, currentSlopePanel.transform.localPosition.z), 1);
@ -574,9 +589,9 @@ namespace Assets.Scenes.Ride.Scripts
private void MoverCurrentUserHead()
{
Vector3 prePos = headPanel.transform.position;
int nextIndex = playerController.CurrentIndex +1;
int nextIndex = playerController.CurrentIndex + 1;
var viewIndex = chartDataSourceScript.GetViewIndex(nextIndex);
if (!mainController.isStart && !mainController.isPause && !mainController.isQuit)//未开始未暂停未结束
if (!mainController.isStart && !mainController.isPause && !mainController.isQuit ||(mainController.isStart && playerController.Distance == 0))//未开始未暂停未结束
{
viewIndex = 0;
}
@ -607,7 +622,7 @@ namespace Assets.Scenes.Ride.Scripts
foreach (var item in others)
{
var itemIndex = chartDataSourceScript.GetViewIndex(item.CurrentIndex) + 1;
if (!mainController.isStart && !mainController.isPause && !mainController.isQuit)//未开始未暂停未结束
if (!mainController.isStart && !mainController.isPause && !mainController.isQuit || (mainController.isStart && item.Distance == 0))//未开始未暂停未结束
{
itemIndex = 0;
}

View File

@ -105,5 +105,7 @@ namespace Assets.Scripts.Apis.Models
public string CountryCode { get; set; }
public bool IsFire { get; set; }
public string AltitudeGraph { get; set; }
//0,0,0
public string Camera { get; set; }
}
}