1 Commits

Author SHA1 Message Date
8a73188cd3 1.input适配
2.camera适配
3.安全边界适配
2025-08-22 18:27:36 +08:00
10 changed files with 636 additions and 1236 deletions

View File

@ -23,7 +23,7 @@ MonoBehaviour:
m_RequireOpaqueTexture: 0
m_OpaqueDownsampling: 1
m_SupportsTerrainHoles: 1
m_SupportsHDR: 1
m_SupportsHDR: 0
m_HDRColorBufferPrecision: 0
m_MSAA: 8
m_RenderScale: 1

View File

@ -27,7 +27,7 @@ MonoBehaviour:
virtualKeyboardSupport: 0
colocationSessionSupport: 0
sceneSupport: 0
boundaryVisibilitySupport: 0
boundaryVisibilitySupport: 1
disableBackups: 1
enableNSCConfig: 1
securityXmlPath:

View File

@ -0,0 +1,19 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: efa1458c2bc55e04b872c61942be2866, type: 3}
m_Name: OVROverlayCanvasSettings
m_EditorClassIdentifier:
_transparentImposterShader: {fileID: 0}
_opaqueImposterShader: {fileID: 0}
MaxSimultaneousCanvases: 1
CanvasRenderLayer: 31
CanvasLayer: -1

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1b9b45b9f13565d4585790bb0ccbce84
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -562,7 +562,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 4710975c7840e7d499bbb3757c22b0a5, type: 3}
m_Name: MetaXRSubsampledLayout Android
m_EditorClassIdentifier:
m_enabled: 0
m_enabled: 1
nameUi: Meta XR Subsampled Layout
version: 0.0.1
featureIdInternal: com.meta.openxr.feature.subsampledLayout

View File

@ -32,45 +32,44 @@ namespace DinosaurAge
public class GameInit : NetworkBehaviour
{
public static GameInit Ins { get; private set; }
public List<Dinosaur> Dinosaurs = new List<Dinosaur>();
public Dictionary<int, RightHand> RightHands = new Dictionary<int, RightHand>();
public Dictionary<int, LeftHand> LeftHand = new Dictionary<int, LeftHand>();
private List<DinosaurEat> dinosaurEats = new List<DinosaurEat>();
// 游玩结束时间
[NonSerialized]
[SyncVar]
public long vistEnd = 0;
// 总游玩时长
private int vistAllTime = (int)(60 * 10f);
public GameObject Door;
public GameObject DoorPre;
public GameObject DoorPre;
public GameObject glovePre;
public GameObject[] GameObjPres;
/// <summary>
/// 机器人实例
/// </summary>
public AiRobotGuide AiRobotGuide;
[SyncVar]
public GameState gameState = GameState.None;
private int maoziIndex = 0;
void Start()
{
Ins = this;
AuthorPanel.Show();
#if !UNITY_EDITOR && UNITY_ANDROID && PICO
#if !UNITY_EDITOR && UNITY_ANDROID && PICO
PXR_MixedReality.EnableVideoSeeThrough(true);
#elif !UNITY_EDITOR && UNITY_ANDROID && VIVE
Interop.WVR_ShowPassthroughUnderlay(true);
@ -92,17 +91,17 @@ namespace DinosaurAge
{
List<int> selects = new List<int>();
List<RightHand> rightHands = RightHands.Values.ToList();
for (int i = 0; i < rightHands.Count; i++)
{
int select = rightHands[i].targetId;
if (select != -1)
{
{
selects.Add(select);
}
}
DinosaurSelect(selects);
eatCurDinosaurTime -= Time.deltaTime;
if (eatCurDinosaurTime < 0)
{
@ -111,7 +110,7 @@ namespace DinosaurAge
}
curTriggerIdleTime += Time.deltaTime;
if (gameState == GameState.Playing)
{
EatDinosaur();
@ -120,30 +119,30 @@ namespace DinosaurAge
EndEatDinosaur();
curTriggerIdleTime = 0;
}
}
}
}
}
[ClientRpc]
public void StartRain()
{
Debug.Log("开始倒计时下雨");
MonoSingleton<CoroutineTaskManager>.Instance.WaitSecondTodo(() =>
{
GameManager.Ins.Rain.SetActive(true);
}, 60*2, this);
GameManager.Ins.Rain.SetActive(true);
}, 60 * 2, this);
}
[ClientRpc]
public void StopRain()
{
MonoSingleton<CoroutineTaskManager>.Instance.WaitSecondTodo(() =>
{
GameManager.Ins.Rain.SetActive(false);
}, 8*60, this);
}, 8 * 60, this);
}
[ClientRpc]
@ -165,7 +164,7 @@ namespace DinosaurAge
}, 3.0f, this);
}
}
[Server]
public void HapticImpulse(int playerIndex, int fishCollisonId)
{
@ -174,7 +173,7 @@ namespace DinosaurAge
Dinosaur dinosaur = item.GetComponent<Dinosaur>();
}
}
#region
@ -182,7 +181,7 @@ namespace DinosaurAge
/// 喂食恐龙
/// </summary>
[Server]
public void IdleDinosaur(Dinosaur dinosaur,int playerId)
public void IdleDinosaur(Dinosaur dinosaur, int playerId)
{
LeftHand[playerId].ShowFood(dinosaur.Type);
RightHands[playerId].targetId = dinosaur.Id;
@ -198,7 +197,7 @@ namespace DinosaurAge
{
foreach (var item in Dinosaurs)
{
if(!item.isPlay)
if (!item.isPlay)
continue;
if (item.Id == id)
{
@ -206,7 +205,7 @@ namespace DinosaurAge
SetTourGuideState(AIRobotGuideState.IntroductionDinosaur);
item.ShowDescPanel();
}
}
}
@ -218,7 +217,7 @@ namespace DinosaurAge
{
foreach (var dinosaur in Dinosaurs)
{
if (dinosaur.isPlay&& RightHands[rightId].targetId==dinosaur.Id)
if (dinosaur.isPlay && RightHands[rightId].targetId == dinosaur.Id)
{
dinosaur.ChangeState(DinosaurStateType.Walk);
RightHands[rightId].targetId = -1;
@ -228,39 +227,39 @@ namespace DinosaurAge
RightHands[rightId].targetId = -1;
LeftHand[rightId].HideFoods();
}
[Server]
public void EatDinosaur(int dinosaursId,int playerId)
public void EatDinosaur(int dinosaursId, int playerId)
{
foreach (var item in Dinosaurs)
{
if (item.Id == dinosaursId)
{
item.ChangeState(DinosaurStateType.Eat,playerId);
item.ChangeState(DinosaurStateType.Eat, playerId);
return;
}
}
}
[Server]
public void EndEatDinosaur(int id,int playerId)
public void EndEatDinosaur(int id, int playerId)
{
foreach (var item in Dinosaurs)
{
if (item.Id == id)
{
item.ChangeState(DinosaurStateType.Idle,playerId);
item.ChangeState(DinosaurStateType.Idle, playerId);
return;
}
}
}
public bool IsPlayDinosaur()
{
bool isPlay = false;
foreach (var dinosaur in Dinosaurs)
{
if (dinosaur!=null&&dinosaur.isPlay)
if (dinosaur != null && dinosaur.isPlay)
{
isPlay = true;
}
@ -268,45 +267,45 @@ namespace DinosaurAge
return isPlay;
}
[Server]
public void EatDinosaur()
{
Dinosaur dinosaur = null;
foreach (var item in MRNetworkManager.Ins.roomSlots)
{
var player= item.GetComponent<Player>();
if(!player.isHaveGlove||player.dinosaurId != -1)
var player = item.GetComponent<Player>();
if (!player.isHaveGlove || player.dinosaurId != -1)
continue;
dinosaur=GetEatDinosaur(false,player);
if(dinosaur==null||dinosaur.state==DinosaurStateType.Idle||lestEatDinosaurId==dinosaur.Id)
dinosaur = GetEatDinosaur(false, player);
if (dinosaur == null || dinosaur.state == DinosaurStateType.Idle || lestEatDinosaurId == dinosaur.Id)
continue;
PlayFishAudio(dinosaur,player);
PlayFishAudio(dinosaur, player);
IdleDinosaur(dinosaur, RightHands[player.index].ownerIndex);
dinosaur.ChangeState(DinosaurStateType.Idle,item.index);
dinosaur.ChangeState(DinosaurStateType.Idle, item.index);
player.dinosaurId = dinosaur.Id;
AiRobotGuide.behaviorTree.SetVariable("Target", (SharedGameObject) dinosaur.gameObject);
AiRobotGuide.behaviorTree.SetVariable("Target", (SharedGameObject)dinosaur.gameObject);
//触发介绍
IntroductionDinosaur(dinosaur.Id);
}
}
[Server]
public void EndEatDinosaur()
{
foreach (var item in MRNetworkManager.Ins.roomSlots)
{
var player= item.GetComponent<Player>();
if(!player.isHaveGlove||player.dinosaurId==-1)
var player = item.GetComponent<Player>();
if (!player.isHaveGlove || player.dinosaurId == -1)
continue;
var dinosaur = GetEatDinosaur(true,player);
var dinosaur = GetEatDinosaur(true, player);
int foodType = 0;
foreach (var itemDinosaur in Dinosaurs)
{
if (itemDinosaur.Id == player.dinosaurId)
foodType = itemDinosaur.typeId;
}
if (dinosaur!=null||LeftHand[player.index].foods[foodType].isEnd)
if (dinosaur != null || LeftHand[player.index].foods[foodType].isEnd)
{
EndIdleDinosaur(player.index);
SetTourGuideState(AIRobotGuideState.Follow);
@ -316,19 +315,19 @@ namespace DinosaurAge
}
}
}
[Server]
public Dinosaur GetEatDinosaur(bool isEndEat,Player player)
public Dinosaur GetEatDinosaur(bool isEndEat, Player player)
{
if (!isEndEat)
{
foreach (var item in Dinosaurs)
{
if(item.isPlay)
if (item.isPlay)
continue;
float distSqr = (player.transform.position - item.transform.position).sqrMagnitude;
float eatRadiusSqr = item.playerDis * item.playerDis;
if (distSqr <= eatRadiusSqr )
if (distSqr <= eatRadiusSqr)
{
return item;
}
@ -338,30 +337,30 @@ namespace DinosaurAge
{
foreach (var item in Dinosaurs)
{
if(!item.isPlay|| player.dinosaurId!=item.Id)
if (!item.isPlay || player.dinosaurId != item.Id)
continue;
float distSqr = (player.transform.position - item.transform.position).sqrMagnitude;
float eatRadiusSqr = item.playerDis * item.playerDis;
if (distSqr > eatRadiusSqr )
if (distSqr > eatRadiusSqr)
{
return item;
}
}
}
return null;
}
}
#endregion
[Server]
public void CreateDoor()
{
Debug.Log("创建门");
GameObject door = Instantiate(DoorPre,GameManager.Ins.museumScene.transform);
GameObject door = Instantiate(DoorPre, GameManager.Ins.museumScene.transform);
Door = door;
isGoDinosaur = false;
NetworkServer.Spawn(door);
}
[Server]
public void DelDoor()
{
@ -378,14 +377,14 @@ namespace DinosaurAge
{
if (AiRobotGuide != null)
{
if(AiRobotGuide.state== AIRobotGuideState.Exit)
if (AiRobotGuide.state == AIRobotGuideState.Exit)
return;
AiRobotGuide.state = state;
}
}
#endregion
#region
[Server]
@ -424,7 +423,7 @@ namespace DinosaurAge
}
#endregion
/// <summary>
/// 游戏开始
/// </summary>
@ -453,14 +452,14 @@ namespace DinosaurAge
foreach (var roomPlayer in MRNetworkManager.Ins.roomSlots)
{
Player player = roomPlayer.GetComponent<Player>();
if(player!=null)
if (player != null)
{
player.isHaveGlove = false;
}
}
SetTourGuideState(AIRobotGuideState.Exit);
}, vistAllTime);
CreateDinosaurs();
SetTourGuideState(AIRobotGuideState.SendGlove);
// 设置游戏状态
@ -491,7 +490,7 @@ namespace DinosaurAge
[Server]
public void GoDinosaurScene()
{
if(isGoDinosaur)
if (isGoDinosaur)
return;
isGoDinosaur = true;
OpenGo();
@ -508,9 +507,9 @@ namespace DinosaurAge
Debug.Log("开始游戏");
GameManager.Ins.museumScene.SetActive(false);
GameManager.Ins.goObj.SetActive(true);
GameManager.Ins.goObj.transform.position = GameManager.Ins.MRCamera.transform.position += new Vector3(0,1,20);
if(GameManager.Ins.place== Place.Yangzhou_Hanjiang_TansuoZhongxin)
GameManager.Ins.goObj.transform.position = GameManager.Ins.MRCamera.transform.position += new Vector3(0,1,-30);
GameManager.Ins.goObj.transform.position = GameManager.Ins.MRCamera.transform.position += new Vector3(0, 1, 20);
if (GameManager.Ins.place == Place.Yangzhou_Hanjiang_TansuoZhongxin)
GameManager.Ins.goObj.transform.position = GameManager.Ins.MRCamera.transform.position += new Vector3(0, 1, -30);
GameManager.Ins.dinosaurSpawner.Play();
GameManager.Ins.bgm.clip = GameManager.Ins.goClip;
GameManager.Ins.bgm.Play();
@ -520,7 +519,7 @@ namespace DinosaurAge
GameStart();
}, goTime);
}
[Server]
public void CreateObj()
{
@ -537,10 +536,10 @@ namespace DinosaurAge
obj.transform.position = GameManager.Ins.aiPos.position;
}
if(gameState==GameState.Playing)
if (gameState == GameState.Playing)
AiRobotGuide.SendGlove();
}
public string GetLessTimeStr()
{
string res = "00:00";
@ -552,7 +551,7 @@ namespace DinosaurAge
res = FormatTime(lessTime);
return res;
}
// 时分秒
public string FormatTime(int totalSeconds)
{
@ -564,7 +563,7 @@ namespace DinosaurAge
string ss = seconds < 10 ? "0" + seconds : seconds.ToString();
return string.Format("{0}:{1}", mm, ss);
}
[ClientRpc]
public void RpcShowDuringPanel()
{
@ -594,10 +593,10 @@ namespace DinosaurAge
public void CreateDinosaurs()
{
float allTime = 0;
for (int i = 0; i <GameManager.Ins.DinosaurDescInfos.Count; i++)
for (int i = 0; i < GameManager.Ins.DinosaurDescInfos.Count; i++)
{
DinosaurDescInfo info = GameManager.Ins.DinosaurDescInfos[i];
if(info.Id==3)
if (info.Id == 3)
continue;
float createTime = UnityEngine.Random.Range(0, 0.2f);
allTime += createTime;
@ -609,23 +608,23 @@ namespace DinosaurAge
GameObject dinosaur = Instantiate(pre);
NetworkServer.Spawn(dinosaur);
Dinosaur script = dinosaur.GetComponent<Dinosaur>();
pre.transform.localScale=new Vector3(info.scale,info.scale,info.scale);
script.Init(info.Id,info.speed,info.scale,info.type,info.eatDis);
pre.transform.localScale = new Vector3(info.scale, info.scale, info.scale);
script.Init(info.Id, info.speed, info.scale, info.type, info.eatDis);
Dinosaurs.Add(script);
}
}, allTime, this);
}
}
[ClientRpc]
public void PlayFishAudio(Dinosaur dinosaur,Player player)
public void PlayFishAudio(Dinosaur dinosaur, Player player)
{
if (player.index == GameManager.Ins.self.index)
{
dinosaur.PlayAudio();
dinosaur.PlayAudio();
MasterAudio.StopAllSoundsOfTransform(GameManager.Ins.MRCamera.transform);
MasterAudio.PlaySound3DAtTransform(dinosaur.Introduction,GameManager.Ins.MRCamera.transform);
MasterAudio.PlaySound3DAtTransform(dinosaur.Introduction, GameManager.Ins.MRCamera.transform);
}
}
@ -633,9 +632,9 @@ namespace DinosaurAge
[Server]
public void CheckGameEnd()
{
GameEndClient();
GameEndClient();
}
[Server]
public void GameEndClient()
{
@ -647,7 +646,7 @@ namespace DinosaurAge
NetworkServer.Destroy(Dinosaurs[i].gameObject);
}
Dinosaurs.Clear();
//左手恢复
foreach (var item in LeftHand)
{
@ -676,7 +675,7 @@ namespace DinosaurAge
{
GameManager.Ins.ResetMuseum();
}
#region
[Server]

View File

@ -24,23 +24,23 @@ namespace DinosaurAge
{
public enum Place
{
Company1Floor=0,
LiaoningAnShan=1,
HangZhouLongHuTianJie=2,
NanJing_YvHua_Wanxiang=3,
Nanjing_Xianlin_WanDaMao=4,
Yangzhou_Hanjiang_TansuoZhongxin=5,
Yangzhou_Hanjiang_TansuoZhongxin_Wai=-5,
Zhejiang_Jinhua_KeJiGuan=6,
GuangZhou_PanYu_ZhanTing=7,
Anhui_Wuhu_Guanwei= 8,
Company1Floor = 0,
LiaoningAnShan = 1,
HangZhouLongHuTianJie = 2,
NanJing_YvHua_Wanxiang = 3,
Nanjing_Xianlin_WanDaMao = 4,
Yangzhou_Hanjiang_TansuoZhongxin = 5,
Yangzhou_Hanjiang_TansuoZhongxin_Wai = -5,
Zhejiang_Jinhua_KeJiGuan = 6,
GuangZhou_PanYu_ZhanTing = 7,
Anhui_Wuhu_Guanwei = 8,
Shandong_Jining_Shangchang = 9,
Shandong_Jining_Shangchang_nei = -9,
Shandong_Langfang_QingzhouTaihuacheng=10,
Hubei_Xiangyang_Kejiguan=11,
Shandong_Langfang_QingzhouTaihuacheng = 10,
Hubei_Xiangyang_Kejiguan = 11,
Zhejiang_Shaoxing_Shengzhou_WuyueGuangchang = 12,
Hunan_Jishou_Qianzhou_Tianhong=13,
Jilin_Tonghua_Liuhe=14,
Hunan_Jishou_Qianzhou_Tianhong = 13,
Jilin_Tonghua_Liuhe = 14,
Shandong_Jinan_Huaiyin_ShengfutongShangmao = 15,
Shandong_Jinan_Huaiyin_ShengfutongShangmao_wai = -15,
Henan_Xinzheng_Shuanghudadao_Longhujinyicheng = 16,
@ -51,14 +51,14 @@ namespace DinosaurAge
public class GameManager : MonoBehaviour
{
public static GameManager Ins { get; private set; }
public Camera[] Cameras;
public Camera MRCamera;
public GameObject ModelScene;
public GameObject Rain;
public GameObject dinosaurScene;//恐龙场景
public GameObject museumScene;//博物馆场景
public GameObject goObj;
public GameObject goObj;
public AudioSource bgm;
public AudioClip dinosaurClip;
@ -67,16 +67,16 @@ namespace DinosaurAge
public Transform doorPos;
public Transform aiPos;
[NonSerialized]
public Player self;
public bool IsShowModel = false;
public DinosaurSpawner dinosaurSpawner;
// 场地
public Place place ;
public Place place;
// 版本号
public string Version = "1.0.1";
private string HttpServerUrl = "";
@ -86,7 +86,7 @@ namespace DinosaurAge
// 验证信息
private AuthInfo authInfo = new AuthInfo();
// json数据库
private JsonLiteDB DB;
// 恐龙详情
@ -95,7 +95,7 @@ namespace DinosaurAge
public List<DinosaurMapInfo> DinosaurMapInfos = new List<DinosaurMapInfo>();
public CurvySpline[] DinosaursSplines;
/// <summary>
/// 游戏物体信息
/// </summary>
@ -108,6 +108,9 @@ namespace DinosaurAge
void Start()
{
#if !UNITY_EDITOR && UNITY_ANDROID && PICO
MRCamera = Cameras[1];
#endif
UpdateConf();
Rain.SetActive(false);
bgm.clip = museumClip;
@ -115,7 +118,7 @@ namespace DinosaurAge
dinosaurScene.SetActive(false);
museumScene.SetActive(true);
goObj.SetActive(false);
if (ModelScene != null)
{
ModelScene.SetActive(IsShowModel);
@ -128,7 +131,7 @@ namespace DinosaurAge
void Update()
{
}
void Destroy()
@ -171,7 +174,7 @@ namespace DinosaurAge
//request.AddHeader("Authorization", Author);
authInfo.deviceSn = GetSn();
authInfo.startAt = ConvertTimestampToDateTime(GetTimestamp()) + "";
//authInfo.type = 1;
authInfo.shop = 0;
#if !UNITY_EDITOR && UNITY_ANDROID && PICO
@ -192,7 +195,7 @@ namespace DinosaurAge
request.AddHeader("Content-Type", "application/json");
request.Send();
}
/// <summary>
/// 通知服务器已开始游戏
/// </summary>
@ -231,16 +234,16 @@ namespace DinosaurAge
}
});
request.AddHeader("Authorization", Author);
// authInfo.endAt = ConvertTimestampToDateTime(GetTimestamp()) + "";
// authInfo.endAt = ConvertTimestampToDateTime(GetTimestamp()) + "";
//authInfo.dur = (int)(((long)(DateTime.Now.Subtract(new DateTime(1970, 1, 1))).TotalSeconds) -
//(GameInit.Ins.vistEnd - GameInit.Ins.vistAllTime));
//(GameInit.Ins.vistEnd - GameInit.Ins.vistAllTime));
string authJson = JsonUtility.ToJson(authInfo);
Debug.Log("发送数据 -> " + authJson);
request.RawData = System.Text.Encoding.UTF8.GetBytes(authJson);
request.AddHeader("Content-Type", "application/json");
request.Send();
}
public void ParseGameSplines(string text)
{
DinosaursSplines = SplineJsonConverter.JsonToSplines(text);
@ -265,18 +268,18 @@ namespace DinosaurAge
text = Resources.Load<TextAsset>("Data").text;
if (text != null)
{
Debug.Log("读取的数据:"+place);
Debug.Log("读取的数据:" + place);
ParseGameJson(text);
UpdateSplines();
}
}
/// <summary>
/// 更新Splines配置表
/// </summary>
public void UpdateSplines(Action cb = null)
{
string splineText = Resources.Load<TextAsset>("Splines_"+place).text;
string splineText = Resources.Load<TextAsset>("Splines_" + place).text;
if (splineText != null)
{
ParseGameSplines(splineText);
@ -312,13 +315,13 @@ namespace DinosaurAge
DinosaurMapInfosC.Add(info);
}
DinosaurMapInfos = DinosaurMapInfosC;
List<GameObjInfo> gameObjInfos = new List<GameObjInfo>();
TableReader gameReader = DB["GameInfo"].GetReader();
while (gameReader.Read())
{
GameObjInfo info = new GameObjInfo(gameReader);
gameObjInfos.Add(info);
gameObjInfos.Add(info);
}
GameObjInfos = gameObjInfos;
@ -329,7 +332,7 @@ namespace DinosaurAge
{
Debug.Log("x:" + pos.x + " y:" + pos.y + " z:" + pos.z);
}
/// <summary>
/// 获取sn号
/// </summary>
@ -355,7 +358,7 @@ namespace DinosaurAge
DateTime dateTime = DateTimeOffset.FromUnixTimeSeconds(timestamp).DateTime;
return dateTime.ToString("yyyy-MM-dd HH:mm:ss");
}
public void Show3DLogo()
{
//Logo.SetActive(true);
@ -368,26 +371,26 @@ namespace DinosaurAge
goObj.SetActive(false);
}, 3.0f, this);
}
public void AllChildren()
{
// 获取当前游戏对象的所有子物体数量
int childCount = dinosaurSpawner.dinosaurs.transform.childCount;
for (int i = childCount - 1; i >= 0; i--)
{
// 从后往前删除可以避免在删除过程中改变索引的问题
Destroy(dinosaurSpawner.dinosaurs.transform.GetChild(i).gameObject);
}
}
public void ResetMuseum()
{
dinosaurScene.SetActive(false);
goObj.SetActive(true);
goObj.transform.position = MRCamera.transform.position += new Vector3(0,1,20);
if(place== Place.Yangzhou_Hanjiang_TansuoZhongxin)
goObj.transform.position = MRCamera.transform.position += new Vector3(0,1,-30);
goObj.transform.position = MRCamera.transform.position += new Vector3(0, 1, 20);
if (place == Place.Yangzhou_Hanjiang_TansuoZhongxin)
goObj.transform.position = MRCamera.transform.position += new Vector3(0, 1, -30);
bgm.clip = goClip;
bgm.Play();
AllChildren();
@ -404,7 +407,7 @@ namespace DinosaurAge
dinosaurSpawner.Stop();
dinosaurSpawner.enabled = false;
GameEnd();
},10f, this);
}, 10f, this);
}
public void GameEnd()
@ -414,7 +417,7 @@ namespace DinosaurAge
MonoSingleton<CoroutineTaskManager>.Instance.WaitSecondTodo(() =>
{
Application.Quit();
},10f, this);
}, 10f, this);
}
}
}

View File

@ -6,7 +6,7 @@ QualitySettings:
serializedVersion: 5
m_CurrentQuality: 0
m_QualitySettings:
- serializedVersion: 2
- serializedVersion: 3
name: Very Low
pixelLightCount: 0
shadows: 0
@ -19,17 +19,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 0
skinWeights: 1
textureQuality: 1
anisotropicTextures: 0
globalTextureMipmapLimit: 0
textureMipmapLimitSettings: []
anisotropicTextures: 1
antiAliasing: 8
softParticles: 0
softVegetation: 0
realtimeReflectionProbes: 0
billboardsFaceCameraPosition: 0
useLegacyDetailDistribution: 1
vSyncCount: 0
realtimeGICPUUsage: 25
lodBias: 0.3
maximumLODLevel: 0
enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@ -42,8 +45,17 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
terrainQualityOverrides: 0
terrainPixelError: 1
terrainDetailDensityScale: 1
terrainBasemapDistance: 1000
terrainDetailDistance: 80
terrainTreeDistance: 5000
terrainBillboardStart: 50
terrainFadeLength: 5
terrainMaxTrees: 50
excludedTargetPlatforms: []
- serializedVersion: 2
- serializedVersion: 3
name: Low
pixelLightCount: 0
shadows: 0
@ -56,17 +68,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 0
skinWeights: 2
textureQuality: 0
globalTextureMipmapLimit: 0
textureMipmapLimitSettings: []
anisotropicTextures: 0
antiAliasing: 0
softParticles: 0
softVegetation: 0
realtimeReflectionProbes: 0
billboardsFaceCameraPosition: 0
useLegacyDetailDistribution: 1
vSyncCount: 0
realtimeGICPUUsage: 25
lodBias: 0.4
maximumLODLevel: 0
enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@ -79,8 +94,17 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
terrainQualityOverrides: 0
terrainPixelError: 1
terrainDetailDensityScale: 1
terrainBasemapDistance: 1000
terrainDetailDistance: 80
terrainTreeDistance: 5000
terrainBillboardStart: 50
terrainFadeLength: 5
terrainMaxTrees: 50
excludedTargetPlatforms: []
- serializedVersion: 2
- serializedVersion: 3
name: Medium
pixelLightCount: 1
shadows: 1
@ -93,17 +117,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 0
skinWeights: 2
textureQuality: 0
globalTextureMipmapLimit: 0
textureMipmapLimitSettings: []
anisotropicTextures: 1
antiAliasing: 8
softParticles: 0
softVegetation: 0
realtimeReflectionProbes: 0
billboardsFaceCameraPosition: 0
useLegacyDetailDistribution: 1
vSyncCount: 1
realtimeGICPUUsage: 25
lodBias: 0.7
maximumLODLevel: 0
enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@ -116,8 +143,17 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
terrainQualityOverrides: 0
terrainPixelError: 1
terrainDetailDensityScale: 1
terrainBasemapDistance: 1000
terrainDetailDistance: 80
terrainTreeDistance: 5000
terrainBillboardStart: 50
terrainFadeLength: 5
terrainMaxTrees: 50
excludedTargetPlatforms: []
- serializedVersion: 2
- serializedVersion: 3
name: High
pixelLightCount: 2
shadows: 2
@ -130,17 +166,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 1
skinWeights: 2
textureQuality: 0
globalTextureMipmapLimit: 0
textureMipmapLimitSettings: []
anisotropicTextures: 1
antiAliasing: 0
softParticles: 0
softVegetation: 1
realtimeReflectionProbes: 1
billboardsFaceCameraPosition: 1
useLegacyDetailDistribution: 1
vSyncCount: 1
realtimeGICPUUsage: 50
lodBias: 1
maximumLODLevel: 0
enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@ -153,8 +192,17 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
terrainQualityOverrides: 0
terrainPixelError: 1
terrainDetailDensityScale: 1
terrainBasemapDistance: 1000
terrainDetailDistance: 80
terrainTreeDistance: 5000
terrainBillboardStart: 50
terrainFadeLength: 5
terrainMaxTrees: 50
excludedTargetPlatforms: []
- serializedVersion: 2
- serializedVersion: 3
name: Very High
pixelLightCount: 3
shadows: 2
@ -167,17 +215,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 1
skinWeights: 4
textureQuality: 0
globalTextureMipmapLimit: 0
textureMipmapLimitSettings: []
anisotropicTextures: 2
antiAliasing: 2
softParticles: 1
softVegetation: 1
realtimeReflectionProbes: 1
billboardsFaceCameraPosition: 1
useLegacyDetailDistribution: 1
vSyncCount: 1
realtimeGICPUUsage: 50
lodBias: 1.5
maximumLODLevel: 0
enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@ -190,8 +241,17 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
terrainQualityOverrides: 0
terrainPixelError: 1
terrainDetailDensityScale: 1
terrainBasemapDistance: 1000
terrainDetailDistance: 80
terrainTreeDistance: 5000
terrainBillboardStart: 50
terrainFadeLength: 5
terrainMaxTrees: 50
excludedTargetPlatforms: []
- serializedVersion: 2
- serializedVersion: 3
name: Ultra
pixelLightCount: 4
shadows: 2
@ -204,17 +264,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 1
skinWeights: 4
textureQuality: 0
globalTextureMipmapLimit: 0
textureMipmapLimitSettings: []
anisotropicTextures: 2
antiAliasing: 8
softParticles: 1
softVegetation: 1
realtimeReflectionProbes: 1
billboardsFaceCameraPosition: 1
useLegacyDetailDistribution: 1
vSyncCount: 0
realtimeGICPUUsage: 100
lodBias: 2
maximumLODLevel: 0
enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@ -227,5 +290,15 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
terrainQualityOverrides: 0
terrainPixelError: 1
terrainDetailDensityScale: 1
terrainBasemapDistance: 1000
terrainDetailDistance: 80
terrainTreeDistance: 5000
terrainBillboardStart: 50
terrainFadeLength: 5
terrainMaxTrees: 50
excludedTargetPlatforms: []
m_TextureMipmapLimitGroupNames: []
m_PerPlatformDefaultQuality: {}

View File

@ -14,6 +14,31 @@ TagManager:
- Mouth
- Door
- Glove
- Pushable
- QDSUIBackplateGradient
- QDSUIToggleBorderlessButton
- QDSUIToggleSwitch
- QDSUITooltip
- QDSUISharedThemeColor
- QDSUIAccentColor
- QDSUIBorderlessButton
- QDSUIToggleButton
- QDSUISecondaryButton
- QDSUIIcon
- QDSUITextSecondaryColor
- QDSUISection
- Locomotion
- PassThroughButton
- LocoButton
- LocoText
- PassThrough
- SamplesInfoPanel
- QDSUIDestructiveButton
- QDSUIPrimaryButton
- QDSUITextInvertedColor
- QDSUITextSecondaryInvertedColor
- QDSUIToggleCheckboxRadio
- QDSUITextInputField
layers:
- Default
- TransparentFX
@ -23,6 +48,7 @@ TagManager:
- UI
- Dinosaur
- Ground
- Overlay UI
-
-
-
@ -45,8 +71,7 @@ TagManager:
-
-
-
-
-
- OVROverlayCanvas Rendering
m_SortingLayers:
- name: Default
uniqueID: 0