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


}
相关推荐
井队Tell6 分钟前
打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第十天)
学习·3d·unity
FairGuard手游加固4 小时前
Cocos资源加密方案解析
安全·游戏·cocos2d
UWA18 小时前
为什么Android游戏画面在30帧运行时有抖动现象
android·游戏
Python私教18 小时前
Unity 游戏开发「工业化级」学习路线 2025 版
学习·unity·游戏引擎
软件开发技术深度爱好者21 小时前
python使用Pygame库实现避障小人行走游戏
python·游戏·pygame
于小汐在咯1 天前
【Unity每日一记】Unity物理引擎:刚体与碰撞体详解
unity·游戏引擎
鱼蛋-Felix1 天前
Unity jar更新不生效怎么解决
unity·游戏引擎·jar
星空露珠1 天前
数独生成题目lua脚本
数据结构·数据库·算法·游戏·lua
wanhengidc1 天前
云手机 基于云计算的虚拟手机
运维·服务器·游戏·智能手机·云计算
爱吃小胖橘2 天前
Unity资源加载模块全解析
开发语言·unity·c#·游戏引擎