unity搭建场景学习

unity搭建场景学习

  • 创建场景
  • 创建gameobject
  • 创建材质,用于给gameobject上色
  • 拖拽材质球上色
    • 上色原理
    • 设置多个材质方式
    • 设置贴图的方式
  • 效果
  • 设置光滑度
  • 一些预览设置菜单
  • 渲染模型与碰撞模型
    • 网格渲染参数
      • 1. materials(材质)
      • 2. lighting(光照)
      • 3. reflection probes(反射探针)
      • 4. light probes(光照探针)
      • 5. lightmap settings(光照贴图设置)
      • 6. scale in lightmap(光照贴图中的缩放)
      • 7. receive GI(接收全局光照)
      • 8. motion vectors(运动向量)
      • 9. dynamic occludee(动态遮挡)
      • 10. dynamic occluder(动态遮挡器)
      • 11. static editor flags(静态编辑器标志)
      • 12. rendering layer mask(渲染层遮罩)
    • 简模碰撞参数
      • 1. is trigger(是否为触发器)
      • material(材质)
      • 3. center(中心)
      • 4. radius(半径)
      • 5.edit collider(编辑碰撞器)
      • 6. include layers(包含层级)
      • 7. exclude layers(排除层级)
    • 其他类型的碰撞器组件
  • 刚体组件rigidbody-模拟物理效果
    • 添加刚体组件
      • 1. mass(质量)
      • 2.drag(阻力)
      • angular drag(角阻力)
      • 4. use gravity(使用重力)
      • 5. is kinematic(是否为运动学)
      • 6. interpolate(插值)
      • 7. collision detection(碰撞检测)
      • 8. constraints(约束)
      • 9. center od mass
      • 10. angular velocity(角速度)

创建场景

在这里插入图片描述
保存场景,命名为main_scene

创建gameobject

在这里插入图片描述
在这里插入图片描述

创建材质,用于给gameobject上色

在这里插入图片描述

拖拽材质球上色

在这里插入图片描述

上色原理

在这里插入图片描述

设置多个材质方式

在这里插入图片描述

设置贴图的方式

在这里插入图片描述

效果

在这里插入图片描述

设置光滑度

在这里插入图片描述

创建材质文件夹,用于统一管理使用到的材质
在这里插入图片描述
点击game窗口,看到的就是main camera看到的场景

一些预览设置菜单

在这里插入图片描述
在这里插入图片描述
类似上述操作,再创建一个小球,并上色,效果如下:
在这里插入图片描述

渲染模型与碰撞模型

渲染模型和碰撞模型分来的原因:节省性能,例如一个球模型本身有很多点,在进行计算碰撞时会增大计算的复杂度,而使用mesh中的标准球网格,只需要,计算是否在半径内判断碰撞即可,可以提高性能,所以一般对于导入的模型会设置其简模(sphere collider)

网格渲染参数

在这里插入图片描述
参数详解:
在unity中,mesh renderer组件用于将网格(mesh)渲染到屏幕上,他负责管理网格的可视化特性,包括材质、光照、阴影等

1. materials(材质)

  • 描述:用于指定应用于网格的材质,可以为一个网格分配一个或多个材质,每个材质对应网格中的一个子网格(submesh)
  • 默认值:单一材质

2. lighting(光照)

  • 描述:
    • cast shadows(投射阴影):控制网格是否投射阴影,选项如下:
      • on(开启):网格会投射阴影
      • off(关闭):网格不会投射阴影
      • two sided(双面):网格的两面都会投射阴影
      • shadows only(仅阴影):网格的两面都会投射阴影
      • receive shadows(接收阴影):控制网格是否接收其他对象投影的阴影
      • motion vectors(运动向量):控制网格是否在运动时生成运动向量,这对于后期特效(如运动模糊)非常有用
      • dynamic occlusion(动态遮挡):控制网格是否参与动态遮挡计算
  • 默认值:根据光照设置

3. reflection probes(反射探针)

  • 描述:控制网格如何使用反射探针来反射环境,选项包括:
    • off(关闭):不使用反射探针
    • blend probes(混合探针):使用反射探针,并混合相邻探针的结果
    • blend probes and skybox(混合探针和天空盒):混合反射探针和天空盒的结果
    • simple(简单):简单使用最近的反射探针
  • 默认值:blend probes

4. light probes(光照探针)

  • 描述:控制网格如何使用光照探针来模拟光照,选项包括:

    • off(关闭):不使用光照探针
    • blend probes(混合探针):使用光照探针,并混合相邻探针的结果
    • use proxy volume(使用代理体积):使用光照探针代理体积
  • 默认值:blend probes

5. lightmap settings(光照贴图设置)

  • 描述:控制网格如何使用光照贴图
    • lightmap static(光照贴图静态):控制网格是否为光照贴图静态对象,静态对象会在光照贴图烘焙时考虑
    • lightmap index(光照贴图索引):指定网格使用哪个光照贴图
    • lightmap scale offset(光照贴图缩放偏移):控制光照贴图在网格上的缩放和偏移
  • 默认值:根据光照贴图设置

6. scale in lightmap(光照贴图中的缩放)

  • 描述:控制网格在光照贴图中占用的空间比例,较大值意味着网格在光照贴图中占用更多的空间
  • 默认值:1

7. receive GI(接收全局光照)

  • 描述:控制网格是否接受全局光照,全局光照是指来自所有方向的光照,通常用于模拟间接光照
  • 默认值:开启

8. motion vectors(运动向量)

  • 描述:控制网格是否生成运动向量,运动向量用于后期特效,如运动模糊
  • 默认值:开启

9. dynamic occludee(动态遮挡)

  • 描述:控制网格是否作为动态遮挡对象,动态遮挡对象会在运行时进行遮挡计算
  • 默认值:开启

10. dynamic occluder(动态遮挡器)

  • 描述:控制网格是否作为动态遮挡器,动态遮挡器会在运行时遮挡其他对象
  • 默认值:开启

11. static editor flags(静态编辑器标志)

  • 描述:控制网格是否被视为静态对象,静态对象在光照贴图和全局光照烘焙时使用
  • 默认值:未勾选

12. rendering layer mask(渲染层遮罩)

  • 描述:控制网格的渲染层,渲染层用于在不同的渲染通道中控制对象的可见性
  • 默认值:默认层

简模碰撞参数

在这里插入图片描述
radius:设置碰撞的半径
在这里插入图片描述
参数详解:
在unity中,sphere collider组件用于为游戏对象添加一个球形碰撞器,这个碰撞器可以用于检测物理碰撞,或作为触发器(trigger)来检测其他对象进入或离开该区域

1. is trigger(是否为触发器)

  • 描述:如果勾选,这个碰撞器将被视为触发器而不是物理碰撞器,触发不会产生物理碰撞,但可以检测其他对象进入或离开其区域
  • 默认值:未勾选

material(材质)

  • 描述:用于指定碰撞器使用的物理材质(physics material),物理材质用于控制摩擦力和反弹效果
  • 默认值:None

3. center(中心)

  • 描述:球形碰撞器的中心位置,相对于游戏对象的变化中心,可以通过调整中心来控制碰撞器在对象内部的具体位置
  • 默认值:0,0,0

4. radius(半径)

  • 描述:球形碰撞器的半径,半径越大,球形碰撞器的体积越大
  • 默认值:0.5米

5.edit collider(编辑碰撞器)

  • 描述:勾选此选项后,可在场景视图中直接编辑碰撞器的位置,大小和形状,这对于快速调整碰撞器非常有用
  • 默认值:未勾选

6. include layers(包含层级)

  • 描述:此选项用于指定碰撞器应该与哪些层的对象进行碰撞,如果设置了包含层级,只有在这些指定层中对象才会参与物理碰撞检测
  • 使用场景:
    • 该功能可以用于优化碰撞检测,避免与不必要的对象进行碰撞,例如:如果若游戏只需要某些特定类型的对象能够与该碰撞器发生碰撞,可将这些对象放入一个或多个指定层级中
    • 通过使用层,能够更容易的管理对象间的交互,尤其是在复杂的游戏场景中

7. exclude layers(排除层级)

  • 描述:用于排除特定层级的对象不被这个碰撞器检测,只有非排除层级的对象才会与这个碰撞器发送碰撞
  • 默认值:none

其他类型的碰撞器组件

在这里插入图片描述

刚体组件rigidbody-模拟物理效果

添加刚体组件

在这里插入图片描述
在这里插入图片描述
在unity中,刚体组件(regidbody)是用于模拟物理行为的组件之一,它使得游戏对象能够受物理引擎的控制,如重力、碰撞和外力等

1. mass(质量)

  • 描述:对象的质量,较大的质量意味着对象需要更大的力来移动或停止
  • 默认值:1

2.drag(阻力)

  • 描述:对象在空气中或液体中移动时的阻力,阻力越大,对象移动的速度下降得越快
  • 默认:0

angular drag(角阻力)

  • 描述:对象旋转时的阻力,角阻力越大,对象旋转的速度下降得越快
  • 默认值:0.05

4. use gravity(使用重力)

  • 描述:是否让对象受到重力的影响
  • 默认值:勾选

5. is kinematic(是否为运动学)

  • 描述:是否将对象设置为运动学刚体,运动学刚体不受物理引擎控制,但可以通过脚本手动移动
  • 默认值:未勾选

6. interpolate(插值)

  • 描述:用于平滑对象的运动,当对象运动时有抖动或不平滑时,可以选择以下选项:
    • none(无),不进行插值
    • interpolate(插值):基于上一帧的位置进行插值
    • extrapolate(外推):基于下一帧的预测位置进行插值
  • 默认值:none

7. collision detection(碰撞检测)

  • 描述:用于控制对象的碰撞检测方式,以避免高速移动时的穿透现象,选项包括:
    • discrete(离散):标准的碰撞检测方式
    • continuous(连续):用于检测与静态网格碰撞器的碰撞
    • continuous dynamic(连续动态):用于检测与动态和静态网格碰撞器的碰撞
  • 默认值:discrete

8. constraints(约束)

  • 描述:用于限制对象的移动和旋转
    • freeze position(冻结位置):限制对象在xyz轴上的移动
    • freeze rotation(冻结旋转):限制对象在xyz轴上的旋转

9. center od mass

  • 描述:对象的质心位置,通常不需要手动设置,但如果对象的形状不规则,可能需要调整以获得正确的物理行为
  • 默认值:自动计算

10. angular velocity(角速度)

  • 描述:当前对象的角速度,可通过脚本访问和修改
  • 默认值:0,0,0

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++ Qt

一、概念 跨平台的图形应用界面应用程序框架。 二、常用快捷键 快捷键解释F4在对应的.cpp和.h之间快速切换ctrl b编译程序ctrl r运行程序ctrl shift ↑ / ↓向上 / 下移动选中的代码ctrl i自动对齐选中的代码 三、对象树 总结:父控件被析构,包含…

爬虫笔记22——当当网图书详情页静、动态数据爬取

当当网动态数据爬取 静态数据爬取动态数据爬取接口参数的获取 静态数据爬取 进入图书详情,这里的图书数据信息比如标题、价格、图片都是非结构化数据,可以使用xpath语法提取。是很简单的数据采集了,就不细说了。 动态数据爬取 滑到下面这里的…

zip文件加密成图片文件-到解密

加密 1,准备:图片 zip文件 2,新建一个.txt 根据自己的对应文件修改: copy 图片名.后缀/b压缩包名.后缀自定义图片名.后缀注意,图片后缀最后保持一至,测试了 jpg png 压缩包 zip 3,把上…

【深度学习】Bert下载和使用(以bert-base-uncased为例)

【深度学习】Bert下载和使用(以bert-base-uncased为例) 代码报错报错原因解决方法解决步骤1.进入Hugging Face,检索bert-base-uncased2.点击Files and versions3.下载文件4.下载的文件放入文件夹5.代码修改 代码报错 bert BertModel.from_p…

Java基于SpringBoot 的校园外卖点餐平台微信小程序(附源码,文档)

大家好,我是Java徐师兄,今天为大家带来的是Java基于SpringBoot 的校园外卖点餐平台微信小程序。该系统采用 Java 语言 开发,MySql 作为数据库,系统功能完善 ,实用性强 ,可供大学生实战项目参考使用。 博主介…

ES索引:索引管理

索引管理 再讲索引(Index)前,我们先对照下 ElasticSearch Vs 关系型数据库: PUT /customer/_doc/1 {"name": "DLBOY" }系统默认是自动创建索引的 如果我们需要对这个建立索引的过程做更多的控制&#xff1a…

Python小游戏20——超级玛丽

首先,你需要确保你的Python环境中安装了pygame库。如果还没有安装,可以使用以下命令进行安装: bash pip install pygame 运行效果展示 代码展示 python import pygame import sys # 初始化pygame pygame.init() # 设置屏幕尺寸 screen_width …

ZDH权限-扩展支持数据权限

目录 项目源码 预览地址 安装包下载地址 ZDH权限模块 ZDH权限扩展更细粒度方案 第一种方案: 第二种方案: ZDH权限扩展支持数据权限-新增属性 总结 感谢支持 项目源码 zdh_web: GitHub - zhaoyachao/zdh_web: 大数据采集,抽取平台 预览地址 后…

Unity humanoid 模型头发动画失效问题

在上一篇【Unity实战笔记】第二十二 提到humanoid 模型会使原先的头发动画失效,如下图所示: 头发摆动的是generic模型和动画,不动的是humanoid模型和动画 一开始我是尝试过在模型Optimize Game objects手动添加缺失的头发骨骼的,奈…

数据结构之线段树

线段树 线段树(Segment Tree)是一种高效的数据结构,广泛应用于计算机科学和算法中,特别是在处理区间查询和更新问题时表现出色。以下是对线段树的详细解释: 一、基本概念 线段树是一种二叉搜索树,是算法竞…

Kubernetes——part9-2 kubernetes集群java项目上云部署

一、部署前准备工作 1.1 部署项目情况 1.1.1 业务部署架构 单体服务架构分布式服务架构微服务架构超微服务架构 1.1.2 项目涉及第三方服务 关系型数据库系统 MySQL缓存服务 Redis memcache协调服务 zookeeper消息中间件服务 kafka rabbitmq服务注册 服务发现 nacos 1.1.3…

Verilog实现的莫尔斯电码发生器

莫尔斯或者摩尔斯电码(Morse Code),发明于1837年(另有一说是1836年),通过不同的排列顺序来表达不同的英文字母、数字和标点符号,在这里作一简单处理,仅产生点(Dit)和划(Dah),时长在0.25秒之内为点,超过为划…

【输出1到N之间的偶数】

【输出1到N之间的偶数】 C语言实现C实现Java实现Python实现 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 请写程序实现输出1-N之间的所有偶数。 输入 输入一个整数N 输出 如果N<1输出error&#xff0c;否则&#xff0c;输出1-N之间…

Mac上的免费压缩软件-FastZip使用体验实测

FastZip是Mac上的一款免费的压缩软件&#xff0c;分享一下我在日常使用中的体验 压缩格式支持7Z、Zip&#xff0c;解压支持7Z、ZIP、RAR、TAR、GZIP、BZIP2、XZ、LZIP、ACE、ISO、CAB、PAX、JAR、AR、CPIO等所有常见格式的解压 体验使用下来能满足我所有的压缩与解压的需求&a…

华为云计算知识总结——及案例分享

目录 一、华为云计算基础知识二、华为云计算相关案例实战案例一&#xff1a;搭建弹性云服务器&#xff08;ECS&#xff09;并部署Web应用案例二&#xff1a;构建基于OBS的图片存储和分发系统案例三&#xff1a;基于RDS的高可用数据库应用案例四&#xff1a;使用华为云DDoS防护保…

RHCE——DNS域名解析服务器、selinux、防火墙

1、DNS简介 DNS &#xff08; Domain Name System &#xff09;是互联网上的一项服务&#xff0c;它作为将域名和 IP 地址相互映射的一个分布式 数据库&#xff0c;能够使人更方便的访问互联网。 DNS 系统使用的是网络的查询&#xff0c;那么自然需要有监听的 port 。 DNS 使…

使用PostgreSQL进行高效数据管理

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 使用PostgreSQL进行高效数据管理 PostgreSQL简介 安装PostgreSQL 在Ubuntu上安装PostgreSQL 在CentOS上安装PostgreSQL 在macOS上…

实现GUI界面中的logo图片的编码与隐藏

实现GUI界面中的logo图片的编码与隐藏 一、问题描述二、解决办法 一、问题描述 利用PyQt5编写的GUI界面&#xff0c;有时候需要我们添加自定义的图片来作为UI界面的logo&#xff0c;在源码使用时&#xff0c;logo的形式一般不影响使用&#xff0c;但是当我们需要将软件进行打包…

真·香!深度体验 zCloud 数据库云管平台 -- DBA日常管理篇

点击蓝字 关注我们 zCloud 作为一款业界领先的数据库云管平台&#xff0c;通过云化自治的部署能力、智能巡检和诊断能力、知识即代码的沉淀能力&#xff0c;为DBA的日常管理工作带来了革新式的简化与优化。经过一周的深度体验&#xff0c;今天笔者与您深入探讨 zCloud 在数据库…

Docsify文档编辑器:Windows系统下个人博客的快速搭建与发布公网可访问

文章目录 前言1. 本地部署Docsify2. 使用Docsify搭建个人博客3. 安装Cpolar内网穿透工具4. 配置公网地址5. 配置固定公网地址 前言 本文主要介绍如何在Windows环境本地部署 Docsify 这款以 markdown 为中心的文档编辑器&#xff0c;并即时生成您的文档博客网站&#xff0c;结合…