【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配置

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

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

相关文章

多维时序 | MATLAB实现TCN-selfAttention自注意力机制结合时间卷积神经网络多变量时间序列预测

多维时序 | MATLAB实现TCN-selfAttention自注意力机制结合时间卷积神经网络多变量时间序列预测 目录 多维时序 | MATLAB实现TCN-selfAttention自注意力机制结合时间卷积神经网络多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现TCN-s…

深度学习之基于Tensorflow人脸面部表情识别系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 基于Tensorflow的人脸面部表情识别系统是一种基于深度学习技术的图像处理应用,该系统主要通过人脸图像数…

Stable Diffusion源码调试(二)

Stable Diffusion源码调试(二) 个人模型主页:https://liblib.ai/userpage/369b11c9952245e28ea8d107ed9c2746/model Stable Diffusion版本:https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/tag/v1.4.1 分析S…

nacos应用——占用内存过多问题解决(JVM调优初步)

问题描述 最近搞了一台1年的阿里云服务器,安装了一下常用的MySQL,Redis,rabbitmq,minio,然后有安装了一下nacos,结果一启动nacos内存占用就很高,就比较限制我继续安装其他镜像或者启动别的服务…

b2b.ccb.com:443 需要你的凭据

忙活了一天,晚上回来准备查一下公户的最近的账单。因为昨天晚上熬夜重新做了电脑系统,就下载了建设银行的E路护航,一切安装就绪,准备进入企业网银时,被这些垃圾搞的系统及软件恶心到了,在此记录一下&#x…

CAN 协议常见面试题总结

0.讲一下CAN通讯的过程 第一段:需要发送的通讯设备,先发送一个显性电平0,告诉其他通讯设备,需要开始通讯。 第二段:就是发送仲裁段,其中包括ID帧和数据帧类型,告诉其他通讯设备,需…

Linux Vim批量注释和自定义注释

使用 Vim 编辑 Shell 脚本,在进行调试时,需要进行多行的注释,每次都要先切换到输入模式,在行首输入注释符"#"再退回命令模式,非常麻烦。连续行的注释其实可以用替换命令来完成。 换句话说,在指定…

每天一道算法题:17. 电话号码的字母组合

难度 中等 题目 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits “23” …

计算机提示找不到concrt140.dll怎么办,分享4个有效的修复方法

在计算机使用过程中,我们经常会遇到一些错误提示或者系统崩溃的情况。其中,concrt140.dll是一个常见的错误提示,这个错误通常会导致某些应用程序无法正常运行。为了解决这个问题,我们需要采取一些修复措施。本文将介绍4个修复conc…

【Java 进阶篇】Java Session 原理及快速入门

大家好,欢迎来到本篇博客。今天,我们将探讨Java Web开发中一个重要而令人兴奋的概念,即Session(会话)。Session是一种在Web应用程序中跟踪用户状态和数据的机制。我们将深入了解Session的原理,并通过示例来…

Qt利用VCPKG和CMake和OpenCV和Tesseract实现中英文OCR

文章目录 1. 开发平台2. 下载文件2.1 下载安装 OpenCV 库2.2 下载安装 Tesseract-OCR库2.3 下载训练好的语言包 3. CMakeLists.txt 内容4. Main.cpp4.1 中英文混合OCR 5. 在Qt Creator 中设置 CMake vcpkg5.1 在初始化配置文件里修改5.2 在构建配置里修改 说明:在Q…

npm install:sill idealTree buildDeps

执行npm install,卡在 sill idealTree buildDeps PS D:\workspace-groovy\attendance-india-web> npm install -g cnpm --registryhttps://registry.npm.taobao.org [..................] / idealTree:node_global: sill idealTree buildDeps[.................…

Java代码如何对Excel文件进行zip压缩

1:新建 ZipUtils 工具类 package com.ly.cloud.datacollection.util;import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.net.URLEncoder; import ja…

【EI会议征稿】第四届计算机网络安全与软件工程国际学术会议(CNSSE 2024)

第四届计算机网络安全与软件工程国际学术会议(CNSSE 2024) 2024 4th International Conference on Computer Network Security and Software Engineering 第四届计算机网络安全与软件工程国际学术会议(CNSSE 2024)将于2024年2月…

Adobe Photoshop Elements 2024 v24.0 简体中文版 | 中文直装版

下载: http://dt1.8tupian.net/2/29913a53b500.pg3介绍:Photoshop Elements 2024(简称PSE即PS简化版)是一款定位在数码摄影领域的全新的图像处理软件,该软件包括了专业版的大多数特性,只有少量的简化选项,提供了调整颜…

最新 vie-vite框架下 jtopo安装使用

官方地址 官方源码 安装下载 1.官方好像都没有给git地址,尝试npm安装报错 2.找到1.0.5之前的版本npm i jtopo2,安装成功后使用报错,应该是版本冲突了 1.本地引入, 点击官方源码下载,需要jtopo_npm文件 2.引入到本…

【机器学习3】有监督学习经典分类算法

1 支持向量机 在现实世界的机器学习领域, SVM涵盖了各个方面的知识, 也是面试题目中常见的基础模型。 SVM的分类结果仅依赖于支持向量,对于任意线性可分的两组点,它 们在SVM分类的超平面上的投影都是线性不可分的。 2逻辑回归 …

Python--- lstrip()--删除字符串两边的空白字符、rstrip()--删除字符串左边的空白字符、strip()--删除字符串右边的空白字符

strip() 方法主要作用:删除字符串两边的空白字符(如空格) lstrip() 方法 left strip,作用:只删除字符串左边的空白字符 rstrip() 方法,作用:只删除字符串右边的空白字符 strip 英 /strɪp…

k8s 目录和文件挂载到宿主机

k8s生产中常用的volumes挂载方式有:hostPath、pv,pvc、nfs 1.hostPath挂载 hostPath是将主机节点文件系统上的文件或目录挂载到Pod 中,同时pod中的目录或者文件也会实时存在宿主机上,如果pod删除,hostpath中的文…

android studio 编译Telegram源码经验总结(2023-11-05)

前言 Telegram是一款强大的端到端加密IM,专注于安全性和速度,支持Android/IOS/Windows/macOS等平台,功能丰富,运行流畅,免费开源,代码具有学习和研究意义。 一、android telegram源码下载地址: …