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

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

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

相关文章

『Linux学习笔记』如何在 Ubuntu 22.04 上安装和配置 VNC

『Linux学习笔记』如何在 Ubuntu 22.04 上安装和配置 VNC 文章目录 一. 『Linux学习笔记』如何在 Ubuntu 22.04 上安装和配置 VNC1. 介绍 二. 参考文献 一. 『Linux学习笔记』如何在 Ubuntu 22.04 上安装和配置 VNC 如何在 Ubuntu 22.04 上安装和配置 VNChttps://hub.docker.c…

xlwings,让excel飞起来!

excel已经成为必不可少的数据处理软件,几乎天天在用。python有很多支持操作excel的第三方库,xlwings是其中一个。 关于xlwings xlwings开源免费,能够非常方便的读写Excel文件中的数据,并且能够进行单元格格式的修改。 xlwings还…

03.DDD六边形架构

学习视频来源:DDD独家秘籍视频合集 https://space.bilibili.com/24690212/channel/collectiondetail?sid1940048&ctype0 文章目录 什么是依赖DDD四层架构六边形架构代码实现 想要详细了解六边形架构,可以看我之前的一篇文章。是对六边形架构原文的翻…

在VS Code中操作MySQL数据库

【基础篇】 【小白专用24.5.26 已验证】VSCode下载和安装与配置PHP开发环境(详细版)_vscode php-CSDN博客 ~~~~~~~~~~~~~~~~~~~~~~~~~ 在VS Code中下载插件 Prettier SQL VSCode 和 MySQL : 随后在VS Code中点击Database图标 在连接界面输入MySQL数据库…

使用WebAssembly优化Web应用性能

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 使用WebAssembly优化Web应用性能 引言 WebAssembly 简介 安装工具 创建 WebAssembly 项目 编写 WebAssembly 代码 编译 WebAssem…

AI工具列表

AI写作工具 工具名称推测的https://地址笔灵AI写作https://ibiling.cn/Paperpalhttps://paperpal.com新华妙笔https://miaobi.xinhuaskl.com/讯飞写作https://iflytek.com墨狐AIhttps://inkfox-ai.com/火山写作https://www.writingo.net/橙篇https://chengpian.com&#xff08…

HTML 基础标签——元数据标签 <meta>

文章目录 1. `<meta>` 标签概述2. 属性详解2.1 `charset` 属性2.2 `name` 属性2.3 `content` 属性2.4 `http-equiv` 属性3. 其他常见属性小结在 HTML 文档中,元数据标签 <meta> 是一种重要的标签,用于提供关于文档的信息,这些信息不直接显示在网页内容中,但对于…

基于STM32的智能手环设计

本设计的主控芯片采用STM32F103C8T6&#xff0c;体温模块采用DS18B20温度传感器&#xff0c;显示模块采用OLED显示&#xff0c;心率、血氧的测量采用MAX30102模块既不需要外接电路&#xff0c;又可以保障数据稳定&#xff0c;内部还具有降噪功能。采用这些模块&#xff0c;保证…

微信小程序,打开新的项目,调试遇见[ app.json 文件内容错误] app.json: 在项目根目录未找到 app.json

1&#xff0c;首先&#xff0c;在开发工具右上角&#xff0c;打开详情&#xff1b;设置基础库&#xff1b;3.6.3 2&#xff0c;第二步&#xff0c;在项目目录下&#xff0c;找到app.json文件存在 3&#xff0c;第三步&#xff0c;修改项目根目录下&#xff0c;project.config.j…

MFC界面开发组件Xtreme Toolkit Pro v24全新发布—完整的SVG支持

Codejock软件公司的Xtreme Toolkit Pro是屡获殊荣的VC界面库&#xff0c;是MFC开发中最全面界面控件套包&#xff0c;它提供了Windows开发所需要的11种主流的Visual C MFC控件&#xff0c;包括Command Bars、Controls、Chart Pro、Calendar、Docking Pane、Property Grid、Repo…

FreeRTOS学习8——开启任务调度器API函数简介

开启任务调度器API函数简介 任务调度开启任务调度器API函数简介**函数** **vTaskStartScheduler()****函数** **xPortStartScheduler()****函数** **prvStartFirstTask()****函数** **vPortSVCHandler()****注意**补充**出栈/压栈汇编指令详解** 任务调度 开启任务调度器API函…

SIGNAL TAP使用记录

一、首先编译工程 二、打开signal tap&#xff0c;并设置抓取时钟以及采样深度 二、点击set up&#xff0c;然后双击空白处&#xff0c;会弹出右侧窗口&#xff0c;点击filter选择pre_synthesis&#xff0c;这里选择综合前的信号观测&#xff0c;要确保左侧窗口内的信号是黑色…

Windows版 nginx安装,启动,目录解析,常用命令

Windows版 nginx安装&#xff0c;启动&#xff0c;目录解析&#xff0c;常用命令 一级目录二级目录三级目录 1. 下载2. 启动方式一&#xff1a;方式二&#xff1a; 3. 验证是否启动4. 安装目录解析5. 常用命令 一级目录 二级目录 三级目录 1. 下载 官网下载&#xff1a;ngi…

kafka相关面试题

文章目录 什么是消息中间件&#xff1f;kafka 是什么&#xff1f;有什么作用&#xff1f;kafka 的架构是怎么样的&#xff1f;Kafka Replicas是怎么管理的&#xff1f;如何确定当前能读到哪一条消息&#xff1f;生产者发送消息有哪些模式&#xff1f;发送消息的分区策略有哪些&…

Python | Leetcode Python题解之第519题随机翻转矩阵

题目&#xff1a; 题解&#xff1a; class Solution:def __init__(self, m: int, n: int):self.m mself.n nself.total m * nself.map {}def flip(self) -> List[int]:x random.randint(0, self.total - 1)self.total - 1# 查找位置 x 对应的映射idx self.map.get(x,…

SHEEL脚本编程

一、shell基本知识 Ⅰ、为什么要学习和使用shell编程 通过编程&#xff0c;简化日常的维护工作&#xff0c;使得管理员从简单的重复劳动解脱出来 Ⅱ、什么是shell shell的功能 Shell又称命令解释器&#xff0c;它能识别用户输入的各种命令&#xff0c;并传递给操作系统。它…

三、Kafka集群

一、Kafka集群的概念 1、目的 高并发、高可用、动态扩展。 主备数据架构、双活节点、灾备数据中心。 如果是服务的地理范围过大也可以使不同的集群节点服务不同的区域&#xff0c;降低网络延迟。 2、Kafka集群的基本概念 1&#xff09;复制&#xff08;镜像&#xff09; kaf…

关于Android Studio Koala Feature Drop | 2024.1.2下载不了插件的解决办法

解决 androidStudio Settings->Plugins下载插件&#xff0c;点击install后没反应&#xff0c;同时插件描述相关显示不出来 第一步&#xff1a; 第二步&#xff1a; 点击设置&#xff0c;勾选Auto-detect proxy settings&#xff0c;输入网址 https://plugins.jetbrains.com…

笔记本双系统win10+Ubuntu 20.04 无法调节亮度亲测解决

sudo add-apt-repository ppa:apandada1/brightness-controller sudo apt-get update sudo apt-get install brightness-controller-simple 安装好后找到一个太阳的图标&#xff0c;就是这个软件&#xff0c;打开后调整brightness&#xff0c;就可以调整亮度&#xff0c;可…

若依微服务架构遇到的一些问题记录

一、nacos启动问题 需要看官网的准备工作&#xff0c;认真看&#xff0c;版本问题卡了两天 https://doc.ruoyi.vip/ruoyi-cloud/document/hjbs.html#%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C 1.下载nacos&#xff0c;版本需要对应上 版本说明链接 2.记得运行数据库&#xff0…