Unity基础(三)3D场景搭建

目录

简介:

一.下载新手资源

二.创建基本地形

三.添加场景细节

四,添加水

五,其他

六. 总结



简介:

在 Unity 中进行 3D 场景搭建是创建富有立体感和真实感的虚拟环境的关键步骤。

首先,需要导入各种 3D 模型资源,如建筑物、角色、道具等。这些模型可以通过外部软件创建或从资源库中获取。

然后,可以利用 Unity 的场景编辑工具来放置和调整这些模型的位置、旋转和缩放,以构建出符合需求的场景布局。

灯光的设置在场景搭建中也非常重要。不同类型的灯光,如点光源、平行光等,可以营造出不同的氛围和光影效果。

材质的赋予则能让模型表面呈现出各种外观特性,如颜色、纹理、光泽度等。

地形工具可以创建起伏的地面、山脉等自然元素,进一步丰富场景的多样性。

还可以添加天空盒来模拟天空和周围环境。

在搭建过程中,需要考虑场景的整体协调性、美观性以及功能性,为后续的游戏玩法或其他交互内容提供一个吸引人的基础环境。

通过这些操作,开发者能够逐步构建出一个生动、逼真的 3D 场景,为用户带来沉浸式的体验。

一.下载新手资源

        选择窗口->资源商店

点击按钮,打开unity资源商店网站,搜索(Starter Assets - Third Person Character Controller)

 之后会弹出这个页面

点击导入,然后在点击新页面的导入即可导入资源.

二.创建基本地形

         在层级面板右键,然后移动到3D对象->地形,左键点击,即可创建出地形.

在场景页面移动,按住鼠标右键,输入wasd移动,shift和鼠标滑动可以加速,qe控制上下.

 

 从项目面板选择红框内的对象,移动鼠标到物体上,按住左键,拉到场景内松开鼠标即可.

点击PlayerFollowCamera对象,在细节面板,把红框内的物体替换成,PlayerArmature下的PlayerCameraRoot.点击运行按钮就可以控制人物在我们新建的场景里运动了.(如果机器人成粉红色,是应为材质问题,可以先不管,也可先把场景升级为urp,或者把机器人身上的材质shader换成Standard)

三.添加场景细节

        在层级面板选择地形物体.

      当前选中的为添加邻居地形,以扩展地形大小,在场景里面地形附近的显示框中,点击鼠标左键即可创建相邻地形.

 第二个为绘制地形,可以选择第一个,鼠标点击升高(按住shift降低),第二个绘制洞,第三个绘制地形纹理,第四个为控制高度的等等.

 绘制树

 点击编辑树,添加,然后选中树的预制体,鼠标在场景里的地形上,按住左键移动,即可刷新出树,

 草细节面板,选择编辑细节,添加草纹理,之后方法与树相同.

 最后一个为地形的设置,在这里面设置地形大小.

四,添加水

 找到水的预制体,直接拖进去即可.

五,其他

 因为我的版本比较新,标准资源已经弃用了,我以前放进资源过所以还能用.大家也可以在资源商店下载其他的水.

最后,大家可以搭建喜欢的场景了,把其余按钮都点击点击,用用,会有意想不到的收获.

六. 总结

  • 涉及导入多种 3D 模型资源以充实场景。
  • 借助场景编辑工具精确安排模型的位置、旋转与缩放。
  • 灯光设置至关重要,如点光源、平行光等可营造氛围和光影效果。
  • 通过赋予材质让模型展现不同外观特性。
  • 地形工具可创建起伏地形等自然元素。
  • 加入天空盒来模拟整体环境。
  • 强调在搭建过程中注重协调性、美观性与功能性。
  • 旨在构建出生动、逼真且富有吸引力的 3D 场景,为用户带来沉浸式体验,同时为后续的交互等活动提供良好基础。

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

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

相关文章

181.二叉树:验证二叉树(力扣)

代码解决 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* Tre…

Linux rm命令由于要删的文件太多报-bash: /usr/bin/rm:参数列表过长,无法删除的解决办法

银河麒麟系统,在使用rm命令删除文件时报了如下错误,删不掉: 查了一下,原因就是要删除的文件太多了,例如我当前要删的文件共有这么多: 查到了解决办法,记录在此。需要使用xargs命令来解决参数列表…

【Vue】Pinia管理用户数据

Pinia管理用户数据 基本思想:Pinia负责用户数据相关的state和action,组件中只负责触发action函数并传递参数 步骤1:创建userStore 1-创建store/userStore.js import { loginAPI } from /apis/user export const useUserStore defineStore(…

ADS基础教程20 - 电磁仿真(EM)参数化

EM介绍 一、引言二、参数化设置1.参数定义2.参数赋值3.创建EM模型和符号 四、总结 一、引言 参数化EM仿真,是在Layout环境下创建参数,相当于在原理图中声明变量。 二、参数化设置 1.参数定义 1)在Layout视图,菜单栏中选中EM&g…

鸿蒙 游戏来了 鸿蒙版 五子棋来了 我不允许你不会

团队介绍 作者:徐庆 团队:坚果派 公众号:“大前端之旅” 润开鸿生态技术专家,华为HDE,CSDN博客专家,CSDN超级个体,CSDN特邀嘉宾,InfoQ签约作者,OpenHarmony布道师,电子发烧友专家博客,51CTO博客专家,擅长HarmonyOS/OpenHarmony应用开发、熟悉服务卡片开发。欢迎合…

SpringBoot整合H2数据库并将其打包成jar包、转换成exe文件

SpringBoot整合H2数据库并将其打包成jar包、转换成exe文件 H2 是一个用 Java 开发的嵌入式数据库,它的主要特性使其成为嵌入式应用程序的理想选择。H2 仅是一个类库,可以直接嵌入到应用项目中,而无需独立安装客户端和服务器端。 常用开源数…

随笔-来了,安了

依照领导定的规矩,周五又去了分公司,赋能一线去了。到了地方就是开会->现场解决问题->干饭->开会过需求、提供解决方案,充实得厉害。强度也不小,中午干的一大碗饭,到五点就饿了。 六点带着分公司催着上线的需…

【TypeScript】类型兼容(协变、逆变和双向协变)

跟着小满zs 学习 ts,原文:学习TypeScript进阶类型兼容_typescript进阶阶段类型兼容 小满-CSDN博客 类型兼容,就是用于确定一个类型是否能赋值给其他的类型。如果A要兼容B 那么A至少具有B相同的属性。 // 主类型 interface A {name: string,a…

微信小程序毕业设计-智慧消防系统项目开发实战(附源码+论文)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计…

OpenCV 4.10 发布

OpenCV 4.10 JPEG 解码速度提升 77%,实验性支持 Wayland、Win ARM64 根据 “OpenCV 中国团队” 介绍,从 4.10 开始 OpenCV 对 JPEG 图像的读取和解码有了 77% 的速度提升,超过了 scikit-image、imageio、pillow。 4.10 版本的一些亮点&…

高考志愿填报和未来的职业规划

高考成绩出来那一刻,我们就站在了人生的岔路口上,面临这不同的选择,走不同的路线、过不同的生活...... 除了成绩会决定一个人的未来走向之外,报考的专业和学校影响也是终身。高考志愿填报和未来职业规划应该息息相关,…

npm install 的原理

1. 执行命令发生了什么 ? 执行命令后,会将安装相关的依赖,依赖会存放在根目录的node_modules下,默认采用扁平化的方式安装,排序规则为:bin文件夹为第一个,然后是开头系列的文件夹,后…

【Java】解决Java报错:FileNotFoundException

文章目录 引言1. 错误详解2. 常见的出错场景2.1 文件路径错误2.2 文件名拼写错误2.3 文件权限问题2.4 文件路径未正确拼接 3. 解决方案3.1 检查文件路径3.2 使用相对路径和类路径3.3 检查文件权限3.4 使用文件选择器 4. 预防措施4.1 使用配置文件4.2 使用日志记录4.3 使用单元测…

鸿蒙用 BuilderParam 实现同一个布局不同内容组件

面通过一个案例展示BuilderParam的具体用法,例如,现需要实现一个通用的卡片组件,如下图所示 卡片中显示的内容不固定,例如 具体实现代码如下: Entry Component struct BuildParamDemo {build() {Column(){Card() {imag…

【踩坑日记】I.MX6ULL裸机启动时由于编译的程序链接地址不对造成的程序没正确运行

1 现象 程序完全正确,但是由于程序链接的位置不对,导致程序没有正常运行。 2 寻找原因 对生成的bin文件进行反汇编: arm-linux-gnueabihf-objdump -D -m arm ledc.elf > ledc.dis查看生成的反汇编文件 发现在在链接的开始地址处&…

Redis高并发高可用

1. 复制机制 在分布式系统中,为了解决单点问题,通常会将数据复制多个副本部署到其他机器,以满足故障恢复和负载均衡等需求。Redis提供了复制功能,实现了相同数据的多个Redis副本。复制功能是高可用Redis的基础,后面的…

ubuntu 18.04 安装vnc

如何在Ubuntu 18.04安装VNC | myfreax sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils sudo apt install tigervnc-standalone-server tigervnc-common vncserver sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils sudo apt ins…

利用flask + pymysql监测数据同步中的数据是否完整

一、背景 最近项目搞重构,将原有的系统拆分成了多个子系统。但是有数据表需要在不同系统中数据,同时为了解决项目性能最了一个很简单的方案,就是公共数据存在每个系统之中。 二、分析 分析这些表,这些表相比源数据表,表…

SpringBoot+Maven笔记

文章目录 1、启动类2、mapper 接口3、控制类4、补充:返回数据时的封装5、补充a、mybatisplus 1、启动类 在启动类上加入MapperScan扫描自己所写的mapper接口 package com.example.bilili_springboot_study;import org.mybatis.spring.annotation.MapperScan; impo…

学习cel-go了解一下通用表达语言评估是什么

文章目录 1. 前言2. cel-go2.1 cel-go关键概念Applications(应用)Compilation(编译)Expressions(表达式)Environment环境解析表达式的三个阶段 3. cel-go的使用4. cel-go使用5. 说明6. 小结7. 参考 1. 前言 最近因为在项目里面实现的一个使用和||来组合获取字段值的功能有点儿…