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


}
相关推荐
智算菩萨10 分钟前
迷宫生成算法:从生成树到均匀随机,再到工程化 Python 实现
python·算法·游戏
老朱佩琪!2 小时前
Unity策略模式
unity·设计模式·策略模式
腾讯WeTest12 小时前
范式转移:LLM如何重塑游戏自动化测试的底层逻辑
功能测试·游戏·ai·腾讯wetest
云水木石16 小时前
Android 的下一个战场:Windows 应用与游戏?
android·windows·游戏
老朱佩琪!19 小时前
Unity备忘录模式
java·unity·备忘录模式
一帘多啦A梦19 小时前
解决unity2022.3.x版本项目使用vs无法生成解决方案的问题
unity·vs
weixin_424294671 天前
Unity LocalPosition 和 Position 的区别?还有其他的Position 没?
unity·游戏引擎
UWA1 天前
GPM 2.0全新功能发布|GPU精准监测 + 精细化运营,重构游戏性能管控新范式
人工智能·游戏·性能优化·重构·游戏开发·uwa
UX20171 天前
Git LFS 管理 Unity 大文件
git·unity
nnsix1 天前
Unity WebGL端调用Windows窗口选择文件
unity·游戏引擎·webgl