unity学习笔记06

一、预制体

1.定义:

预制体是一种存储了一个或多个游戏对象及其组件的资产。可以将预制体视为游戏对象的模板,它包含了对象的所有属性、组件和初始状态。

2.创建预制体:

在Unity中,可以通过将一个或多个游戏对象拖动到项目窗口中来创建预制体,或者在项目窗口中右键单击并选择"Create" > "Prefab"

3.编辑预制体:

预制体可以在场景中直接编辑。编辑预制体时,场景中所有使用该预制体的实例都会相应地改变。这可以在一个地方的更改可以在整个项目中生效。

4.实例化预制体:

在脚本中,可以使用Instantiate 函数来实例化预制体,并将其放置到场景中。实例化预制体时,可以选择性地修改实例的属性和组件。

代码如下

public GameObject prefab; // 预制体引用

void Start()
{
    GameObject instance = Instantiate(prefab, new Vector3(0, 0, 0), Quaternion.identity);
}

代码分析:

Instantiate 用于在运行时创建对象的实例。第一个参数是要实例化的对象,这里是prefab,第二个参数是实例化的位置(new Vector3(0, 0, 0)表示位置在原点),第三个参数是实例化的旋转(Quaternion.identity表示无旋转)。

5.特点

预制体常用于创建重复出现的对象,如敌人、道具、UI元素等。它们还是一种可视化的方式,将对象的外观和行为捆绑在一起,使得整个项目更易于维护和管理。

二、unity中的地形功能

主要特点:

可视化编辑: Unity的地形编辑器提供了一个可视化的编辑环境,可以直观地编辑地形形状、高度、坡度等。

细节纹理: 可以在地形上添加多层细节纹理,用于模拟不同的地形材质,如草地、岩石等。

树木和植被: 地形系统支持在地形上绘制树木和植被,使得场景更加生动和自然。

雨、雪等效果: 可以通过地形系统添加雨、雪等效果,进一步增强场景的真实感。

地形分辨率: 支持灵活的地形分辨率设置,可以根据需求调整地形的精细度。

实时编辑和预览: 地形编辑是实时的,开发者可以在编辑时直接在场景中预览地形的变化。

创建方式,右键→3d→地形

功能举例:

1.创建相邻地形

点击高亮的相邻区域就会生产新的地形

2.绘制地形

可以有多个选择项

选择后可以绘制地形了。

3.绘制树

一开始是未定义的,是需要去添加的,然后选择需要树

添加成功后的效果如下

可以设置画笔大小,树密度,树高等属性。

4.绘制细节

介绍:指在地形上添加纹理、植被或细节物体的功能,通过绘制细节,可以实现地形表面的差异化,增加真实感和细节。

功能与属性:

混合纹理(Texture Splatmap) 允许在地形上绘制多个纹理层,以模拟不同地表类型。可以为每个纹理层指定相应的贴图,并控制它们在地形上的混合。

细节分辨率(Detail Resolution) 控制绘制纹理的分辨率,即地形上每个纹理单元的像素数。

绘制草地(Detail Prototypes) 允许在地形上绘制草地或其他细节物体。可以为每个细节原型指定相应的3D模型和贴图,并控制它们的密度和尺寸。

最大宽度/高度(Max Width/Height): 控制细节物体的最大宽度和高度,以确保它们在地形上看起来合适。

最大俯视距离(Maximum Detail Distance): 控制摄像机远离地形表面时,细节物体停止渲染的最大距离。、

最小/最大俯视角度(Minimum/Maximum Detail Angle): 控制细节物体渲染的最小和最大俯视角度范围。

选择后点击编辑细节→添加细节网络就可以去做相关设置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/225072.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

量子计算软件平台

目录 1.量子语言 2.量子软件开发工具 3.量子云计算平台 1.量子语言 量子语言是一种基于量子计算机的语言,用于描述和实现量子算法。与经典计算机语言不同,量子语言需要考虑量子力学的特殊规则和算法的量子化。其中,最常用的量子语言是量子程…

xxljob学习笔记01(小滴课堂)

分布式调度xxl-job源码部署和数据库建立: 在idea中打开安装包: 创建数据库: 建表: 在项目里: 在navicat里运行语句即可: 修改数据库地址和用户名,密码: 配置令牌,不然谁…

ESP32-Web-Server编程- JS 基础5

ESP32-Web-Server编程- JS 基础5 概述 JS 编程内容颇多,我们提供一些简单的示例,先玩再学,边玩边学。 示例1-演示通过 JS 进行温度转换 资源链接 对应示例的 code 链接 (点击直达代码仓库) 示例2-增加网页弹窗 演…

SSM跆拳道网站系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 SSM 跆拳道网站系统是一套完善的信息系统,结合springMVC框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模…

Mysql的二阶段提交

先看执行器与InnoDB引擎是如何更新一条指定的数据的 可以看到,InnoDB在写redo log时,并不是一次性写完的,而有两个阶段,Prepare与Commit阶段,这就是"两阶段提交"的含义。 为什么要写redo log,不…

springboot+vue实现websocket通信实例,进入页面建立连接

springbootvue实现websocket通信实例 进入页面建立连接 前端代码&#xff1a; <template><div class"app-container"><el-form :model"queryParams" ref"queryForm" size"small" :inline"true" v-show&qu…

将用户的session改为分布式共享session

将用户的session改为分布式session 分布式session理解 使用分布式session的原因&#xff1a; 后台服务器是分布式的&#xff08;比如要负载均衡&#xff09;&#xff0c;在A服务器请求的的信息&#xff08;如用户登录信息&#xff09;存在A的session中&#xff0c;B服务器并不…

记录一次如何查询mysql分库分表数据

一、前言 本次查询是在未知如何分库分表的情况下&#xff0c;对表数据进行查询&#xff0c;其中有的字段为JSON结构。需要提取JSON中某个字段的内容。 二、查询步骤 1、第一方式是将所有分表数据进行union all select * from apporder.ord_shopping_order union all sel…

记录本地与服务器之间数据传输方法(上传、下载文件)

文章目录 一、使用scp命令实现参数说明示例说明 二、使用工具实现windows系统苹果系统如有启发&#xff0c;可点赞收藏哟~ 一、使用scp命令实现 scp 是 secure copy &#xff08;安全复制&#xff09;的缩写, scp 是基于 ssh 登陆进行安全的远程文件拷贝命令。相当于 cp 命令 …

<Linux>(极简关键、省时省力)《Linux操作系统原理分析之Linux 进程管理 5》(9)

《Linux操作系统原理分析之Linux 进程管理 5》&#xff08;9&#xff09; 4 Linux 进程管理4.5 Linux 信号4.5.1 信号的作用和种类1.信号机制2.信号种类 4.5.2 信号的处理4.5.3 信号处理函数1&#xff0e;数据结构2&#xff0e; 处理函数 signal3&#xff0e;程序例 4 Linux 进…

Redis 两种持久化方式 AOF 和 RDB

目录 一、Redis 的持久化 二、Redis 的持久化方式 RDB RDB 介绍 RDB 的触发方式&#xff1a;. 三、RDB的文件生成策略 四、Save 和 Bgsave 命令的区别 六、RDB 最佳配置 七、触发机制-不容忽略方式 AOF 一、AOF介绍 二、RDB所存在的问题 三、AOF 三种策略 四、AOF…

SSM卫生信息管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 SSM 卫生信息管理系统是一套完善的信息系统&#xff0c;结合springMVC框架完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模…