void Start() { rigid = GetComponent <Rigidbody>(); allWheelColliders = GetComponentsInChildren <WheelCollider>(); if (!waypointsContainer) { waypointsContainer = FindObjectOfType(typeof(SAICWaypointsContainer)) as SAICWaypointsContainer; } SoundsInitialize(); if (wheelSmoke) { SmokeInit(); } navigatorObject = new GameObject("Navigator"); navigatorObject.transform.parent = transform; navigatorObject.transform.localPosition = Vector3.zero; navigatorObject.AddComponent <NavMeshAgent>(); navigatorObject.GetComponent <NavMeshAgent>().radius = 1; navigatorObject.GetComponent <NavMeshAgent>().speed = 1f; navigatorObject.GetComponent <NavMeshAgent>().height = 1; navigatorObject.GetComponent <NavMeshAgent>().avoidancePriority = 99; navigator = navigatorObject.GetComponent <NavMeshAgent>(); // Lower the center of mass for make more stable car. rigid.centerOfMass = new Vector3(COM.localPosition.x * transform.localScale.x, COM.localPosition.y * transform.localScale.y, COM.localPosition.z * transform.localScale.z); rigid.maxAngularVelocity = 3f; defsteerAngle = steerAngle; }
void OnSceneGUI() { Event e = Event.current; wpScript = (SAICWaypointsContainer)target; if (e != null) { if (e.isMouse && e.shift && e.type == EventType.MouseDown) { Ray ray = HandleUtility.GUIPointToWorldRay(Event.current.mousePosition); RaycastHit hit = new RaycastHit(); if (Physics.Raycast(ray, out hit, 5000.0f)) { Vector3 newTilePosition = hit.point; GameObject wp = new GameObject("Waypoint " + wpScript.waypoints.Count.ToString()); wp.transform.position = newTilePosition; wp.transform.SetParent(wpScript.transform); GetWaypoints(); } } if (wpScript) { Selection.activeGameObject = wpScript.gameObject; } } GetWaypoints(); }
void OnSceneGUI() { Event e = Event.current; wpScript = (SAICWaypointsContainer)target; if(e != null){ if(e.isMouse && e.shift && e.type == EventType.MouseDown){ Ray ray = HandleUtility.GUIPointToWorldRay(Event.current.mousePosition); RaycastHit hit = new RaycastHit(); if (Physics.Raycast(ray, out hit, 5000.0f)) { Vector3 newTilePosition = hit.point; GameObject wp = new GameObject("Waypoint " + wpScript.waypoints.Count.ToString()); wp.transform.position = newTilePosition; wp.transform.SetParent(wpScript.transform); GetWaypoints(); } } if(wpScript) Selection.activeGameObject = wpScript.gameObject; } GetWaypoints(); }
public override void OnInspectorGUI() { serializedObject.Update(); wpScript = (SAICWaypointsContainer)target; if(GUILayout.Button("Delete Waypoints")){ foreach(Transform t in wpScript.waypoints){ DestroyImmediate(t.gameObject); } wpScript.waypoints.Clear(); } EditorGUILayout.PropertyField(serializedObject.FindProperty("waypoints"), new GUIContent("Waypoints", "Waypoints"), true); EditorGUILayout.HelpBox("Create Waypoints By Shift + Left Mouse Button On Your Road", MessageType.Info); serializedObject.ApplyModifiedProperties(); }
public override void OnInspectorGUI() { serializedObject.Update(); wpScript = (SAICWaypointsContainer)target; if (GUILayout.Button("Delete Waypoints")) { foreach (Transform t in wpScript.waypoints) { DestroyImmediate(t.gameObject); } wpScript.waypoints.Clear(); } EditorGUILayout.PropertyField(serializedObject.FindProperty("waypoints"), new GUIContent("Waypoints", "Waypoints"), true); EditorGUILayout.HelpBox("Create Waypoints By Shift + Left Mouse Button On Your Road", MessageType.Info); serializedObject.ApplyModifiedProperties(); }
void Start() { rigid = GetComponent<Rigidbody>(); allWheelColliders = GetComponentsInChildren<WheelCollider>(); if(!waypointsContainer) waypointsContainer = FindObjectOfType(typeof(SAICWaypointsContainer)) as SAICWaypointsContainer; SoundsInitialize(); if(wheelSmoke) SmokeInit(); navigatorObject = new GameObject("Navigator"); navigatorObject.transform.parent = transform; navigatorObject.transform.localPosition = Vector3.zero; navigatorObject.AddComponent<NavMeshAgent>(); navigatorObject.GetComponent<NavMeshAgent>().radius = 1; navigatorObject.GetComponent<NavMeshAgent>().speed = 1f; navigatorObject.GetComponent<NavMeshAgent>().height = 1; navigatorObject.GetComponent<NavMeshAgent>().avoidancePriority = 99; navigator = navigatorObject.GetComponent<NavMeshAgent>(); // Lower the center of mass for make more stable car. rigid.centerOfMass = new Vector3(COM.localPosition.x * transform.localScale.x , COM.localPosition.y * transform.localScale.y , COM.localPosition.z * transform.localScale.z); rigid.maxAngularVelocity = 3f; defsteerAngle = steerAngle; }