[游戏开发][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;
    }


}
相关推荐
yyuuuzz1 小时前
2026独立站运营的几个技术细节问题
运维·服务器·网络·人工智能·游戏
xcLeigh10 小时前
Unity基础:Scene视图操作完全指南——视角控制、物体选择与场景导航
unity·游戏引擎·scene·试图·场景导航
mxwin13 小时前
Unity Shader exp 函数的算法与渲染应用
算法·unity·游戏引擎·shader
Johnstons15 小时前
游戏网络测试怎么做?从延迟到丢包,一套完整的游戏弱网测试方案
网络·游戏·php
WarPigs19 小时前
AB包自定义打包工具
unity
2023自学中20 小时前
imx6ull 开发板, mame 模拟器,运行游戏 测试
linux·游戏·嵌入式·开发板
专业技术员!!!!1 天前
游戏代练平台怎么开发?Uni+PHP多端代练系统|适配三角洲+王者代练
游戏
FL16238631293 天前
Apex检测数据集Apex Legend游戏敌友方检测数据集VOC+YOLO格式5671张3类别
yolo·游戏·机器学习
金銀銅鐵7 天前
[Python] 模 n 乘法的逆元计算器
python·数学·游戏
金銀銅鐵8 天前
借助 Pygame 探索最大公约数的规律
python·数学·游戏