【Unity】思考方式与构造 | 碰撞器/刚体/预设/组件

《Unity神技大人炼成记》第二章-思考方式与构造
Unity版本:2019.4.23f1c1
相关文章:第一章:开天辟地(场景搭建-天空 山脉 草木 湖泊)

  • 粉色矩形是截图后添加,以便辨认操作位置
  • 有些步骤只是为了体现一些属性,建议看完再选择试操作
  • 可以:指的是可以有这些操作,但此刻没这么做

刚体/碰撞器

创建一个Cube
可以:右上角可重置数值(Reset),即移动到世界中心
可以:复制粘贴组件信息
可以:把名字旁边✔取消则置为非活动状态
在这里插入图片描述

太阳光删除,放置聚光灯(SpotLight)
在这里插入图片描述
在这里插入图片描述
觉得世界太亮可以调整ambient intensity参数
在这里插入图片描述

在这里插入图片描述

给cube添加组件-渲染Render-灯光Light,把spotlight置为非活动状态(名字旁边的✔取消)
在这里插入图片描述

在这里插入图片描述
将类型设置为点point在这里插入图片描述

为了体现发光块,添加地板,自行调整距离
在这里插入图片描述

在这里插入图片描述
给cube添加组件刚体
在这里插入图片描述
Mass:单位kg
Drag:对于移动的阻力,空气阻力。数值越大,空气越像胶糖,具有很强的阻止移动力量
Angular Drag:阻止物体旋转的空气阻力
Use Gravity:是否使用重力?(开启时物体会沿着y轴下落
Is Kinematic:添加此项的话,物体不会从被放置的位置下落,只有通过脚本编辑才会移动。如关节一样被固定在某处。
Interpolate:基于前一帧或后一帧来控制动作。用于让动作平滑的情况下来设置
Collision Detection:如果物体移动的速度非常快,则可能在两次碰撞检测之间产生未经碰撞检测而穿过其他物体的情况。这一项是为了防止这种情况
Constraints:设置对于移动和旋转的约束

在这里插入图片描述
进行一些角度变换
运行后cube自然下落,接触到平面静止

设置cube物理材质
在assets中创建物理材质,改名为Bouncy
在这里插入图片描述
设置参数绑定到cube碰撞器
在这里插入图片描述

在这里插入图片描述
再次点击运行,cube会不断弹跳,滚出边界
在这里插入图片描述
Dynamic Friction:移动过程中的摩擦系数。以跑步为例,数值越接近0,越像是在光滑的油面上跑步。如果数值为1,就有很强的摩擦力,仿佛穿了带防滑钉的跑鞋跑步。
Static Friction:静止状态的摩擦系数。如果数值为0,则像游戏中心的空气曲棍球里飘浮的球一样,非常容易移动。如果数值为1的话,就好像粘上了强力胶一样,动不了。
Bounciness:反弹系数。如果数值为1,则通过碰撞获得的能量会全部反弹回去。如果数值为0,则完全不返弹。游戏对象是弹力球的跳动方法还是丢沙包的跳动方法,是由这个数值设置的。
Friction Combine:与其他碰撞器接触时,摩擦的计算方法。可以设置4种方式:Average(平均)、Multiply(相乘)、Minimum(使用二者之中的最小值)、Maximum(使用二者之中的最大值)。例如,用砂纸摩擦木头时当然比用两张砂纸相互摩擦要光滑了,所以选择Average即可。想象一下带着橡胶手套拿冰块的情景。即使橡胶手套本身的摩擦力很强,但是用不吸水的橡胶手有来拿冰块,可能反而比徒手拿更滑溜。这种情况下,就应该选择Minimum。
Bounce Combine:设置当物体与其他碰撞器碰撞时,如何计算反弹的模式。同样,也可以设置4个种类 Average(平均)、Multiply(相乘)、Minimum(使用二者之中的最小值)、Maximum(使用二者之中的最大值)。个弹力球相互碰撞时,用Multiply模式;而当弹力球撞到弹力低的垫子时,就用Minimum模式等,需要根据假设的质,来更改设置。
Friction Direction 2:这是碰撞之后,各个方向的动作的摩擦系数。例如,想象一下滑雪板。纵向是很易滑动的,但横向设置了边缘,非常难滑动。这里的X轴、Y轴、Z轴是对GameObject本身的方向而言,所以,如果有不动的斜面,会因GameObject的放置方向不同而更改滑动的方向。在简单的汽车游戏中也能应用。在汽车漂移等动作中可以使用。
Dynamic Friction 2:在Friction Direction2中设置了数值时,动态物体的摩擦系数。
Static Friction 2:在Friction Direction2中设置了数值时,静止状态的摩擦系数。

关于层级Hierarchy的思考方式

新建一个GameObject取名为Basket
在这里插入图片描述
接着为了放在cube滚落搭建墙壁(cube变形),并放到Basket中(以层级的形式放置
(这里我为了自己的眼睛改了改照明设置
在这里插入图片描述

运行,自行调整摄像机视角

在这里插入图片描述

Prefab预设

将cube1拖拽到assets(字体变蓝
在这里插入图片描述
可以拖拽进项目中
在这里插入图片描述

这个保存的Prefab相当于母体,而创建的Prefab实例与母体Prefab之间具有关联,母体Prefab更改了属性,则实例也会更改,比如将Prefab改为球体,则所有实例都会变为球体
但如果实例偷偷自己改变形状则不会被母体连带更改,这些就自己去尝试吧

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

预制件属性

在这里插入图片描述
打开:打开母体prefab,更改属性则全部实例更改
选择:所有实例为选中状态
覆盖:可以恢复成母体prefab设置,也可以将所有实例更改为跟这个实例相同属性
在这里插入图片描述

各式各样的相关内容

GameObject的最小单位就是通过菜单点击Create Empty创建出只有Transform组件的空游戏对象。它是可以容纳各种组件的容器。而且,还有一点很重要,GameObject可以以层级的形式放置。分层级放置 GameObject,意思是以Transform为基准,在位置、方向、大小方面形成父子关系状态(即Hierarchy),可以通过脚本组件,以父子层级为轴,来控制属性。

Mesh:设置游戏对象的形状使用哪种数据。这次我们选择的是Unity自带的原始形状,不过,这里还能设置通过模型软件等制作的MeshData。
Mesh Renderer:该组件用于设置Mesh应如何显示的。在这里我们使用的 Default-Material是Unity唯一自带的材质,但材质数据是可以自由创建的,能让世界更加丰富多彩。
Box Collider:这是设置箱型碰撞区域。在这个碰撞属性中,可以添加数据来自由设置物理材质的摩擦系数和反弹系数。这些数据被称为物理材质。此外还有胶囊型、圆形、自定义建模的Mesh Collider等复杂形状。
Rigidbody:为物体赋予重量。带有这个组件,则游戏对象会受重力作用,沿着Y轴下降。
Light:这是光源。能设置可以当作太阳使用的Directional Light、Spot Light、 Point Light等各种类型。

一些相关组件

没有详细写,相信用到的时候就会有所了解了
Effects :与视觉效果相关,如粒子Particle
Physics:与物理引擎相关
Navigation:探索路径等结构组件
Rendering:渲染相关
Audio:声音
Miscellaneous:动画、动作
Event:UI、交互界面
UI:UI
Layout:UI配置

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

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

相关文章

如何使用Linux DataEase数据可视化分析工具结合内网穿透实现远程办公

文章目录 前言1. 安装DataEase2. 本地访问测试3. 安装 cpolar内网穿透软件4. 配置DataEase公网访问地址5. 公网远程访问Data Ease6. 固定Data Ease公网地址 前言 DataEase 是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务…

PTL仓储亮灯拣选系统优化仓库作业流程实现物料快速定位

随着现代企业的发展和生产模式的不断演进,仓库管理作为生产供应链中的重要环节,也在不断追求效率和精益化。为了实现企业的现代化仓库管理,实现仓库条码化、自动化、无纸化,做到物料和成品从入库、出库、退库、移库、盘点整个过程…

解决kubernetes集群证书过期的问题

现象: 解决办法: 1.在master节点运行: kubeadm alpha certs renew all 2.在master节点运行: rm -f /etc/kubernetes/kubelet.conf && cp /etc/kubernetes/admin.conf /etc/kubernetes/bootstrap-kubelet.conf 3.在maste…

智安网络|探索人机交互的未来:自然语言处理的前沿技术

自然语言处理是人工智能领域中研究人类语言和计算机之间交互的一门学科。它涉及了语言的理解、生成、翻译、分类和摘要等多个方面。随着人们对自然语言处理的重视和需求不断增长,成为了热门的研究方向。 首先,我们需要了解自然语言处理的基本概念。自然…

Zookeeper经典应用场景实战(一)

1. Zookeeper Java客户端实战 ZooKeeper应用的开发主要通过Java客户端API去连接和操作ZooKeeper集群。 可供选择的Java客户端API有: ZooKeeper官方的Java客户端API。 第三方的Java客户端API,比如Curator。 ZooKeeper官方的客户端API提供了基本的操…

【数据结构】归并排序 的递归实现与非递归实现

归并排序 前言一、归并排序递归实现(1)归并排序的核心思路归并排序运行图例(2)归并排序实现的核心步骤(3)归并排序码源详解(4)归并排序效率分析1)时间复杂度 O&#xff0…

Leetcode-234 回文链表

我的解法:使用栈,定义了len略微复杂,拿链表的后半部分和前半部分比较即可,没必要全部比较 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* List…

[极客大挑战 2019]Http 1

题目环境: 看起来挺花里胡哨的 F12查看源代码寻找隐藏文件 这是啥子呀,果然防不胜防 点击隐藏文件Secret.php 它不是来自这个地址的请求 报头:https://Sycsecret.buuoj.cn 需要抓包,在抓包前了解部分数据包参数 GET:到 Host:来自 …

ElasticSearch离线安装

1. 上传和解压软件 将elasticsearch-7.11.2-linux-x86_64.tar.gz和kibana-7.11.2-linux-x86_64.tar.gz 上传到/data/es目录 解压文件 tar -zxvf elasticsearch-7.11.2-linux-x86_64.tar.gz tar -zxvf kibana-7.11.2-linux-x86_64.tar.gz 2. 创建es用户 因为安全问题&#xff…

手机玻璃盖板为什么需要透光率检测

手机盖板,也称为手机壳或保护套,是一种用于保护手机外观和延长使用寿命的装置。它们通常由塑料、硅胶、玻璃或金属等材料制成,并固定在手机外壳上,其中任何一个工序出现差错,都有可能导致手机盖板产生缺陷,例如漏油、透…

编程中的零代码和低代码解决方案对比

目录 一、传统开发vs低代码vs零代码 (1)传统开发: (2)低代码开发: (3)零代码开发 二、5种常见的应用场景 三、零代码和低代码 随着企业数字化拉开序幕,低代码( Low Code …

【数据结构】树与二叉树(五):二叉树的顺序存储(初始化,插入结点,获取父节点、左右子节点等)

文章目录 5.1 树的基本概念5.1.1 树的定义5.1.2 森林的定义5.1.3 树的术语5.1.4 树的表示 5.2 二叉树5.2.1 二叉树1. 定义2. 特点3. 性质引理5.1:二叉树中层数为i的结点至多有 2 i 2^i 2i个,其中 i ≥ 0 i \geq 0 i≥0。引理5.2:高度为k的二叉…

10-27 maven概念

maven maven的概念模型: 项目对象模型(POM: Project object Model),一组标准集合: pom.xml 依赖管理系统(Dependency Management System) 项目生命周期(Project Lifecycle) 项目对象模型: 把项目当成一个对象,描述这个项目,使用p…

【springboot配置项动态刷新】与【yaml文件转换为java对象】

文章目录 一,序言二,准备工作1. pom.xml引入组件2. 配置文件示例 三,自定义配置项动态刷新编码实现1. 定义自定义配置项对象2. 添加注解实现启动时自动注入3. 实现yml文件监听以及文件变化处理 四,yaml文件转换为java对象1. 无法使…

机器学习——逻辑回归

一、分类问题 监督学习的最主要类型 分类(Classification): 身高1.85m,体重100kg的男人穿什么尺码的T恤?根据肿瘤的体积、患者的年龄来判断良性或恶性?根据用户的年龄、职业、存款数量来判断信用卡是否会…

Mac VsCode g++编译报错:不支持C++11语法解决

编译运行时报错: [Running] cd “/Users/yiran/Documents/vs_projects/c/” && g 1116.cpp -o 1116 && "/Users/yiran/Documents/vs_projects/c/"1116 1116.cpp:28:22: warning: range-based for loop is a C11 extension [-Wc11-extensi…

浅谈前端自定义VectorGrid矢量瓦片样式

目录 前言 一、VectorGrid相关API介绍 1、VectorGrid 2、 LayerStyles样式详解 二、样式自动配置 1、页面定义 2、地图及PBF瓦片引入 3、矢量瓦片样式定义 4、鼠标事件交互 三、最终效果 1、自定义样式展示 2、鼠标交互 总结 前言 在上一篇博客中,详细讲…

支付卡行业(PCI)PIN安全要求和测试程序 7个控制目标、33个要求及规范性附录ABC 密钥注入-PCI认证-安全行业基础篇4

概述 用于在ATM和POS终端进行在线和离线支付卡交易处理期间,对个人身份号码(PIN)数据进行安全管理、处理和传输。 该标准具体包括 7 个控制目标和 33 个安全要求, 标准的结构分为标准主体部分,标准附录(N…

FPGA高端项目:图像缩放+GTP+UDP架构,高速接口以太网视频传输,提供2套工程源码加QT上位机源码和技术支持

目录 1、前言免责声明本项目特点 2、相关方案推荐我这里已有的 GT 高速接口解决方案我这里已有的以太网方案我这里已有的图像处理方案 3、设计思路框架设计框图视频源选择ADV7611 解码芯片配置及采集动态彩条跨时钟FIFO图像缩放模块详解设计框图代码框图2种插值算法的整合与选择…

C语言:深入浅出qsort方法,编写自己的qsort完成冒泡排序

目录 什么是qsort? 函数原型 比较函数 compar 排序整型数组 排序结构体数组 根据成员字符排序 strcmp函数 根据成员整型排序 自定义qsort实现冒泡排序 qsort的实现原理 具体步骤 快速排序示例代码: 什么是qsort? qsort是 C …