unity学习之第一人称视角

这篇博客介绍了如何在Unity中实现第一人称视角的角色控制器。通过添加Character Controller组件来处理角色移动和碰撞交互,避免穿墙问题。同时,为确保平滑移动,禁用了Rigidbody的重力模拟并设为Is Kinematic。为了实现摄像头跟随,通过脚本控制摄像头旋转和位置,使主角能随鼠标旋转并保持在屏幕中央,最终实现自由移动的效果。
摘要由CSDN通过智能技术生成

首先创建一个空的游戏体,在给游戏体挂上 Character Controller 组件,为主角添加一个角色控制器组件,这个组件可以实现控制主角移动的同时与场景的碰撞产生交互,不如不会跑到墙里去。

在添加 Rigidbody 组件,同样要取消重力模拟,并选中 Is Kinematic 复选框使其不受物理演算影响,这样才能移动

还有就是摄像机问题:
需要让摄像机伴随主角移动
添加脚本代码如下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 主角组件
/// </summary>
public class Player : MonoBehaviour {
   

    public Transform m_transform;
  
    CharacterController m_ch;        // 角色控制器组件    
    float m_movSpeed = 8.0f;         // 角色移动速度   
    float m_gravity = 10.0f;          // 重力   
    public int m_life = 5;           // 生命  
    Transform m_camTransform;        // 摄像机 Transform  
    Vector3 m_camRot;                // 摄像机旋转角度   
    float m_camHeight = 4.5f;        // 摄像机高度(即表示主角高度)

  // Use this for initialization
    void Start () {
   
        m_transform = this.transform;        
        m_ch 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值