Unity模型导入相关知识

2023-11-18



常见的模型格式

Unity支持很多模型格式,比如:.fbx .dae .3ds .dxf .obj等等。其中最常见也是官方推荐使用的格式是 .fbx,使用FBX模型格式的优势:
1)减少不必要数据,提升导入效率。
2)不需要再每台计算机上安装建模软件的授权副本。
3)对Unity版本无要求,避免了模型因为Unity版本不同而导致错误。
从建模软件导出FBX格式的人物模型注意坐标轴规范:
人物面朝向为Z轴正方向,Y轴正方向为头顶方向,X轴正方向为人物右侧。
具体参考: https://docs.unity.cn/cn/2019.4/Manual/CreatingDCCAssets.html

模型导入参数设置

官方文档:https://docs.unity.cn/cn/current/Manual/FBXImporter-Model.html#CameraImportProperties

Model页签

该页签主要是用于设置:模型比例设置,是否使用导入模型中的摄像机和光源,网格压缩方式等等相关信息。修改模型中存储的各种元素和属性,最终会影响在Unity中使用模型时的一些表现。

Scene设置

在这里插入图片描述
Scale Factor:缩放因子
Unity 中默认一个单位为1m。不同 3D 包的单位默认值如下:
.fbx、.max、.jas = 0.01m;
.3ds = 0.1m;
.mb、.ma、.lxo、.dxf、.blend、.dae = 1m
将模型文件从具有不同缩放因子的 3D 建模应用程序导入 Unity 时,可以通过启用 Convert Units 选项将文件单位转换为使用 Unity 比例。
Convert Units:转换单位
启用可将模型文件中定义的模型比例转换为Unity的比例
不同的格式的比例如下。比如一个FBX模型(ScaleFactor = 0.01),勾选后会缩小100倍。
Bake Axis Conversion:轴转化烘焙
如果启用此属性,当您导入使用与 Unity 不同的轴系统的模型时,可将轴转换的结果直接烘焙到应用程序的资源数据(例如,顶点或动画数据)中。如果禁用此属性,将在运行时补偿根游戏对象的 Transform 组件以模拟轴转换。
Import BlendShapes
是否允许Unity随网格一起导入混合形状。当导入包含混合形状的网格时,将使用Skinned MeshRenderer组件
注意:
1.导入混合形状法线需要在FBX文件中具有平滑组
2.如果想要导入具有法线的混合形状:
1)把下方的Blend Shape Normals属性设置为Import,将使用FBX文件的法线
2)或者把下方的Blend Shape Normals属性设置为Calculate,Unity使用相同的逻辑来计算网格和混合形状
3.如果需要混合形状上的切线,则应将 Tangents 导入设置设为 Calculate
Import Visibility
开启后可以从FBX文件中读取可见性属性。
比如模型动作里 有些动作是要隐藏模型形象的,开启后才会生效。
一些3D建模软件对可见性属性不支持或者有限制,比如Maya和Blender就对可见性有限制。所以一般这个选项要根据你使用的建模软件决定,一般可以不勾选。
文档解释:值和动画曲线可以通过控制 Renderer.enabled 属性来启用或禁用 MeshRenderer 组件(指渐变?)。默认情况下,可见性是可以继承的(设置为 true),但可以覆盖。例如,如果父网格上的可见性设置为 0,那么其子网格上的所有渲染器也将被禁用。在此情况下,将为每个子项的 Renderer.enabled 属性创建一个动画曲线。
Import Cameras:是否导入摄像机,一般不勾选。
Import Lights:是否导入光源,一般不勾选。
Preserve Hierarchy:始终创建一个显示预制体根
通常在导入的时候,FBX会将模型中的空根节点进行优化去掉它。但是如果多个FBX文件中包含同一层级的空根对象,可以勾选它来保留他们。
主要作用是:比如有两个fbx文件,1包含骨骼和网格,2只包含骨骼动画。如果不启用它导入2,那么Unity将剥离根节点,会让层级不匹配让动画不能正常播放。
Sort Hierarchy By Name
启用此属性可在层级视图中按字母顺序对游戏对象进行排序。禁用此属性可保留 FBX 文件中定义的层级视图顺序。

Meshes设置

在这里插入图片描述
Mesh Compression:网格压缩
提高压缩比会降低网格的精度,但是可以减小网格的文件大小。调整该参数可以优化游戏包的大小。
Read/Write Enabled:是否开启读写网格信息
如果开启,Unity将网格数据传给GPU后,在CPU中还会保留可寻址内存,意味着我们可以通过代码访问网格数据进行处理
如果不开启,Unity将网格数据传个GPU后,会将CPU中的可寻址内存中网格数据删除,我们无法再得到网格数据。
开启时,会增加内存占用,关闭时,可以节约运行时内存使用量
何时开启?
1.需要在代码中读取或写入网格数据
2.需要运行时合并网格
3.需要使用网格碰撞器时
4.需要运行时使用NavMesh构建组件来烘焙NavMesh时等等。
Optimize Mesh:优化网格
确定三角形在网格中列出的顺序以提高GPU性能。
Nothing:无优化
Everything:对顶点以及多边形顶点索引进行重新排序。此为默认值。
Polygon Order:仅对多边形重新排序
Vertex Order:仅对顶点重新排序
Generate Colliders:生成碰撞器
启用此属性可在自动附加网格碰撞体的情况下导入您的网格。这可以用于为环境几何体快速生成碰撞网格,但是对于您正在移动的几何体,应避免使用。

Geometry设置

在这里插入图片描述

Keep Quads:保留四边形
启用后,Unity不会将4个顶点的多边形转为三角形,当使用曲面细分着色器时可以启用此选项,因为四边形的曲面周色漆比多边形的效率更高。
Unity 可以导入任意类型的多边形(三角形到 N 边形)。顶点数量超过四个的多边形将始终转换为三角形,无论此设置如何。
如果一个网格有四边形和三角形(或者转换为三角形的 N 边形),那么 Unity 会创建两个子网格来分离四边形和三角形。每个子网格要么只包含三角形,要么只包含四边形。
提示:如果要从 3ds Max 将四边形导入 Unity,必须将其导出为可编辑多边形。
Weld Vertices:合并顶点
合并在空间中共享相同位置的顶点,前提是这些顶点总体上共享相同的属性(UV,法线,切线等等)
开启后相当于会通过减少网格的总数量来优化网格的顶点计数。
默认情况下开启此选项,除非有意保留这些重复顶点,之后想通过代码操作单个顶点和三角形数据。
Index Format
定义网格索引缓冲区的大小,一般都选择16bits,Auto会默认选择16bits,只有在必要时使用32bit。
Legacy Blend Shape Normals
启用后会基于Smoothing Angle值来计算法线。
Normals:法线计算方式
Import:从文件中导入法线,如果文件中不包含法线信息,将使用Calculate模式计算法线。
Calculate:根据Normals Mode、Smoothness Source和Smoothing Angle属性来计算法线。
None:不计算法线。如果网格既没有法线贴图,也不受实时照明的影响,请使用此选项。
Blend Shape Normals
定义如何为混合形状计算法线,只有当Legacy Blend Shape Normals禁用时出现。此值应与 Normals 属性的值匹配。
Normals Mode
计算法线的模式,只有当上方的Normals设置为Import和Calculate才会出现。
Unweighted Legacy:旧版的法线计算方法(在 2017.1 版本之前)。在某些情况下,旧版给出的结果与当前实现给出的结果略有不同。对于在将项目迁移到最新版本的 Unity 之前导入的所有 FBX 预制件,这是默认设置。
Unweighted:法线不加权。
Area Weighted:法线按照图面面积加权。
Angle Weighted:法线按照每个图面上的顶角加权。
Area and Angle Weighted:法线按照每个图面上的图面面积和顶角加权。这是默认选项。
Smoothness Source
设置如何确定平滑行为(哪些边应该是平滑的,哪些应该是粗糙的)。
仅当禁用 Legacy Blend Shape Normals 时,此属性才可见。
Prefer Smoothing Groups:尽可能使用模型文件中的平滑组。
From Smoothing Groups:仅使用模型文件中的平滑组。
From Angle:使用Smoothing Angle值来确定哪些边应该是平滑的。
None:不拆分硬边的任何顶点。
Smoothing Angle
控制是否为硬边拆分顶点。
通常,值越大,产生的顶点越少,仅当Normals设置为Calculate时才可用。
注意:此设置仅用于非常光滑的或者非常复杂的模型,否则,最好在3D建模软件中手动平滑然后导入,始终建议建模的时候就做好,更加准确。
Tangents
定义如何导入或计算顶点切线,仅当Normals设置为Calculate或Import时,此属性才可用。
Import:如果 Normals 设置为 Import,则从 FBX 文件中导入顶点切线。如果网格没有切线,那么将无法使用法线贴图着色器。
Calculate Legacy:使用旧版算法计算切线。
Calculate MikkTSpace :使用 MikkTSpace 计算切线。如果 Normals 设置为 Calculate,则这是默认选项。
Calculate Legacy - Split Tangent:使用旧版算法计算切线,并在 UV 图表上进行拆分。如果网格上的接缝破坏了法线贴图光照,请使用此属性。此属性通常仅适用于角色。
None:不导入顶点切线。网格没有切线,因此将无法使用法线贴图着色器。
Swap UVs
在网格中交换 UV 通道。如果漫射纹理使用光照贴图中的 UV,请使用此选项。Unity 最多支持八个 UV 通道,但并不是所有的 3D 建模应用程序都会导出两个以上的通道。
Generate Lightmap UVs:为光照贴图创建第二个UV通道。

Rig页签

该页签主要是用于设置,如何将骨骼映射到导入模型中的网格,以便能够将其动画化。对于人形角色模型,需要分配或创建Avatar(替身信息),对于非人形角色模型,需要在骨骼中确定根骨骼。该页签的设置影响到动画的正常播放。
在这里插入图片描述

Animation Type:动画类型

1)None:不存在动画,主要用于一些环境静态模型。

2)Legacy:旧版动画类型,与Unity3.x及更早版本一样导入和使用动画,一般不使用。
Generation:选择动画导入方法。
Don’t Import:不导入
Store in Root (New):导入动画并将其存储在模型的根节点中。这是默认设置。

3)Generic:通用模型,非人形模型。需要设置骨骼根节点。使用通用动画系统。
Root Node:选择用于此Avatar的根节点的骨骼(仅当将 Avatar Definition 设置为 Create From This Model 时此设置才可用。)

4)Humanoid
骨架为人形(有两条腿、两条手臂和一个头)。需要使用Avatar化身系统,绑定人主要关节的映射关系。使用人形动画系统。Unity 通常会检测骨架并将其正确映射到 Avatar。有些情况下,可能需要更改 Avatar 定义 (Avatar Definition) 并手动对映射进行配置 (Configure)。
Avatar Definition:选择获取Avatar定义的位置
No Avatar:没有化身系统信息
Create From This Model:根据此模型创建Avatar化身信息
Copy from Other Avatar:指向另一个模型上设置的Avatar化身信息
Source:复制另一个具有相同骨架的 Avatar 以导入其动画剪辑。
Configure…:打开Avatar化身配置,人形动画使用Create From This Model时才有。
Skin Weights:设置影响单个顶点的最大骨骼数量
Standard(4 Bones):使用最多4个骨骼来产生影响。默认值,处于对性能考虑,建议使用此设置
Custom:设置自定义的最大骨骼数,选择后会出现下方的两个选项
Max Bones/Vertex:定义每个顶点的最大骨骼数(以影响给定顶点)。可为每个顶点设置 1 到 32 个骨骼,但是用来影响顶点的骨骼数量越多,性能成本就越高。
Max Bone Weight:设置考虑骨骼权重的最低阈值。权重计算将忽略小于此值的任何值,并且 Unity 会将高于此值的骨骼权重放大为总计 1.0。
Strip Bones:仅将骨骼添加到已指定蒙皮权重的SkinnedMeshRenderers。
Optimize Game Objects
在Avatar化身系统和Animator动画组件中删除和存储所导入角色的游戏对象骨骼层级信息。如果启用会出现下方的Extra Transforms to Expose选项。角色将使用Unity动画系统的内部骨架,可以提高动画角色的性能。仅Avatar Definition为Create From This Model才可勾选。
Extra Transforms to Expose
要暴露的骨骼层级,在下方打钩将暴露该骨骼层级信息,可通过名称搜索对应骨骼信息。勾选表示
希望 Unity 在计算中包含这个变换(骨架的骨骼)。
Toggle All:全选或者反选;Collapse All:全部折叠;Expand All:全部展开

Avatar化身信息设置

在这里插入图片描述
Mapping:关节映射信息。可以从本地读取或者保存为.ht文件。
Muscles&Settings:肌肉和设置

  1. Muscle Group Preview:肌肉群预览
    在这里插入图片描述

可以在这里预览在不同姿势的旋转变化,用来观察之前的关联映射关系是否合理。主要起到预览作用

  1. Per-Muscle Settings:肌肉设置
    在这里插入图片描述

用于设置各骨骼在旋转时的范围限制。因为如果不设置限制,在一些极限角度时(人物动作)会非常奇怪,我们可以在这里单独设置限制范围。

  1. Additional Settings:高级设置
    在这里插入图片描述
    可以设置手脚的扭转和伸展值,一般不会修改他们。

其中Translation DoF比较重要,如果启用,将启用人形角色的移动动画。如果禁用,Unity仅使用旋转对骨骼进行动画化。
但是启用后,会提升性能消耗,因为动画需要执行额外步骤来重定向人形动画,除非动画包含角色某些骨骼的动画式移动才会启用(比如君麻吕的椿之舞?)。一般情况下禁用即可。

Animation页签

当我们选中包含动画剪辑(AnimationClip)的模型时,该页签将显示动画设置相关的内容。动画剪辑是Unity动画的最小构成元素,代表一个单独的动作。当美术同学做好动画导出时建议将模型和动画文件分别导出为:
1.包含网格信息不包含动作信息模型
2.不包含网格信息包含动作信息的动作(模型)文件
动作文件使用modelName@animationName.fbx的方式命名,参考:
在这里插入图片描述
Animation页签包含三大部分:

基础信息设置

在这里插入图片描述

Import Constraints:从此资源导入约束
启用后,Unity会自动添加相应的约束组件将其关联到正确的游戏对象。
Import Animation:从此资源导入动画
如果禁用,下面的都没有,并且不会导入任何动画。
Bake Animations:通过反向动力学(IK)或模拟创建的动画以便推进运动关键帧,仅用于Maya、3Dmax和Cinema4D文件
Anim.Compression:导入动画时使用的压缩类型
Off:禁用动画压缩,在导入时Unity不会减少关键帧数量,效果最好性能较低,文件较大,运行时内存占用也大。通常不建议使用。
Keyframe Reduction:减少冗余关键帧,仅适用于Generic通用动画类型。
Keyframe Reduction and Compression:减少关键帧并在文件中存储动画时压缩关键帧,会影响文件大小,但是内存大小和Keyframe Reduction相同,仅适用于Legacy旧版动画类型。
Optimal:让Unity决定如何压缩,仅适用Generic通用和Humanoid人形动画类型
Rotation Error:设置旋转曲线压缩容错度(百分比),原始旋转值和减小值之间的最小角度。
Position Error:设置位置曲线压缩容错度(百分比)
Scale Error:设置缩放曲线压缩容错度(百分比)
上面的 Animation Compression Errors 用来确定 Unity 是否可以删除位置曲线或缩放曲线上的关键点作为动画压缩策略。如果原始值和消减值之间的差值小于原始值乘以容错度百分比,则 Unity 会删除关键帧。
这些内容仅在Keyframe Reduction或Optimal压缩时可用

Animated Custom Properties:导入你指定为自定义用户属性的任何FBX属性。

Clips:动画剪辑选择列表
可以从列表中选择一个剪辑以显示特定于剪辑的属性。在剪辑预览面板中播放所选剪辑。使用添加 (+) 按钮为此文件创建新剪辑。使用删除 (-) 按钮删除所选的剪辑定义。

动画剪辑属性基本设置

在这里插入图片描述
A:动画剪辑名,可编辑
B:动画剪辑时间轴
可以通过拖动滑块,剪切出整段动画中需要的部分。当我们拖动滑动时,下方将会显示出曲线图通过红色/黄色/绿色,来标记剪切出的剪辑中,角色的某种姿态属性是否能够构成循环。
C:用于控制循环和姿势的剪辑属性
从上到下依次是:
姿态循环:角色的姿态是否在剪辑开始与结束时相似
方位循环:角色根节点朝向的方位,是否在剪辑开始与结束时相似
Y轴根节点运动循环:角色的根节点,在Y轴高度方向上的位置,是否在剪辑开始与结束时相似
XZ平面根节点运动循环:角色的根节点,在XZ平面上的位置是否在剪辑开始与结束时相似

结束拖动时,四种姿态属性的循环评价会记录在右侧,我们可以通过一组勾选栏来选择是否需要循环播放动画,以及是否需要对应属性烘焙进姿态变化中,让根节点保持不变。

LoopTime:这个动画切片在被应用时,是否要循环播放。
LoopPose:是否在循环播放的过程中,对单次切片开头和结尾时的姿态进行循环处理。
Bake Into Pose:将角色对应属性的变换植入到身体(Pose)的运动中,让根节点对应属性的运动不发生改变。
注意!!!即使姿态属性评价为红色。也可以勾选Bake Into Pose ,但此时动画播放完后,身体姿态会与根节点出现很大的偏移,进行状态机混合时就会出现身体姿态的突变
勾选Bake Into Pose,将消除根节点对应的运动属性,在切片播放时,角色对应的旋转/位移,将不会被植入到Unity中(apply root motion勾选)。

通常需要某个姿态属性循环(恒定)的切片,我们应保证剪辑时评价为绿色,并勾选LoopPose/Bake Into Pose。

Cycle Offset:应是一个0到1之间的数值,否则无效,可以设定循环时起始播放位置的偏移。
Base Upon:对应属性的改变要以什么为参照(通常保持默认即可)
—original 引用FBX文件中原先的位置,方位坐标,并以此为参照。通常对Y轴启用,对Rotation启用可能导致人物初始朝向不是Z轴正方向,对XZ平面启用可能导致人物不在原点位置。
—Body Orientation 按身体的朝向变化为参照,通常对Rotation启用
—Center Of Mass 按身体重心位置为参照,选定时,身体重心位置会被至于原点,通常不对Y轴启用,而对XY平面启用
—feet 按脚底的Y轴高度为参照(Y轴高度的另一个参照

Rotation Offset:可以设定旋转的初始偏移。
Y Offset:可以设定Y轴高度的初始偏移。
Mirror:左右镜像翻转动画(仅Humanoid )。
Additive Reference Pose:启用后可以设置附加动画层基础参考姿势的帧。在时间轴中可以看到蓝色标记。
附加动画层:在动画控制器(状态机)中可以添加新的动画层
Pose Frame:当启用参考姿势帧时,该项就是选择的具体是哪一帧。

D:曲线、事件、遮罩等其他属性参数设置
Curves:曲线可以配合Animator作为参数。曲线中的值X轴代表标准化时间(0~1)代表动画的开始和结尾,Y轴的值可以根据需求自己设置,有几个默认曲线也可以选择。
Events:为动画剪辑添加一个事件,当动画播放到事件处时会自动找对象脚本中的同名函数。
Mask:动画遮罩
主要作用是当播放该动画时,可以指定哪一部分或者哪些骨骼排除在外不受动作影响。
Humanoid(人形动画的快捷设置)
我们分别可以控制头、左右臂、左右手、左右腿、根等,点击他们让他们变成红色,就代表做该动作时不影响该部位。
Transform(明确指定哪些骨骼关节点不受影响)
Motion:当导入的动画剪辑包含根运动时,我们可以在这里手动设置特定骨骼关节点作为我们的根运动节点。
Import Messages:如果在动画导入过程中出现任何问题,动画导入检视面板 (Animations Import Inspector) 顶部会显示警告,你可以将 Generate Retargeting Quality Report 选中,Unity会帮我们生成更多的有关重定向问题的具体信息。
只有看到警告动画不正确时才启用,可以帮助我们排查问题。

预览窗口

可以从project窗口拖入模型进行动作预览。

在这里插入图片描述

Materials页签

可以使用此选项卡更改 Unity 在导入模型时处理材质和纹理的方式。
若没有指定任何材质的模型时,它使用 Unity 漫反射材质。如果模型有材质,Unity 会将这些材质导入为子资源。
在这里插入图片描述
Material Creation Mode:定义希望Unity如何为模型生成或导入材质
None:不使用此模型中嵌入的任何材质,改用Unity的默认漫反射材质。
Standard:导入时,Unity使用默认规则来生成材质。
Import via MaterialDescription(Experimental):导入时,Unity使用FBX文件中嵌入的材质描述来生成材质。与Standard相比,该方法结果更准确,并且支持更广泛的材质类型。
sRGB Albedo Colors:是否在伽马空间中使用反射率颜色。对于使用线性颜色控件的项目,禁用此选项。如果上面的选项选择的是 Import via MaterialDescription(Experimental)该属性不可用。
Location:定义如何访问材质和纹理。
Use Embedded Materials:将导入的材质保持在导入的资源中。从 Unity 2017.2 版本开始,这是默认选项。
Use External Materials(Legacy):将导入的材质提取为外部资源。旧版材质处理方式,适用于2017.1或更早的Unity版本创建的项目。Naming 和 Search 属性可帮助 Unity 找到导入的材质以映射到模型。
Extract Textures/Materials:当选择Use Embedded Materials后会出现的内容。这两个按钮可以提取导入的资源中嵌入的所有材质和纹理。如果没有需要提取的子资源,这两个按钮会显示为灰色。
Naming:定义材质的命名规则
By Base Texture Name:使用导入材质的漫反射纹理名称来命名材质。如果未将漫反射纹理分配给材质,Unity将使用导入材质的名称。
From Model’s Material:使用导入材质的名称来命名材质。
Model Name + Model’s Material:使用模型文件的名称与导入材质的名称相结合来命名材质。
Search:定义在使用Naming选项定义的名称时查找现有材质的位置规则。
Local Materials Folder:在本地Materials材质子文件夹(模型文件所在的同一文件夹)中查找现有材质。
Recursive-Up:在所有父文件夹(一直向上追溯到Assets文件夹)中所有Materials子文件夹中查找现有材质。
Project-Wide:在所有Unity项目文件夹中查找现有材质。
如果找到了,Unity会自动关联,如果没有找到,我们可以手动进行关联。

参考链接:
https://zhuanlan.zhihu.com/p/105029905
https://docs.unity.cn/cn/current/Manual/models.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity模型导入相关知识 的相关文章

  • UE4 解决景深效果闪烁问题

    原因 1 模型的垂直竖线 造成抗锯齿算法对竖线的渲染计算 处于一种不稳定的状态 因此闪烁 解决办法 使用LOD 用贴图去替代线条模型 2 材质的法线贴图 当法线贴图含有垂直竖线的纹理效果 也会造成闪烁 比如这种幕墙材质 解决办法 关闭或动态
  • Unity 粒子特效、材质发光 HDR ShaderGraph图文教程[完成lit发光设置]

    效果如图 准备工作 在hdr模式下 关闭Directional Light 相机设置 移动球挂一个点光源作为子节点 设置自行调节 0 创建移动球的材质及shader shader gt 在Project Create Shader Grap
  • Unity动画控制器animator.CrossFade

    需要特别注意 1 CrossFade虽然可以不用任何逻辑来链接而直接跳转 但是CrossFade只能覆盖其他动画 当当前动画播放完毕而没有跳出这个动画时再次调用CrossFade将会失败 造成动画依旧停在原位 参数animator Cros
  • Unity Shader入门精要第七章 基础纹理之遮罩纹理

    Unity系列文章目录 文章目录 Unity系列文章目录 前言 一 实践 参考 前言 遮罩纹理 mask texture 是本章要介绍的最后一种纹理 它非常有用 在很多商业游戏中 都可以见到它的身影 那么什么是遮罩呢 简单来讲 遮罩允许我们
  • Unity中按钮检测鼠标状态

    改方法主要是用于按钮检测鼠标的进入 滑出 点击 抬起 长按 长按停止 1 先将下面这个脚本挂载到需要检测鼠标状态的按钮上 using System Collections using System Collections Generic u
  • Unity3d 插件 系列——DoTweenPro介绍(图文详细+案例)

    Unity3d 插件 系列 DoTweenPro介绍 图文详细 案例 前言 一 DoTweenPro简介 二 DoTweenPro安装 三 DoTweenPro主要组件 1 DoTweenAnimation 2 DoTweenPath 3
  • unity中创建询问弹出窗口

    在开发过程中进程会遇到需要弹出一个窗口询问用户是否进行的操作 今天就来制作一个这样弹出窗口 然后根据弹出窗口的选择内容不同进行不同的操作 本例中主要是为了删除一个数据 而在删除数据操作前需要得到用户的一个确认操作 这里面主要用到了Notif
  • Unity学习笔记(一)—— 基础知识

    一 基础知识 1 开发团队组成 2 unity特点 图形界面 所见即所得 入门简单 支持C 比OC C 更友好 js 国内外资源丰富 因为使用的人多 跨平台性好 PC端 移动端等 对VR AR的支持最完善 3 成功案例 游戏 炉石传说 神庙
  • 【IMGUI】 各种辅助类 EditorGUIUtility、EditorUtility、GUIUtility、GUILayoutUtility

    EditorGUIUtility class in Editor 继承自 GUIUtility EditorGUI 的各种辅助程序 EditorGUIUtility currentViewWidth 我尝试打印了下这个值和position
  • unity: C#的Action Event Delegate的异同

    目录 一 Action 二 Event 三 Action和Event区别 四 Delegate 总结 Action Event Delegate的异同 前言 Action Event和Delegate都是C 语言中的重要概念 分别用于管理函
  • 【Unity】按Esc进入操作菜单

    本文章是基于如下视频的自我总结 https www youtube com watch v JivuXdrIHK0 步骤如下 1 在Canvas 界面添加一个Panel Panel中添加一个按钮 调整按钮的大小为合适大小 调整字体的大小为合
  • unity3d 自定义的图片无法放入source image中

    须将图片的texture type改为 sprite
  • unity3d image组件不显示

    需要将UI组件放到画布下面
  • 【Unity】如何让Unity程序一打开就运行命令行命令

    背景 Unity程序有时依赖于某些服务去实现一些功能 此时可能需要类似打开程序就自动运行Windows命令行命令的功能 方法 using UnityEngine using System Diagnostics using System T
  • 【Unity】运行时创建曲线(贝塞尔的运用)

    Unity 运行时创建线 贝塞尔的运用 1 实现的目标 在运行状态下创建一条可以使用贝塞尔方法实时编辑的网格曲线 2 原理介绍 2 1 曲线的创建 unity建立网格曲线可以参考 Unity程序化网格体 的实现方法 主要分为顶点 三角面 U
  • Unity中URP下的指数雾

    文章目录 前言 一 指数雾 雾效因子 1 FOG EXP 2 FOG EXP2 二 MixFog 1 ComputeFogIntensity 雾效强度计算 2 lerp fogColor fragColor fogIntensity 雾效颜
  • Unity中URP下的指数雾

    文章目录 前言 一 指数雾 雾效因子 1 FOG EXP 2 FOG EXP2 二 MixFog 1 ComputeFogIntensity 雾效强度计算 2 lerp fogColor fragColor fogIntensity 雾效颜
  • 游戏开发之常见操作梳理——武器装备商店系统(NGUI版)

    游戏开发中经常出现武器商店 接下来为你们带来武器装备商店系统的具体解决办法 后续出UGUI Json版本 敬请期待 武器道具的具体逻辑 using System Collections using System Collections Ge
  • 游戏开发常见操作梳理之角色选择一

    进入游戏后 我们经常会进入角色选择的界面 通常是左右两个按钮可以更改角色供玩家选择 对于这种界面我们通常使用数据持久化将角色信息存储起来 接下来的笔记中 我将使用自带的数据持久化系统对其进行操作 实现角色的选择页面 后续会更新xml系列的文
  • 游戏开发常见操作系列之敌人系统的开发一(U3D)

    在开发游戏的过程中 我们常常会出现一些敌人攻击我们玩家 并且实现掉血以及死亡的现象 敌人还会源源不断地生成 这是怎么制作的呢 接下来为大家提供方法 其中使用了NGUI 后续会更新其它方法 敬请期待 使用HUDText实现扣血时显示文本 直接

随机推荐

  • SpringBoot集成hystrix

    文章目录 hystrix有什么用 在SpringBoot项目中集成 更多配置示例 配置线程池 配置信号量 配合feignClient使用 基本配置 可视化组件 视图hystrix dashboard 汇总监控turbine 参考 hystr
  • elementUI dialog 弹窗组件的使用-title 属性的文字提示 没有设置 center 属性但是居中了

    项目场景 elementUI dialog 弹窗组件的使用 问题描述 elementUI dialog 弹窗组件使用时 title 属性的文字提示 没有设置 center 属性但是居中了 原因分析 原因是在该组件的外层使用了 text al
  • Qt一个信号关联多个槽传输数据

    测试描述 一个TCP服务 三个处理线程 tcp接收的数据传输至三个线程使用 使用信号与槽进行通讯 信号与槽连接如下 关联1 connect tcpServer SIGNAL recBytes QByteArray panorama SLOT
  • Java Beans 介绍

    Java版本 8 写JavaBeans组件 编写JavaBeans组件非常简单 您不需要特殊的工具 也不需要实现任何接口 编写bean只是遵循某些编码约定的问题 您所要做的就是使您的类看起来像一个bean 使用bean的工具将能够识别和使用
  • 淘宝问问:电商AI,重新定义购物体验

    AI大模型进展的如火如荼 怎么少得了电商平台的参与 淘宝率先打响了第一枪 每一个软件都会有自己的 Copilot 淘宝的就叫 淘宝问问 用户可以在淘宝上使用 淘宝问问 来获取商品信息 价格 评价等 当前是内测版 虽有惊喜 但终究是刚刚发布内
  • 同态加密的原理详解与go实践

    学习资料来源 知乎VenusBlockChain https zhuanlan zhihu com p 110210315 知乎刘巍然 https www zhihu com question 27645858 answer 3759850
  • 空间注意力机制_计算机视觉中attention机制的理解

    一 前言 简介 对于attention机制的理解 在看了attention is all you need这篇文章和参考网上一些文章之后 做一个简单的理解和总结 在 attention is all you need 的这篇文章中给出了在n
  • PySide6-控件教程-006-QLabel标签控件-信号

    QLabel 标签控件 本文摘录自我的开源教程 PySide6 代码式教程 QLabel CSDN 平台仅做镜像 答疑 纠错请至 GitHub 提交 issue 信号 QLabel的可用信号只有链接被悬停 链接被点击两种 具体如下 link
  • 金融安全视角农民投资理财的实证研究——以X县为例

    金融安全视角农民投资理财的实证研究 以X县为例 摘要 近年来 随着经济全球化进程的推进 国民收入逐年增加 人们的经济意识也在一定程度上提高 适当的投资和财务管理正在迅速发展 然而 大部分调查数据显示 农民面临的诸多问题还有很多其他原因 包括
  • Qt技巧:QTextEdit显示网络图片

    Qt5的QNetworkAccessManager 类可以很方便的访问网络资源 QNetworkRequest类可以用于发送网络请求 而QNetworkReply则负责接收处理网络资源 今天遇到一个问题 如何在QTextEdit上显示一张网
  • 字节跳动(今日头条),为何战斗力如此凶猛?

    本文转载自公众号 中产之路 年前 一位久未联系的朋友问京杭君 有没有研究过今日头条 还有没有上升空间 这位朋友在杭州阿里工作多年 后出来创业 有猎头联系他 今日头条要在杭州成立技术中心 招负责人 那时候 今日头条 还是这间公司最重要的产品
  • 编辑器Vim

    vi简介 vi是 Visual interface 的简称 它在Linux上的地位就仿佛Edit程序在DOS上一样 它可以执行输出 删除 查找 替换 块操作等众多文本操作 而且用户可以根据自己的需要对其进行定制 Vi不是一个排版程序 它不象
  • 蓝牙耳机BES 2300P 主从配对连接,以及主从自定义收发数据

    恒玄SDk预留了用户接口位于app ibrt customif cmd cpp 中 发送数据的前提是进行主从配对连接 sdk给与了两种模式 IBRT SEARCH UI 未定义时我们可以自己定义主从蓝牙地址 IBRT SEARCH UI 定
  • 服务器系统能耗,服务器能耗怎么计算

    服务器能耗怎么计算 内容精选 换一换 DESS磁盘扩容成功后 需要在裸金属服务器的操作系统中对扩容部分的磁盘分配分区 已登录裸金属服务器 详细操作请参见 裸金属服务器用户指南 中章节 登录Windows裸金属服务器 已挂载磁盘至裸金属服务器
  • JS实现约瑟夫环

    传说罗马人占领了乔塔帕特 41 个犹太人被围堵在一个山洞里 他们拒绝被俘虏 而决定集体自杀 大家决定了一个自杀方案 41 个人围成一个圈 由第 1 个人开始顺时针报数 每报数为 3 的人立刻自杀 然后再由下一个人重新从 1 开始报数 依旧是
  • 笔记本电脑微信视频对方却听不到声音

    我真的是把网上的所有教程 试遍了都没弄好 我自己突发奇想要不然更新下 结果就成功了 首先可以先看看是不是微信版本的原因 麦克风出现问题了 右击我的电脑 gt 属性 gt 设备管理器 gt 音频输入和输出 gt 右击麦克风 gt 更新驱动程序
  • 数值分析Matlab二维正态(高斯)分布以及协方差矩阵

    数值分析Matlab二维正态 高斯 分布以及协方差矩阵 主要是使用了matlab的mvnrnd产生随机的正态 高斯 分布二维矩阵 然后绘制出来 代码运行结果生成的正态分布实验数据如图 MATLAB代码 mu1 0 0 sigma1 4 2
  • ACM输入输出

    写在前面 主要记录一下ACM输入输出的写法 一 输入数值 1 给定N的定长多行输入 题目 https ac nowcoder com acm contest 5657 B 代码 include
  • 【Java】基于朴素贝叶斯算法破解基于哈希表的随机字符替换加密算法

    Java 基于朴素贝叶斯算法破解基于哈希表的随机字符替换加密算法 不用看了 这篇文章是错的 得出的结果也不是正确的结果 我想错了 因为这个解密算法的前提是已经知道哈希表的情况下去计算的 而实际上应该是只靠统计去分析密文 所以实际破解所需要的
  • Unity模型导入相关知识

    文章目录 常见的模型格式 模型导入参数设置 Model页签 Scene设置 Meshes设置 Geometry设置 Rig页签 Animation Type 动画类型 Avatar化身信息设置 Animation页签 基础信息设置 动画剪辑