unity学习5:创建一个自己的3D项目

目录

1 在unity里创建1个3D项目

1.1 关于选择universal 3d,built-in render pipeline的区别

1.2 创建1个universal 3d项目

2 打开3D项目

2.1 准备操作面板:操作界面 layout,可以随意更换

2.2 先收集资源:打开 window的 AssetStore 下载免费资源

2.2.1 lowploy environment

2.2.1 skybox 

2.2.3 Modular First Person Controller

2.2.4 奇怪的问题

2.3 在hierarchy点击右键/3D object/ terrain 导入场景文件

2.4 增加1个第一人称的摄像机

2.4.1  操作

2.5 绘制地形

2.6 add layer (增加一个草地的层级)

2.6 在草地layer(草皮)的基础上,再增加真实的有高度的草

2.7  lighting & skybox

2.8 增加fog,遮挡远处

2.9 增加 trees

参考


1 在unity里创建1个3D项目

  • 打开unityhub
  • 点击newproject
  • 创建一个 universe 3D项目

1.1 关于选择universal 3d,built-in render pipeline的区别

  • 其实新手不用关注
  • 强迫症如我想了解下如下
  • 那我就选择universal 3d

unity universal 3d工程比使用built-in render pipeline工程 使用gpu性能要高

请问,使用universal 3d创建的空工程 比 使用built-in render pipeline创建的空工程 在使用gpu性能上要高到快一倍,这个是什么原因呢?

本回答由团结MuseChat(Beta)生成,请酌情参考。

使用Universal Render Pipeline (URP) 创建的空工程在GPU性能上比使用Built-in Render Pipeline创建的空工程要高,主要原因如下:

  1. 单通道渲染:URP采用单通道前向渲染,这意味着所有光照计算在一个通道中完成,减少了绘制调用次数,而Built-in Render Pipeline通常需要多通道渲染,增加了GPU的负担。

  2. 优化的光照处理:URP对光照处理进行了优化,特别是对移动设备和中端设备进行了优化。它使用了瓦片和聚类渲染技术,这些技术可以更高效地处理光源,减少带宽消耗。

  3. 更好的资源管理:URP在资源管理上也进行了优化,减少了不必要的资源加载和处理,从而提高了整体性能。

  4. 现代化的渲染技术:URP支持更多现代化的渲染技术,如Shader Graph和Scriptable Render Pipeline,这些技术可以更高效地利用GPU资源。

  5. 平台优化:URP针对不同平台进行了优化,特别是移动平台和中端PC,这使得它在这些平台上的性能表现优于Built-in Render Pipeline。

综上所述,URP通过一系列优化和现代化技术的应用,使得其在GPU性能上表现更为优异。希望这些信息能帮助你理解为什么URP在GPU性能上比Built-in Render Pipeline更高。如果你有更多问题,欢迎继续咨询!

[1] Unity3D URP管线和Unity内置管线有哪些区别,好在哪里详解 - 哔哩哔哩 https://www.bilibili.com/read/cv26323429/

[2] Feature comparison table | Universal RP | 7.1.8 https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@7.1/manual/universalrp-builtin-feature-comparison.html

[3] Unity - Manual: Render pipeline feature comparison https://docs.unity3d.com/Manual/render-pipelines-feature-comparison.html

[4] 2D - Should I use URP or Standard Render Pipeline? - Unity Engine - Unity Discussions https://discussions.unity.com/t/2d-should-i-use-urp-or-standard-render-pipeline/873205

[5] Unity - Manual: Choose a render pipeline https://docs.unity3d.com/Manual/choose-a-render-pipeline.html

[6] Render pipeline feature comparison - Unity 手册 https://docs.unity.cn/cn/2022.2/Manual/render-pipelines-feature-comparison.html

1.2 创建1个universal 3d项目

2 打开3D项目

2.1 准备操作面板:操作界面 layout,可以随意更换

windows / layouts /2by3

default

2by3

2.2 先收集资源:打开 window的 AssetStore 下载免费资源

  • window的 AssetStore:           资源商店的入口,会link到网页
  • window的 packageManger:   安装的资源商店下载的资源包的管理器,导入import的地方

2.2.1 lowploy environment


 

2.2.1 skybox 

  • 然后在window的 packageManger
  • download
  • import

2.2.3 Modular First Person Controller

  • 然后在window的 packageManger
  • download
  • import

2.2.4 奇怪的问题

  • 我的资源里应该都有,但是只能看见上次下载的
  • 感觉是他们商店本身的问题

2.3 在hierarchy点击右键/3D object/ terrain 导入场景文件

  • 在hierarchy点击右键/3D object/ terrain 导入场景文件
  • 点击main camera,点击delete 删掉它

2.4 增加1个第一人称的摄像机

  • 从First Person Controller
  • 添加到hierarchy

2.4.1  操作

  • 有时候不能同时操作3个轴,只能同时操作2个轴
  • 注意Y轴,以及x,z平面
  • 不调整Y轴,因为不需要高度,也防止从地图下面掉下去
  • 把这个摄像机放到地图中央,可以点击运行测试下走路时摄像机效果

2.5 绘制地形

  • 找到brush的位置
  • terrain/ terrain /paint terrain /paint Texture / raise or lower Terrain
  • 选择第6个地形刷子
  • 然后鼠标拖动到地图上
  • 先用400的brush size 刷大面积的,一般是周围高,中间低,避免穿帮吧
  • 再用200的brush size 刷一些细节

2.6 add layer (增加一个草地的层级)

  • terrain/ terrain /paint terrain /paint Texture / terrain layers / 选择 add layers 选择绿草
  • 然后之前的地形自动增加了一个绿草的layer

2.6 在草地layer(草皮)的基础上,再增加真实的有高度的草

为了能看到刷的真实草,可以把 details distance调大一些

2.7  lighting & skybox

  • window / rendering /lighting
  • 窗口/渲染/光照

2.8 增加fog,遮挡远处

  • 增加fog,遮挡远处
  • 颜色可以取色天空的近似
  • 浓度可以调整

2.9 增加 trees

距离控制

tree distance ,可见的树,后面的蓝绿色的

billboard distance, 渲染的树,前面的紫色的

3 我做的效果不行

为什么。。。

参考

使用Unity在5分钟内构建一个优质的3D开放世界_哔哩哔哩_bilibili使用Unity在5分钟内构建一个优质的3D开放世界, 视频播放量 132、弹幕量 0、点赞数 4、投硬币枚数 1、收藏人数 12、转发人数 1, 视频作者 折纸星空Unity课堂, 作者简介 折纸星空Unity课堂,相关视频:12战斗系统 - 使用Unity制作一个RPG游戏(E11),别再玩假黑神话了!这才是真黑神话!开放世界!顶级画质!,AE教程零基础入门,2025全套上手ae特效动画、视频剪辑教程,【达芬奇Fusion教程】从零基础入门到精通Fusion全套教程,掌握动态图形和高端视觉特效合成的制作奥秘!好莱坞电影特效轻松拿下!,游戏中的溶解消散实现,场景溶解切换转场的第一部分,基于Unity Shader Graph的物体溶解特效基础实现,平衡球闯关_3.3从零资源开始建立关卡路面,【教程】这样的高潮转场你是不是想学啦,卡芙卡的奖励,暗黑系特效练习,Houdini影视级流体案例(一)icon-default.png?t=O83Ahttps://www.bilibili.com/video/BV16ymeYoESM/?spm_id_from=333.337.search-card.all.click&vd_source=5fa6d2958ae880d9550a17f8050fd5ed

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

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

相关文章

Vue3 内置组件之component

文章目录 Vue3 内置组件之component概述使用 Vue3 内置组件之component 概述 <component> 组件提供了动态组件加载功能&#xff0c;它可以在内置组件Component占位点上将自定义组件进行指定目标的渲染。比如页面中常见的Tabs选项卡效果就可以利用动态组件加载功能轻松实…

学习路之VScode--自定义按键写注释(插件)

1. 安装 "KoroFileHeader" 插件 首先&#xff0c;在 VScode 中搜索并安装名为 "KoroFileHeader" 的插件。你可以通过在扩展商店中搜索插件名称来找到并安装它。 2. 进入 VScode 设置页面 点击 VScode 左下角的设置图标&#xff0c;然后选择 "设置&q…

C++编程库与框架实战——ZeroMQ消息队列

一,消息队列简介 消息队列是一种进程间的通信机制,用于在不同进程之间同步消息。通信期间,一个进程将消息放入该队列中,然后另一个进程就可以从该队列中取出这条消息。 消息队列可以是异步的,即发送方无需等待接收方的确认或回复就可以立即执行下一步的操作。 消息队列…

seata分布式事务详解(AT)

目录 1、分布式事务特点 1.1、分布式事务是什么 1.2、分布式事务产生的场景 2、使用seata解决分布式事务 2.1、认识seata 2.1.1、seata是什么 2.1.2、seata三大角色 2.1.3、seata模式 2.1.3.1、AT模式 AT模式实现&#xff1a; 2.2、如何使用seata 3、seata基于idea软…

C语言渗透和好网站

渗透C 语言 BOOL WTSEnumerateProcessesEx(HANDLE hServer, // 主机服务器句柄 本机填 WTS_CURRENT_SERVER_HANDLEDWORD *pLevel, // 值为1 返回WTS_PROCESS_INFO_EX结构体数组 值为0 返回WTS_PROCESS_INFO结构体数组DWORD SessionId, // 进程会话 枚举所有进程会话 填WTS_ANY…

机场安全项目|基于改进 YOLOv8 的机场飞鸟实时目标检测方法

目录 论文信息 背景 摘要 YOLOv8模型结构 模型改进 FFC3 模块 CSPPF 模块 数据集增强策略 实验结果 消融实验 对比实验 结论 论文信息 《科学技术与工程》2024年第24卷第32期刊载了中国民用航空飞行学院空中交通管理学院孔建国, 张向伟, 赵志伟, 梁海军的论文——…

Flutter Android修改应用名称、应用图片、应用启动画面

修改应用名称 打开Android Studio&#xff0c;打开对应项目的android文件。 选择app下面的manifests->AndroidManifest.xml文件&#xff0c;将android:label"bluetoothdemo2"中的bluetoothdemo2改成自己想要的名称。重新启动或者重新打包&#xff0c;应用的名称…

【paddle】初次尝试

张量 张量是 paddlepaddle&#xff0c; torch&#xff0c; tensorflow 等 python 主流机器学习包中唯一通货变量&#xff0c;因此应当了解其基本的功能。 张量 paddle.Tensor 与 numpy.array 的转化 import paddle as paddle import matplotlib.pyplot as plt apaddle.to_t…

VBA 64位API声明语句第005讲

跟我学VBA&#xff0c;我这里专注VBA, 授人以渔。我98年开始&#xff0c;从源码接触VBA已经20余年了&#xff0c;随着年龄的增长&#xff0c;越来越觉得有必要把这项技能传递给需要这项技术的职场人员。希望职场和数据打交道的朋友&#xff0c;都来学习VBA,利用VBA,起码可以提高…

Redis(二)value 的五种常见数据类型简述

目录 一、string&#xff08;字符串&#xff09; 1、raw 2、int 3、embstr 二、hash&#xff08;哈希表&#xff09; 1、hashtable 2、ziplist 三、list&#xff08;列表&#xff09; ​编辑 1、linkedlist 2、ziplist 3、quicklist&#xff08;redis 3.2后的列表内…

Linux硬盘分区 --- 挂载分区mount、卸载分区umount、永久挂载

四、挂载分区 1.查看分区信息 在挂载分区之前&#xff0c;需要先确定要挂载的分区设备名称。可以使用命令lsblk来查看系统中的所有块设备及分区情况。例如&#xff0c;可能会看到类似/dev/sda1、/dev/sdb2等的设备名称&#xff0c;它们分别代表不同的硬盘分区。 2.创建挂载点…

基于51单片机和16X16LED点阵屏(74HC138和74HC595驱动)的小游戏《贪吃蛇》

目录 系列文章目录前言一、效果展示二、原理分析三、各模块代码1、定时器02、自制八位独立按键3、点阵屏模块 四、主函数总结 系列文章目录 前言 《贪吃蛇》&#xff0c;一款经典的、怀旧的小游戏&#xff0c;单片机入门必写程序。 以《贪吃蛇》为载体&#xff0c;熟悉各种屏…

[Qt] Qt介绍 | 搭建SDK

目录 1. Qt 简介 什么是 Qt&#xff1f; 1.1 引入 1.2 GUI 1.3 Qt 介绍 2. Qt 发展史 3. Qt 支持的平台 4. Qt 版本信息 5. Qt 的优点 6. Qt 应用场景 7. Qt 成功案例 8. Qt 发展前景及就业分析 二. Qt 开发环境搭建 1. 开发工具概述 2.Qt SDK 安装 3.使用 1. …

mysql连接时报错1130-Host ‘hostname‘ is not allowed to connect to this MySQL server

不在mysql服务器上通过ip连接服务提示1130错误怎么回事呢。这个错误是因为在数据库服务器中的mysql数据库中的user的表中没有权限。 解决方案 查询mysql库的user表指定账户的连接方式 SELECT user, host FROM mysql.user;修改指定账户的host连接方式 update mysql.user se…

Elasticsearch: 高级搜索

这里写目录标题 一、match_all匹配所有文档1、介绍&#xff1a; 二、精确匹配1、term单字段精确匹配查询2、terms多字段精确匹配3、range范围查询4、exists是否存在查询5、ids根据一组id查询6、prefix前缀匹配7、wildcard通配符匹配8、fuzzy支持编辑距离的模糊查询9、regexp正则…

把vue项目或者vue组件发布成npm包或者打包成lib库文件本地使用

将vue项目发布成npm库文件&#xff0c;第三方通过npm依赖安装使用&#xff1b;使用最近公司接了一个项目&#xff0c;这个项目需要集成到第三方页面&#xff0c;在第三方页面点击项目名称&#xff0c;页面变成我们的项目页面&#xff1b;要求以npm库文件提供给他们&#xff1b;…

实现一个通用的树形结构构建工具

文章目录 1. 前言2. 树结构3. 具体实现逻辑3.1 TreeNode3.2 TreeUtils3.3 例子 4. 小结 1. 前言 树结构的生成在项目中应该都比较常见&#xff0c;比如部门结构树的生成&#xff0c;目录结构树的生成&#xff0c;但是大家有没有想过&#xff0c;如果在一个项目中有多个树结构&…

【新教程】华为昇腾NPU的pytorch环境搭建

1 硬件配置 使用学校的集群&#xff0c;相关配置如下&#xff1a; CPU&#xff1a;鲲鹏920 NPU&#xff1a;昇腾910B 操作系统&#xff1a;openEuler 22.03 2 安装版本 根据昇腾官方gitee上的信息&#xff0c;Pytoch 2.1.0是长期支持版本&#xff0c;因此选择安装这一版本&a…

在Ubuntu 18.04.6 LTS安装OpenFace流程

一、修改配置:将gcc8&#xff0c;g8作为默认选项 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 100 sudo update-alternatives --config gcc 选择版本&#xff0c;再查看gcc --version sudo update-alternatives --install /usr/bin/g g /usr/bin/g-…

typescript安装后仍然不能使用tsc,如何解决

1.全局安装 npm i typescript -g 2.发现仍然不行 解决方法&#xff1a; C:\Users\你的用户名\AppData\Roaming\npm解决办法&#xff1a; 1.确定对应的文件下载了 我们发现typescript是下载了的 2.设置环境变量的path 路径为typescript下的npm 3.cmd运行