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


}
相关推荐
CreasyChan13 分钟前
unity C# 实现屏蔽敏感词
unity·c#·游戏引擎
Pure_White_Sword2 小时前
bugku-reverse题目-游戏过关
游戏·网络安全·ctf·reverse·逆向工程
斯内科2 小时前
C#德州扑克梭哈游戏(1):简介与初步枚举定义
游戏·德州扑克·梭哈
玉梅小洋2 小时前
Unity 2D游戏开发 Ruby‘s Adventure 2:主角和第一脚本
游戏·unity·游戏引擎·游戏程序·ruby·游戏开发
CG_MAGIC2 小时前
3D 烘焙资产导出:多引擎(Unity/Unreal)适配技巧
3d·unity·游戏引擎·效果图·建模教程·渲云
陈天伟教授2 小时前
人工智能应用- 人机对战:01. AI 游戏
人工智能·深度学习·神经网络·游戏·自然语言处理·机器翻译
云上空18 小时前
腾讯云使用对象存储托管并分享WebGL小游戏(unity3d)(需要域名)
unity·腾讯云·webgl·游戏开发·对象存储·网页托管
henry10101018 小时前
DeepSeek生成的网页小游戏 - 单人壁球挑战赛
javascript·css·游戏·html5
小贺儿开发20 小时前
Unity3D VR党史主题展馆
unity·人机交互·vr·urp·展馆·党史