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

2024-05-04 17:36

本文主要是介绍【UnityRPG游戏制作】Unity_RPG项目_相机和场景搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述


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

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

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

🅰️推荐专栏

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



文章目录

    • 前言
    • 🎶(==三==) 相机相关
    • (==1==)玩家跟随相机
    • (==2==)地图相机
    • (==3==)UI相机
    • 🎶(==四==) 场景搭建
      • (==1==) 主要组件介绍
      • (==2==) 主场景环境
      • (==3==) NPC添加
      • (==4==) 道具添加
      • (==5==)地形系统
    • 🅰️


前言

请添加图片描述


🎶( 相机相关



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 updatevoid Start(){player = GameObject.FindGameObjectWithTag("Player");}// Update is called once per framevoid 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#专题篇】—核心章题单实践练习


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


在这里插入图片描述


这篇关于【UnityRPG游戏制作】Unity_RPG项目_相机和场景搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/959737

相关文章

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

MyBatis-Plus 中 nested() 与 and() 方法详解(最佳实践场景)

《MyBatis-Plus中nested()与and()方法详解(最佳实践场景)》在MyBatis-Plus的条件构造器中,nested()和and()都是用于构建复杂查询条件的关键方法,但... 目录MyBATis-Plus 中nested()与and()方法详解一、核心区别对比二、方法详解1.and()

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

ModelMapper基本使用和常见场景示例详解

《ModelMapper基本使用和常见场景示例详解》ModelMapper是Java对象映射库,支持自动映射、自定义规则、集合转换及高级配置(如匹配策略、转换器),可集成SpringBoot,减少样板... 目录1. 添加依赖2. 基本用法示例:简单对象映射3. 自定义映射规则4. 集合映射5. 高级配置匹

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

python中Hash使用场景分析

《python中Hash使用场景分析》Python的hash()函数用于获取对象哈希值,常用于字典和集合,不可变类型可哈希,可变类型不可,常见算法包括除法、乘法、平方取中和随机数哈希,各有优缺点,需根... 目录python中的 Hash除法哈希算法乘法哈希算法平方取中法随机数哈希算法小结在Python中,

怎么用idea创建一个SpringBoot项目

《怎么用idea创建一个SpringBoot项目》本文介绍了在IDEA中创建SpringBoot项目的步骤,包括环境准备(JDK1.8+、Maven3.2.5+)、使用SpringInitializr... 目录如何在idea中创建一个SpringBoot项目环境准备1.1打开IDEA,点击New新建一个项

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.