unity搭建场景学习

news2024/11/25 16:30:47

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.coloradmin.cn/o/2232373.html

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

相关文章

软件加密与授权管理:构建安全高效的软件使用体系

“软件加密与授权管理:构建安全高效的软件使用体系”是一个全面且深入的议题,以下是对该议题的详细探讨: 一、软件加密的概念与重要性 软件加密是指为软件添加保护措施,以防止其被盗版或非法复制。这一技术站在软件开发者的角度&a…

【VScode】中文版ChatGPT编程工具-CodeMoss!教程+示例+快捷键

文章目录 1. 多模型选择2. 编辑快捷键3. 历史记录收藏 CodeMoss使用教程1. 安装CodeMoss插件2. 配置AI模型3. 使用快捷键4. 进行代码优化与解释5. 收藏历史记录 总结与展望 在当今快速发展的编程世界中,开发者们面临着越来越多的挑战。如何提高编程效率,…

宝塔Linux面板安装PHP扩展失败报wget: unable to resolve host address ‘download.bt.cn’

一、问题: 当使用宝塔面板安装PHP扩展失败出现如下错误时 Resolving download.bt.cn(download.bt.cn)...failed: Connection timed out. wget: unable toresolve host address download.bt.cn’ 二、解决: 第一步:如下命令执行拿到返回的I…

Scrapy源码解析:DownloadHandlers设计与解析

1、源码解析 代码路径:scrapy/core/downloader/__init__.py 详细代码解析,请看代码注释 """Download handlers for different schemes"""import logging from typing import TYPE_CHECKING, Any, Callable, Dict, Gener…

【C++】对左值引用右值引用的深入理解(右值引用与移动语义)

🌈 个人主页:谁在夜里看海. 🔥 个人专栏:《C系列》《Linux系列》 ⛰️ 天高地阔,欲往观之。 ​ 目录 前言:对引用的底层理解 一、左值与右值 提问:左值在左,右值在右?…

docker下迁移elasticsearch的问题与解决方案

欢迎来到我的博客,代码的世界里,每一行都是一个故事 🎏:你只管努力,剩下的交给时间 🏠 :小破站 docker下迁移elasticsearch的问题与解决方案 数据挂载报错解决权限问题节点故障 直接上图&#x…

1.3 初探OpenCV贡献库

OpenCV贡献库(opencv_contrib)是OpenCV的一个扩展库,由社区开发,包含更多视觉应用和受专利保护的算法。它提供最新研究算法、扩展功能和社区支持。可以通过pip安装或手动编译。

太空旅游:科技能否让星辰大海变为现实?

内容概要 在这个快速变化的时代,太空旅游成为了一个让人热血沸腾的话题。想象一下,坐在一颗漂浮的太空舱里,手中端着饮料,眺望着无尽的星辰大海,简直就像科幻电影中的情节一样。不过,这不仅仅是一个空洞的…

智能提醒助理系列-jdk8升级到21,springboot2.3升级到3.3【性能篇】

本系列文章记录“智能提醒助理”产品建设历程,记录实践经验、巩固知识点、锻炼总结能力。 本篇介绍技术栈升级后的切换方案以及性能提升。 一、需求出发点 智能提醒小程序 当前使用的是jdk8,springboot2.3,升级到jdk21和springboot3.3 学习新知识的同时…

ROS2入门学习——ROS在机器人中的运行

一、入门级基础平台TurtleBot TurtleBot 是 ROS 中重要且资源丰富的机器人之一,特别适合入门级机器人爱好者提供基础平台。用户可以直接利用其自带的软硬件,专注于应用程序的开发。TurtleBot 随着 ROS 的发展,一直处于开发前沿。 TurtleBot…

cuda、pytorch-gpu安装踩坑!!!

前提:已经安装了acanoda cuda11.6下载 直接搜索cuda11.6 acanoda操作 python版本3.9 conda create -n pytorch python3.9conda activate pytorch安装Pytorch-gpu版本等包 要使用pip安装,cu116cuda11.6版本 pip install torch1.13.1cu116 torchvi…

二分法查找(c基础)

二分法查找一个有序数组中是否有某个数 大家看了可以自己写一下 &#xff08; 要用知识点 数组 while循环 scanf 函数 printf函数 &#xff09; //用二分法查找 #include<stdio.h> int main() {char arr[] { 1,2,3,4,5,6,7,8,9,10 };int sz sizeof(arr) / size…

实现图书管理系统

1. 图书管理系统菜单 如上图给用户选项 1. 管理员 2. 普通用户 2. 实现基本框架 右键点src&#xff0c;选择new&#xff0c;选择Package命名三个包 book operation user 1.先选择book包&#xff0c;new两个类 book bookList 在book类中定义书的基本属性&#xff0c;并重写…

Efficient Cascaded Multiscale Adaptive Network for Image Restoration 论文阅读笔记

Efficient Cascaded Multiscale Adaptive Network for Image Restoration 论文阅读笔记 这是新国立和新加坡管理大学发表在ECCV2024上的一篇image restoration的文章&#xff0c;提出了一个新的网络结构ECMA&#xff0c;从实验结果上看在超分&#xff0c;去噪&#xff0c;去模糊…

不需要复制粘贴,重复内容如何使用Mac快速完成输入

在Mac的日常使用中&#xff0c;必然有着重复内容需要重复输入的需求&#xff0c;但是Mac的剪切板又不具备历史记录的功能&#xff0c;所以只能一次次的复制粘贴&#xff0c;费时费力&#xff0c;那么该如何才能不这么麻烦 快捷短语就是为了解决这一问题而存在的 提前在设置好…

ubuntu20.04 加固方案-设置限制su命令用户组

一、编辑/etc/pam.d/su配置文件 打开终端。 使用文本编辑器&#xff08;如vim&#xff09;编辑/etc/pam.d/su文件。 vim /etc/pam.d/su 二、添加配置参数 在打开的配置文件的中&#xff0c;添加以下参数&#xff1a; auth required pam_wheel.so 创建 wheel 组 并添加用户 …

002 配置YUM国内镜像源

打开XShell 工具&#xff0c;连接Linux 选择上次的连接&#xff0c;直接双击。 具体连接步骤&#xff0c;参考前面的内容001 编辑YUM默认配置文件 /etc/yum.repos.d/CentOS-Base.repo 是YUM的默认配置文件。 修改这个文件&#xff0c;将其中的内容替换成国内的镜像源 输入下…

【工具变量】大数据管理机构改革DID(2007-2023年)

数据简介&#xff1a;数字ZF是指以新一代信息技术为支撑&#xff0c;重塑政务信息化管理架构、业务架构、技术架构的现代化治理模式。随着数字政府的建设&#xff0c;特别是借助大数据等新一代数字技术&#xff0c;极大地提升了政府的治理能力&#xff0c;从而起到辅助监管机构…

WPF+MVVM案例实战(二十一)- 制作一个侧边弹窗栏(AB类)

文章目录 1、案例效果1、侧边栏分类2、AB类侧边弹窗实现1.文件创建2、样式代码与功能代码实现3、功能代码实现 3 运行效果4、源代码获取 1、案例效果 1、侧边栏分类 A类 &#xff1a;左侧弹出侧边栏B类 &#xff1a;右侧弹出侧边栏C类 &#xff1a;顶部弹出侧边栏D类 &#xf…

【WebRTC】WebRTC的简单使用

目录 1.下载2.官网上的使用3.本地的使用 参考&#xff1a; 【webRTC】一、windows编译webrtc Windows下WebRTC编译 1.下载 下载时需要注意更新python的版本和网络连接&#xff0c;可以先试试ping google。比较关键的步骤是 cd webrtc-checkout set https_proxy127.0.0.1:123…