【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的建造的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

C#图表开发之Chart详解

《C#图表开发之Chart详解》C#中的Chart控件用于开发图表功能,具有Series和ChartArea两个重要属性,Series属性是SeriesCollection类型,包含多个Series对... 目录OverviChina编程ewSeries类总结OverviewC#中,开发图表功能的控件是Char

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

Python开发围棋游戏的实例代码(实现全部功能)

《Python开发围棋游戏的实例代码(实现全部功能)》围棋是一种古老而复杂的策略棋类游戏,起源于中国,已有超过2500年的历史,本文介绍了如何用Python开发一个简单的围棋游戏,实例代码涵盖了游戏的... 目录1. 围棋游戏概述1.1 游戏规则1.2 游戏设计思路2. 环境准备3. 创建棋盘3.1 棋盘类

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template