[游戏开发][Unity] TPS射击游戏相机实现

技术难点:由于是第三人称射击游戏,角色和相机之间有夹角,所以枪口点和准星是有误差的,下面是和平精英手游截图,我用AK射击zhuzi

cs 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraFollow : MonoBehaviour
{
    public Transform ShootPoint;
    //射击距离(米)
    public float AimDistance = 100;
    public float CamToAimDis = 103;
    private Vector3 AimPoint;

    //横向观察夹角
    public float HorizonAngle = 0.5f;
    public float VerticalAngle;

    //旋转轴向
    public Vector3 axis = new Vector3(0, 1, 0);

    void Update()
    {
        //射击方向的平面方向
        Vector3 dir = ShootPoint.forward;
        //计算射击目标点
        AimPoint = ShootPoint.position + ShootPoint.forward * AimDistance;

        Vector3 camDir = Quaternion.AngleAxis(HorizonAngle, axis) * dir;
        Vector3 CamPos =  AimPoint - Quaternion.AngleAxis(HorizonAngle, axis) * dir * CamToAimDis;
        transform.position = CamPos;
        transform.forward = camDir;
    }


}
相关推荐
死也不注释9 小时前
【Unity 编辑器工具开发:GUILayout 与 EditorGUILayout 对比分析】
unity·编辑器·游戏引擎
小赖同学啊18 小时前
物联网中的Unity/Unreal引擎集成:数字孪生与可视化控制
物联网·unity·游戏引擎
点金石游戏出海19 小时前
每周资讯 | Krafton斥资750亿日元收购日本动画公司ADK;《崩坏:星穹铁道》新版本首日登顶iOS畅销榜
游戏·ios·业界资讯·apple·崩坏星穹铁道
wsdchong之小马过河20 小时前
2025《烈焰之刃》游戏攻略
游戏
Zlzxzw21 小时前
使用unity创建项目,进行动画制作
unity·游戏引擎
X_StarX1 天前
【Unity笔记01】基于单例模式的简单UI框架
笔记·ui·unity·单例模式·游戏引擎·游戏开发·大学生
九班长1 天前
Golang服务端处理Unity 3D游戏地图与碰撞的详细实现
3d·unity·golang
ysn111111 天前
NGUI实现反向定位到层级面板结点
unity
Alfred king1 天前
面试150 生命游戏
leetcode·游戏·面试·数组
Thomas_YXQ1 天前
Unity3D DOTS场景流式加载技术
java·开发语言·unity