相机组件结构:
一般是相机根节点处理,相机跟随,旋转。
mainCamera处理相机距离。
当角色靠近墙壁,墙壁处于摄像机和角色之间时,会遮挡角色,处理方法是,把相机距离拉近。
public class Test : MonoBehaviour {
protected bool isHadCol; //外部调用 是否相机被遮挡
public Transform m_camera; //相机
public Transform m_camera_parent; //相机父控件
public Transform m_target; //相机跟随目标
public float m_clipMoveTime = 0.2f; //剪裁速度
public float m_backMoveTime = 0.5f; //回归速度
public string[] m_raycastLayerName = { "CameraCollide" };
private int m_raycastLayer = 0;
private float m_raycastDistance = 33.0f; //射线长度
private float m_defaultDistance;
private float m_curDistance;
RaycastHit[] m_raycastHitsArray = new RaycastHit[8];
private List<float> m_dist = new List<float>();
private Ray m_ray = new Ray()