void OnTriggerEnter(Collider other) { CameraTrigger cameraTrigger = other.GetComponent <CameraTrigger>(); if (cameraTrigger == null) { return; } if (cameraTrigger.Times == 0) { Offset.transform.position = cameraTrigger.CameraOffset.localPosition; } List <Vector3> pos = new List <Vector3>(); if (null == cameraTrigger.CameraOffset) { pos.Add(DefaultOffset); } else { pos.Add(cameraTrigger.CameraOffset.localPosition); } iTween.moveToBezier(Offset, cameraTrigger.Times, 0, pos); }
public void SetTriggerActive(string name, bool active) { CameraTrigger t = GetTriggerByName(name); if (t == null) { Debuger.LogError(string.Format("没有找到触发器,名字:{0}", name)); return; } SetTriggerActive(t, active); }
private void OnTriggerExit(Collider other) { if (other.GetComponent <CameraTrigger>()) { CameraTrigger trig = other.GetComponent <CameraTrigger>(); if (trig.ResetOnExit) { camera.camState = PlayerCamera.CameraState.Auto; } camera.UpdateCameraOrientation = true; } }
public void OnSnakeTriggerExit(Collider col, SnakeCollider snakeCol) { if (snakeCol.isHead) { if (col.transform.parent == null || snakeCol.transform != target) { return; } CameraTrigger camTrigger = col.transform.parent.GetComponent <CameraTrigger>(); if (camTrigger != null) { useCameraTriggerSettings = false; } } }
void Awake() { GameObject goCamChild = new GameObject(string.Format("Camera")); goCamChild.transform.SetParent(transform); camera = goCamChild.AddComponent <Camera>(); camera.enabled = false; camera.fieldOfView = 90; GameObject goTriggerChild = new GameObject(string.Format("Cam Trigger")); goTriggerChild.transform.SetParent(transform); cameraTrigger = goTriggerChild.AddComponent <CameraTrigger>(); raceCameras = transform.GetComponentInParent <RaceCameras>(); }
private void OnTriggerEnter(Collider other) { CameraTrigger trigger = other.GetComponent <CameraTrigger>(); if (trigger == null) { return; } if (trigger.cameraOffset == null) { iTween.MoveTo(offsetObject, defaultOffset, time); } else { Vector3 offsetPos = trigger.cameraOffset.localPosition; iTween.MoveTo(offsetObject, offsetPos, time); } }
public void AddTrigger() { GameObject go = new GameObject(GetUnUseTriggerName(), typeof(BoxCollider), typeof(CameraTrigger)); go.layer = LayerMask.NameToLayer("CameraTrigger"); Transform t = go.transform; CameraTrigger trigger = go.GetComponent <CameraTrigger>(); BoxCollider box = go.GetComponent <BoxCollider>(); t.SetParent(this.transform, false); t.localPosition = Vector3.zero; t.localEulerAngles = Vector3.zero; t.localScale = new Vector3(5, 10, 5); box.isTrigger = true; box.enabled = true; trigger.m_info = new CameraInfo(CameraMgr.instance.m_curCameraInfo); Reset(); }
private void OnTriggerStay(Collider other) { //Camera Triggers if (other.GetComponent <CameraTrigger>()) { CameraTrigger trig = other.GetComponent <CameraTrigger>(); camera.UpdateCameraOrientation = false; int NextCameraState = (int)trig.camState; camera.camState = (PlayerCamera.CameraState)NextCameraState; if (NextCameraState == 2) { camera.TargetPosition = trig.TargetPosition.position; } if (trig.ChangeDirection) { camera.SetLookDir(trig.Direction); } } }
// Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.R)) { /* Go to camera mode */ Player script = player.GetComponent <Player>(); if (_viewMode == ViewMode.WANDER) { _viewMode = ViewMode.CAMERA; script.GoToCameraView(); UIManager.instance.showCameraOverlay(); } else if (_viewMode == ViewMode.CAMERA) { _viewMode = ViewMode.WANDER; script.GoToWanderingView(); UIManager.instance.HideCameraOverlay(); } } if (_viewMode == ViewMode.CAMERA && Input.GetMouseButton(0)) { CameraTrigger bugView = player.GetComponentInChildren <CameraTrigger>(); foreach (BugType bug in bugView.bugsInView) { if (Bug.bugsCaught.IndexOf(bug) == -1) { print(bug.ToString() + " Caught!"); Bug.bugsCaught.Add(bug); } } foreach (BugType bug in Bug.bugsCaught) { print(bug); } } }
public void TriggerCamera(CameraTrigger trigger) { animator.SetTrigger(trigger.ToString()); }
public void RemoveTrigger(CameraTrigger t) { t.Clear(); m_triggers.Remove(t); GameObject.Destroy(t.gameObject); }
public void TriggerCamera(CameraTrigger trigger) { ANIMATOR.SetTrigger(HashManager.Instance.ArrCameraParams[(int)trigger]); }
//GameObject o = null; void OnGUI() { if (_labelstyle == null) { _labelstyle = new GUIStyle(EditorStyles.boldLabel); _labelstyle.fontSize = 11; } scrollPosition = GUILayout.BeginScrollView(scrollPosition, false, false); EditorGUILayout.Space(); GUILayout.Label("CutScene Editor:", _labelstyle); EditorGUILayout.Space(); _name = EditorGUILayout.TextField("Name", _name); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Scene", _scene); if (GUILayout.Button("Browser", GUILayout.MaxWidth(80))) { string file = EditorUtility.OpenFilePanel("Select unity scene file", XEditorLibrary.Sce, "unity"); if (file.Length != 0) { file = file.Remove(file.LastIndexOf(".")); _scene = file.Remove(0, file.IndexOf(XEditorLibrary.Sce)); Scene scene = EditorSceneManager.GetActiveScene(); if (scene.name.Length == 0 || !EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo()) { EditorSceneManager.OpenScene(_scene + ".unity"); } } } EditorGUILayout.EndHorizontal(); _auto_end = EditorGUILayout.Toggle("Auto End", _auto_end); EditorGUILayout.Space(); _general_show = EditorGUILayout.Toggle("General Clip", _general_show); if (_general_show) { _general_bigguy = EditorGUILayout.Toggle("General Big Guy", _general_bigguy); if (_general_bigguy) { _camera = Resources.Load("Animation/Main_Camera/Cut_Scene/cutscene_generalshow_bigguy", typeof(AnimationClip)) as AnimationClip; } else { _camera = Resources.Load("Animation/Main_Camera/Cut_Scene/cutscene_generalshow", typeof(AnimationClip)) as AnimationClip; } EditorGUILayout.ObjectField("Camera Clip", _camera, typeof(AnimationClip), true); } else { _camera = EditorGUILayout.ObjectField("Camera Clip", _camera, typeof(AnimationClip), true) as AnimationClip; } if (_camera != null) { _length = _camera.length; EditorGUILayout.LabelField("CutScene Length", _length.ToString("F3") + "s" + "\t" + (_length * XEditorLibrary.FPS).ToString("F1") + "(frame)"); } EditorGUILayout.Space(); _type_mask = (int)(EntitySpecies)EditorGUILayout.EnumMaskField("Type Mask", (EntitySpecies)_type_mask); _mourningborder = EditorGUILayout.Toggle("Mourningborder", _mourningborder); EditorGUILayout.Space(); _fov = EditorGUILayout.FloatField("FieldOfVeiw", _fov); _trigger = (CameraTrigger)EditorGUILayout.EnumPopup("Trigger", _trigger); EditorGUILayout.Space(); _override_bgm = EditorGUILayout.Toggle("Override BGM", _override_bgm); EditorGUILayout.Space(); UpdateScript(); GUILayout.Label("TimeLine:", _labelstyle); EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); _type = (XClipType)EditorGUILayout.EnumPopup("Add Clip", _type); if (GUILayout.Button(_content_add, GUILayout.MaxWidth(25), GUILayout.MaxHeight(15))) { if (_camera != null && _name != null && _name.Length > 0) { XCutSceneTimelineWindow window = EditorWindow.GetWindow <XCutSceneTimelineWindow>(@"Timeline At:"); window._total_frame = _camera.length * XEditorLibrary.FPS; window._clip = null; } else { EditorUtility.DisplayDialog("Confirm your selection.", "Please select camera clip or name the cutscene", "Ok"); } } EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); ActorList.Clear(); ActorList.Add("None"); foreach (XClip clip in _clips.Values) { if (clip.Valid) { if (_camera != null) { clip.TimeLineTotal = _camera.length * XEditorLibrary.FPS; clip.OnGUI(GetCurrentData()); if (clip.ClipType == XClipType.Actor || clip.ClipType == XClipType.Player) { int all = ActorList.FindAll(s => s == clip.Name).Count; if (all > 0) { ActorList.Add(clip.Name + " " + (all + 1)); } else { ActorList.Add(clip.Name); } } } } } EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Run")) { if (_name != null && _name.Length > 0 && _camera != null && !EditorApplication.isPlaying) { EditorApplication.ExecuteMenuItem("Edit/Play"); GameObject _cameraObject = GameObject.Find(@"Main Camera"); GameEntrance entrance = _cameraObject.GetComponent <GameEntrance>(); entrance.enabled = false; XCutSceneRunner runner = _cameraObject.AddComponent <XCutSceneRunner>(); _run_data = GetCurrentData(); runner.is_start_by_editor = true; runner.cut_scene_data = _run_data; } } if (GUILayout.Button("Pause")) { if (EditorApplication.isPlaying) { EditorApplication.isPaused = !EditorApplication.isPaused; } } if (GUILayout.Button("Quit")) { if (EditorApplication.isPlaying) { EditorApplication.isPlaying = false; } } EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Save")) { Save(); } if (GUILayout.Button("Open")) { _file = EditorUtility.OpenFilePanel("Select cutscene file", XEditorLibrary.Cts, "txt"); if (_file.Length != 0) { _open_scene = true; Load(XDataIO <XCutSceneData> .singleton.DeserializeData(_file.Substring(_file.IndexOf("Assets/")))); } } EditorGUILayout.EndHorizontal(); EditorGUILayout.EndScrollView(); }
void InnerLoad(XCutSceneData data) { _run_data = data; _name = data.Name; _script = data.Script; _scene = data.Scene; _camera = Resources.Load(data.CameraClip, typeof(AnimationClip)) as AnimationClip; _type_mask = data.TypeMask; _auto_end = data.AutoEnd; _general_show = data.GeneralShow; _general_bigguy = data.GeneralBigGuy; _override_bgm = data.OverrideBGM; _mourningborder = data.Mourningborder; _fov = data.FieldOfView; _length = data.Length; _trigger = (CameraTrigger)Enum.Parse(typeof(CameraTrigger), data.Trigger); _clips.Clear(); ActorList.Clear(); ActorList.Add("None"); foreach (XActorDataClip clip in data.Actors) { TimeChecker(clip, data); XClip xclip = AddClip(clip); ActorList.Add(xclip.Name); } foreach (XPlayerDataClip clip in data.Player) { TimeChecker(clip, data); XClip xclip = AddClip(clip); ActorList.Add(xclip.Name); } foreach (XFxDataClip clip in data.Fxs) { TimeChecker(clip, data); AddClip(clip); } foreach (XAudioDataClip clip in data.Audios) { TimeChecker(clip, data); AddClip(clip); } foreach (XSubTitleDataClip clip in data.SubTitle) { TimeChecker(clip, data); AddClip(clip); } foreach (XSlashDataClip clip in data.Slash) { TimeChecker(clip, data); AddClip(clip); } if (_open_scene && _scene != null && _scene.Length != 0) { Scene scene = EditorSceneManager.GetActiveScene(); if (scene.name.Length > 0 && !EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo()) { return; } else { EditorSceneManager.OpenScene(_scene + ".unity"); } _open_scene = false; } }
public void TriggerCamera(CameraTrigger trigger) { ANIMATOR.SetTrigger(trigger.ToString()); }
public void SetTriggerActive(CameraTrigger t, bool active) { t.gameObject.SetActive(active); }
//返回值表示是不是删除了这个触发器 bool DrawTrigger(CameraTrigger t) { Color tmp1 = GUI.color; EditorGUILayoutEx.FadeArea area = EditorGUILayoutEx.instance.BeginFadeArea(t.isExpand, "", t.name + "_cameraTrigger", EditorStyleEx.BoxStyle); // Color tmp2 = GUI.color; //BeginFadeArea 需要 GUI.color = tmp1; //BeginFadeArea 需要 using (new AutoBeginHorizontal()) { t.gameObject.name = EditorGUILayout.TextField(t.gameObject.name, EditorGUILayoutEx.defaultLabelStyle, GUILayout.ExpandWidth(false), GUILayout.ExpandHeight(false)); if (GUILayout.Button("", EditorGUILayoutEx.defaultLabelStyle)) { t.isExpand = !t.isExpand; } if (GUILayout.Button(EditorGUIUtility.IconContent(CameraMgr.instance.m_curCameraInfo == t.m_info ? "preAudioLoopOn" : "preAudioLoopOff"), EditorStyles.toolbarButton, GUILayout.Width(25))) { CameraMgr.instance.Add(t.m_info, false, CameraInfo.Camera_Editor_Priority);//优先级要提高点 return(false); } if (GUILayout.Button(EditorGUIUtility.IconContent("TreeEditor.Trash"), EditorStyles.toolbarButton, GUILayout.Width(25))) { return(true); } } if (area.Show()) { GUI.color = tmp2;//BeginFadeArea 需要 Transform tran = t.transform; EditorGUILayout.ObjectField("触发体", t.GetComponent <BoxCollider>(), typeof(BoxCollider), false); using (new AutoBeginHorizontal()) { EditorGUILayout.PrefixLabel("触发体位置"); tran.position = EditorGUILayout.Vector3Field(GUIContent.none, tran.position, GUILayout.Height(18)); if (GUILayout.Button("同步到跟随者", GUILayout.Width(100))) { tran.position = CameraMgr.instance.GetFollowPos(); } } using (new AutoBeginHorizontal()) { EditorGUILayout.PrefixLabel("触发体大小"); tran.localScale = EditorGUILayout.Vector3Field(GUIContent.none, tran.localScale, GUILayout.Height(18)); } float y = EditorGUILayout.FloatField("触发体旋转", tran.eulerAngles.y); tran.eulerAngles = new Vector3(tran.eulerAngles.x, y, tran.eulerAngles.z); //镜头信息 DrawCameraInfo(t.m_info, t.gameObject.name, false, true); } EditorGUILayoutEx.instance.EndFadeArea(); return(false); }
public void TriggerCamera(CameraTrigger trigger) { ANIMATOR.SetTrigger(HashManager.Instance.DicCameraTriggers[trigger]); }