【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

相关文章

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

SpringBoot应用中出现的Full GC问题的场景与解决

《SpringBoot应用中出现的FullGC问题的场景与解决》这篇文章主要为大家详细介绍了SpringBoot应用中出现的FullGC问题的场景与解决方法,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录Full GC的原理与触发条件原理触发条件对Spring Boot应用的影响示例代码优化建议结论F

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

SpringBoot条件注解核心作用与使用场景详解

《SpringBoot条件注解核心作用与使用场景详解》SpringBoot的条件注解为开发者提供了强大的动态配置能力,理解其原理和适用场景是构建灵活、可扩展应用的关键,本文将系统梳理所有常用的条件注... 目录引言一、条件注解的核心机制二、SpringBoot内置条件注解详解1、@ConditionalOn

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.