【UnityRPG游戏制作】Unity_RPG项目_相机和场景搭建

在这里插入图片描述


👨‍💻个人主页@元宇宙-秩沅

👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

👨‍💻 本文由 秩沅 原创
👨‍💻 收录于专栏就业宝典

🅰️推荐专栏

⭐-软件设计师高频考点大全




前言

请添加图片描述


🎶( 相机相关



1玩家跟随相机


using System.Collections;
using System.Collections.Generic;
using UnityEngine;

//-------------------------------
//-------功能:  移动相机管理
//-------创建者:         -------
//------------------------------

public class CamareController : MonoBehaviour
{
    public GameObject player;
    private Vector3 distance = new Vector3(1, 4, -6);
  


    void LateUpdate()
    {
        if (player == null)
        {
            player = GameObject.FindGameObjectWithTag("Player");
        }
        if (player != null)
        {
            transform.position = Vector3.Lerp(transform.position, player.transform.position + distance, 5 * Time.deltaTime);
            transform.LookAt(player.transform.position);
        }

    }
}


2地图相机


在这里插入图片描述

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

//-------------------------------
//-------功能:  地图相机
//-------创建者:         -------
//------------------------------

public class MapCameraConotrller : MonoBehaviour
{
    public GameObject player;
    // Start is called before the first frame update
    void Start()
    {
        player = GameObject.FindGameObjectWithTag("Player");
    }

    // Update is called once per frame
    void Update()
    {
        if (player == null)
        {
            player = GameObject.FindGameObjectWithTag("Player");
        }
        transform.position = new Vector3(player.transform.position.x, 20f, player.transform.position.z);
    }
}


3UI相机


在这里插入图片描述


🎶( 场景搭建



1 主要组件介绍


  • LOD Group组件
    在这里插入图片描述

在Unity中,LOD(Level of Detail,细节级别)Group 是一种用于优化游戏性能的功能。它允许开发者为不同的距离设置不同细节级别的物体模型。这样,在游戏中,当玩家靠近一个物体时,更高细节级别的模型会被加载和显示;而当玩家远离物体时,低细节级别的模型会被加载和显示。通过使用LOD Group,开发者可以在保持游戏画面质量的同时,减少游戏的渲染负荷,提高游戏性能。


  • BoxCollider组件

在这里插入图片描述

在Unity中,BoxCollider组件是用来定义一个物体的盒状碰撞体的组件。盒状碰撞体是一个基于矩形的简单碰撞体,用于检测物体之间的碰撞。BoxCollider组件可以附加在3D物体上,并为物体提供碰撞检测和物理交互的功能。


  • Mesh Collider组件

在这里插入图片描述

在Unity中,MeshCollider组件是一个用于定义碰撞体形状的组件,它基于游戏对象的网格(Mesh)来创建碰撞体。与其他简单的碰撞体组件(如BoxCollider、SphereCollider)不同,MeshCollider允许你使用游戏对象的复杂形状作为碰撞体。

  • Terrain组件
    在这里插入图片描述

Terrain组件是Unity引擎中的一个用于创建和编辑地形的组件。它提供了一个可视化的界面,允许开发者在3D场景中创建山脉、丘陵、平原等各种地形特征。

Terrain组件可以用于游戏中的实时地形生成、地形细节绘制、植被和纹理绘制、碰撞检测等功能。通过调整Terrain组件的参数,开发者可以控制地形的高度、坡度、细节密度、纹理贴图等特性,从而实现灵活的地形设计。

Terrain组件还可以与其他Unity组件进行交互,例如摄像机、光照、物理模拟等,使得地形与环境、角色之间的交互更加逼真。

除了通过编辑器界面来创建地形,开发

  • Audio Source组件
    在这里插入图片描述

Audio Source组件是Unity引擎中用于播放声音的组件。它可以将音频文件附加到游戏对象上,通过调整参数控制音频的播放、音量、循环等属性。

通过将Audio Source组件添加到游戏对象上,开发者可以为游戏添加背景音乐、音效、对话等声音效果。

Audio Source组件的主要属性包括:

  • AudioClip:音频文件,可以是.wav、.mp3等格式的音频文件。
  • Volume:音量大小,可以通过调整值来控制声音的音量。
  • Pitch:音调,可以改变音频的音高。
  • Loop:是否循环播放音频。
  • Spatial Blend:音频的空间混合,控制声音在3D空间中的立体声效果。
  • Play On Awake:是否在游戏对象被创建时自动播放音频。

除了基本的属性,Audio Source组件还提供了一些方法和事件,用于控制音频的播放、暂停、停止等操作。开发者可以通过脚本来调用这些方法和事件,实现特定的音频控制逻辑。

总的来说,Audio Source组件是Unity引擎中一个非常重要的组件,它使得游戏开发者可以方便地添加和控制各种声音效果,为游戏增加更丰富的音频体验。


  • Animator组件
    在这里插入图片描述

Animator组件是Unity引擎中用于控制角色或物体动画的组件。它是Unity的一种有限状态机(Finite State Machine)系统,可以通过设置不同的动画状态和过渡条件来实现角色的动态变化和动画播放。

Animator组件通过关联Animator Controller(动画控制器)来控制动画的播放。Animator Controller是一个可视化的编辑器,可以在其中设置不同的动画状态和过渡条件,以及与之关联的动画


2 主场景环境


  • Bridge(桥)——主要组件为LOD Group和BoxCollider组件

——————在这里插入图片描述

  • WaterPlane(地面)——主要材质为水面波纹材质

在这里插入图片描述

—-——————————在这里插入图片描述

  • Terrain(地形)——主要组件为Terrain组件和Terrain Collider

在这里插入图片描述

  • 地形中主要物体如下,都为笔刷绘制上去的物体

在这里插入图片描述


  • Wallcolliders(墙壁阻挡)——主要作用为限制行动圈,主要组件为BoxCollider

在这里插入图片描述

  • fence (围栏)——主要组件为MeshCollider

在这里插入图片描述

  • Boom_Mushroom(爆炸蘑菇)——主要组件为partical System(粒子系统)
    在这里插入图片描述
    ——————————在这里插入图片描述

3 NPC添加


  • 敵人添加
    在这里插入图片描述

  • 小怪

  • BOSS
    在这里插入图片描述

  • 交互NPC添加
    在这里插入图片描述


4 道具添加


  • 钥匙
    在这里插入图片描述

  • 武器
    在这里插入图片描述在这里插入图片描述

  • 钥匙
    在这里插入图片描述

  • 血瓶

在这里插入图片描述


5地形系统


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

🅰️


【Unityc#专题篇】之c#进阶篇】

【Unityc#专题篇】之c#核心篇】

【Unityc#专题篇】之c#基础篇】

【Unity-c#专题篇】之c#入门篇】

【Unityc#专题篇】—进阶章题单实践练习

【Unityc#专题篇】—基础章题单实践练习

【Unityc#专题篇】—核心章题单实践练习


你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!


在这里插入图片描述


最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-04 19:34:01       91 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-04 19:34:01       97 阅读
  3. 在Django里面运行非项目文件

    2024-05-04 19:34:01       78 阅读
  4. Python语言-面向对象

    2024-05-04 19:34:01       88 阅读

热门阅读

  1. Spring MVC系列之异步请求

    2024-05-04 19:34:01       24 阅读
  2. 关于作者

    2024-05-04 19:34:01       43 阅读
  3. 商业银行终端安全管理创新与实践

    2024-05-04 19:34:01       32 阅读
  4. Service Mesh 是什么?

    2024-05-04 19:34:01       33 阅读
  5. MYSQL从入门到精通(一)

    2024-05-04 19:34:01       32 阅读
  6. 2024系统架构师---测试用例效用树的核心概念

    2024-05-04 19:34:01       38 阅读
  7. TIPS:MySQL按给定时间间隔分组统计

    2024-05-04 19:34:01       35 阅读
  8. python爬虫基础知识

    2024-05-04 19:34:01       37 阅读
  9. mysql binlog入门

    2024-05-04 19:34:01       28 阅读