【Unity3D游戏开发学习笔记】(三)移山倒海—Terrain的建造

2024-03-11 01:40

本文主要是介绍【Unity3D游戏开发学习笔记】(三)移山倒海—Terrain的建造,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

下面我们就来学习一下如何创建一个场景,首先先放上两个图看看我们的最后的成果(= =请不要吐槽,没有美工,只能用系统自带的资源包和楼主那搓比的技术做了(:з」∠)

这里写图片描述

这里写图片描述

好了,话不多说,我们马上进入正题。

一、GameObject和Component

首先,我们要创建一个场景的时候,我们要明白这个场景里面都有些什么元素。其实,我认为一个场景最主要的组成,分为以下三大部分:

  • 摄像机(用于屏幕投影和观察,相当于你的另一个眼睛)
  • 环境(包括地形,天空,人物等,没有了环境,你的场景也就是一片虚无)
  • 主角行为(包括碰撞触发,敌人的动作等等,没有了这个部分,你所构建的只是一个画面,而不是一个场景)

然后我们可以注意到,在上面的三个部分里面,其中摄像机和环境都是可见的物体,我们可以在Scene面板当中来设定和摆放,这类的物体,我们称之为GameObject,而主角行为一项,是在游戏当中进行体现的,我们把这些属于物体的属性称之为Component。一般来说,在Hierarchy面板里面出现的,都是GameObject,在Inspector里面出现的,都是Component。
游戏中的每个对象都是一个游戏对象。然而,游戏对象自己不做任何事。他们需要专有属性,才可以成为一个角色,一个环境,或一个特殊效果。游戏对象是一种容器。它们是空盒,根据你要创建的对象性质,添加不同的组件组合到游戏对象中。

二、Terrain的建立

在明白了GameObject和Component的概念之后,我们就可以着手第一个场景的建造了!(是不是有点造物者的感觉!是不是很激动! →_→并不!!)
首先,我们点击工具栏的File,创建一个NewScene,创建完了之后我们可以看到,整个画面只有一片灰和一小部分蓝天。现在我们在Hierarchy面板中右键,在3DObject中选择Terrain,选择完了之后我们就可以看到画面里面出现了一个白板,这个就是我们的地形了!(教练!和说好的不一样!)
别急,这个只是我们的一个底子,在上面我们可以像画画一样的把我们自己想要的地形给画出来,现在我们选中Terrain这个Object,然后看到Inspector面板有以下这些小玩意:

这里写图片描述

为了方便叙述,我在各个小工具下面标了号。
(1)这里写图片描述代表的是山峰,我们选中它,然后再在Scene场景中进行绘画的时候,就会出现一个个隆起的山脉,其中Brush属性代表的是你画出来的山脉的形状,BrushSize代表的是你画笔的大小,Opacity则是敏感程度(这个怎么说呢,如果你把它调成了100,那么你轻轻一点,它就会有一个突破天际的山脉出现,如果你调成了0,则你要点老半天它才出现小突起),另外,按着shift键再进行绘画,则是磨平之前画的山峰。
(2)这里写图片描述代表的是画一个有上限高度的山峰,其属性值里面Height一项限定了你的高峰的最大高度,一旦达到这个高度,它会自动帮你把山顶磨平,这个可以用来绘画高原地带,可以看看下图的效果
这里写图片描述

(3)这里写图片描述代表的是柔和化山峰轮廓,可以用于一些延绵山脉的绘制

(4)这里写图片描述 绘纹理,如果一个地形一直是上面那样白茫茫的一片,估计谁看了都想吐,这个工具可以在你的地形表面进行纹理绘制。在EditTextures里面选择自己想要的纹理就可以,我在这里稍微添加了一个岩石效果的纹理
这里写图片描述
这里有一点要注意的是:在你一开始没有纹理的情况下,你添加的第一个纹理,它会默认是整个地形的主纹理,会把整个地形给自动绘上。之后你再往上面添加自己的一些别的纹理效果比如草地等

(5)这里写图片描述 这个是种植图标,只要是你想在地形上面放东西,使用这个图标,添加好你所要摆放的物体,即可想种树一样往上面种!方便吧!
(6)这里写图片描述细节绘制,如果说第四个是整体快速的纹理绘制的话,那么这个相当于是精雕细琢的描绘了

三、Skybox的设置

现在我们地形已经建造好了,但是总觉得少了点什么,对,就是天空,那么我们应该怎么改变天空的表现呢?这里我们使用Skybox来设置,Skybox有两种设置方式:

  1. 直接在摄像机上面添加Skybox组件这里写图片描述这种方式,只能在当前摄像机内能看到,如果说当前摄像机禁用了,这个Skybox就无效了
  2. 在Window栏里面点击lighting,在Scene选项卡里面选择Skybox,这样设置的Skybox就是正个场景都能看见(Unity4.x版本的应该是在Edit->RenderSetting里面)
    这里写图片描述

四、资源的导入

其实进行到这一步,我们的场景搭建的也是差不多了,除了还没有人物行为之外(这个我们之后再进行进一步的学习),不过相信很多同学都意识到了,这个场景,很单调,对的,因为我们还没有资源的导入。
我们在Project面板里面右键,Import Package->Custom Package,选择你要导入的资源包即可。(关于资源包的导入可能会遇到不能导入的问题,详情参考一下 关于Unity Package无法导入的问题)同时我们可以访问官方的Asset Store来获取更多资源。这里可以先导入Unity3D自带的一个First Person Controller来欣赏自己建造的场景。具体路径如下:
$Unity(安装目录)\Editor\Standard Packages

现在大家一起到自己的世界里面尽情观赏吧!

这篇关于【Unity3D游戏开发学习笔记】(三)移山倒海—Terrain的建造的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/nizihabi/article/details/48804587
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/796196

相关文章

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

Python38个游戏开发库整理汇总

《Python38个游戏开发库整理汇总》文章介绍了多种Python游戏开发库,涵盖2D/3D游戏开发、多人游戏框架及视觉小说引擎,适合不同需求的开发者入门,强调跨平台支持与易用性,并鼓励读者交流反馈以... 目录PyGameCocos2dPySoyPyOgrepygletPanda3DBlenderFife

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

PyQt5 GUI 开发的基础知识

《PyQt5GUI开发的基础知识》Qt是一个跨平台的C++图形用户界面开发框架,支持GUI和非GUI程序开发,本文介绍了使用PyQt5进行界面开发的基础知识,包括创建简单窗口、常用控件、窗口属性设... 目录简介第一个PyQt程序最常用的三个功能模块控件QPushButton(按钮)控件QLable(纯文本

游戏闪退弹窗提示找不到storm.dll文件怎么办? Stormdll文件损坏修复技巧

《游戏闪退弹窗提示找不到storm.dll文件怎么办?Stormdll文件损坏修复技巧》DLL文件丢失或损坏会导致软件无法正常运行,例如我们在电脑上运行软件或游戏时会得到以下提示:storm.dll... 很多玩家在打开游戏时,突然弹出“找不到storm.dll文件”的提示框,随后游戏直接闪退,这通常是由于

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF