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


}
相关推荐
谢斯2 小时前
[unity]如何在unity中添加newtonsoft-json
unity·json·游戏引擎
全速向光2 小时前
JoiPlay 模拟器:在手机上畅玩你所热爱的独立游戏
游戏·智能手机
天人合一peng3 小时前
Unity标记固定颜色及投影标记
unity
云雨巫山6 小时前
Unity 游戏开发性能优化全景手册
unity·智能手机·性能优化·游戏引擎
maybeyaluokenai6 小时前
unity build in渲染管线概述
unity·图形渲染
云雨巫山7 小时前
Unity 性能优化 · 图解全景手册
unity·性能优化·游戏引擎
yangmu320321 小时前
《黎明行者之血》MOD整合包保姆级安装与使用指南
游戏·游戏程序
Madokaly1 天前
DOTween的Vector3Plugin
unity
Jgch221 天前
出海Facebook广告账户怎么选?
游戏·facebook
长脖鹿Johnny1 天前
游戏输入系统框架设计(三):网络输入权威与可验证性
网络·游戏·游戏开发·架构设计·输入系统·网络同步