示例#1
0
        /// <summary>
        /// 常规相机位的切换,根据需求pitch、yaw、distance维持不变
        /// </summary>
        /// <param name="charView"></param>
        /// <param name="isAiming"></param>
        /// <param name="smoothTime"></param>
        public void SetCharacterView(CameraViewInfoCollection.CharacterView charView, bool isAiming = false, float smoothTime = 0.15f)
        {
            SetPendingViewInfo(m_ViewTarget, m_ViewInfoCollection != null ? m_ViewInfoCollection[charView] : null, smoothTime);

            // procedural view data, inherit current pitch,yaw,distance
            m_PendingVT.m_ViewInfo.pitch    = m_CurVT.m_ViewInfo.pitch;
            m_PendingVT.m_ViewInfo.yaw      = m_isWatching ? m_PendingVT.m_ViewInfo.yaw : m_CurVT.m_ViewInfo.yaw;   // 观察模式下切换charView维持yaw不变 —— corner case
            m_PendingVT.m_ViewInfo.distance = m_CurVT.m_ViewInfo.distance;

            if (isAiming)
            {
                m_PendingVT.m_ViewInfo.rigOffset = m_PendingVT.m_ViewInfo.rigOffsetWhenAim;
            }
        }
示例#2
0
 public void EditorSetCharacterView(CameraViewInfoCollection.CharacterView charView, bool isAiming = false, float smoothTime = 0.15f)
 {
     SetCharacterView(charView, isAiming, smoothTime);
     curCharView = charView;
 }
示例#3
0
        /// <summary>
        /// 上层接口,初始化角色默认视角
        /// </summary>
        /// <param name="InViewTarget"></param>
        /// <param name="InViewInfoCollection"></param>
        public void InitViewInfoCollection(Transform InViewTarget, CameraViewInfoCollection InViewInfoCollection, CameraViewInfoCollection.CharacterView defaultView = CameraViewInfoCollection.CharacterView.Run)
        {
            if (InViewTarget == null || InViewInfoCollection == null)
            {
                Debug.LogError("Camera Init: viewTarget == null || viewInfoProfile == null");
                return;
            }

            m_ViewInfoCollection = InViewInfoCollection;
            m_ViewTarget         = InViewTarget;

            InitViewInfo(m_ViewTarget, m_ViewInfoCollection != null ? m_ViewInfoCollection[defaultView] : null);
        }
示例#4
0
        private void EditorSetCharacterView(CameraViewInfoCollection.CharacterView charView, bool isAiming = false, float smoothTime = 0.15f)
        {
            cc.EditorSetCharacterView(charView, isAiming, smoothTime);

            RefreshViewInfoProperties();
        }