private void Awake() { Application.targetFrameRate = 60; Screen.orientation = ScreenOrientation.LandscapeLeft; this.entityManager = World.DefaultGameObjectInjectionWorld.EntityManager; this.heroBoxColliderSize = this.GetBoxColliderSize(this.heroCarPrefab); this.streetCarBoxColliderSize = this.GetBoxColliderSize(this.streetCarPrefab); this.streetCarCapsuleData = this.GetCapusleSize(this.heroCarPrefab); World.DefaultGameObjectInjectionWorld.QuitUpdate = false; this.CreateHeroCar(); }
private void Init() { bool collider = false; int count = environmentObjectData.meshMatDatas.Length; for (int i = 0; i < count; i++) { //Debug.Log(i); MeshMatData data = environmentObjectData.meshMatDatas[i]; GameObject child = new GameObject("Mesh"); child.transform.SetParent(transform); child.transform.localScale *= data.scale; child.transform.localPosition = data.posOffset; child.transform.localRotation = Quaternion.identity; child.AddComponent <MeshRenderer>().sharedMaterials = data.mats; child.AddComponent <MeshFilter>().mesh = data.mesh; for (int b = 0; b < data.boxData.Length; b++) { BoxColliderData boxData = environmentObjectData.boxColDatas[data.boxData[b]]; BoxCollider col = child.AddComponent <BoxCollider>(); col.center = boxData.center; col.size = boxData.size; collider = true; } for (int c = 0; c < data.capsuleData.Length; c++) { CapsuleColliderData capData = environmentObjectData.capColDatas[data.capsuleData[c]]; CapsuleCollider col = child.AddComponent <CapsuleCollider>(); col.center = capData.center; col.radius = capData.radius; col.height = capData.height; collider = true; } } if (collider) { gameObject.AddComponent <Rigidbody>().isKinematic = true; //GetComponent<NetworkTransform>().transformSyncMode = NetworkTransform.TransformSyncMode.SyncRigidbody3D; } radius = environmentObjectData.radius; anim = GetComponent <Animator>(); anim.SetTrigger("StartEntrance"); pSystem.Play(); }
public void AddCapCols(CapsuleCollider[] collider, float scale, Vector3 offset) { CapsuleColliderData[] newCapColDatas = new CapsuleColliderData[collider.Length + capColDatas.Length]; meshMatDatas[meshMatDatas.Length - 1].capsuleData = new int[collider.Length]; for (int i = 0; i < collider.Length; i++) { newCapColDatas[i] = new CapsuleColliderData(collider[i].center, collider[i].radius, collider[i].height); meshMatDatas[meshMatDatas.Length - 1].capsuleData[i] = capColDatas.Length + i; } for (int i = collider.Length; i < newCapColDatas.Length; i++) { newCapColDatas[i] = capColDatas[i - collider.Length]; } capColDatas = newCapColDatas; }