- 博客(26)
- 资源 (3)
- 收藏
- 关注
原创 Unity pivor和anchor的不同点
pivot点的位置通常是相对于对象自身的,可以通过改变transform组件的pivot属性来调整。Unity的UI布局是一个非常重要的概念,而pivot和anchor是其中两个关键的概念。在本篇博客中,我将为您详细介绍pivot和anchor的概念,以及它们之间的区别。在上面的示例中,我们通过代码设置了一个UI元的pivot和anchor属性。看到,pivot用于定义UI元素的中心点,而anchor用于定义UI元素相对于父级容器的位置和大小。首先,让我们来了解一下pivot和anchor的概念。
2023-11-13 19:50:08
338
原创 Unity Quaterion介绍和代码示例
在Update函数中,我们首先获取当前游戏对象的旋转角度,然后使用Quaternion.LookRotation函数计算出目标旋转角度。在Update函数中,我们首先获取当前游戏对象的旋转角度,然后创建一个新的Quaternion来表示旋转增量。我们使用Quaternion.Euler函数来创建旋转增量,它接受三个参数,分别是绕x轴、y轴和z轴旋转的角度。在代码中,我们可以使用Quaternion来进行旋转操作。通过使用Quaternion进行旋转和插值旋转,我们可以在Unity中实现各种各样的旋转效果。
2023-10-26 09:17:18
612
原创 Unity Raycast用法
通过投射一条光线来判断光线是否与场景中的物体相交,并获取相交点的信息。Raycast是Unity中非常有用的一种技术,可以用于各种场景中的碰撞检测和交互。我们可以使用hit.point获取相交点的坐标,使用hit.collider.gameObject获取相交的物体。然后,将该层作为Raycast的参数之一,以限制光线只与该层的物体进行碰撞检测。然后,使用Physics类的Raycast方法进行光线投射,并获取光线与物体相交的结果。SphereCast:可以投射一个球体形状的光线,用于检测场景中的物体。
2023-10-21 10:18:13
2231
原创 Unity SetActive和OnEnable一一对应关系
通过重写OnEnable和OnDisable方法,我们可以在Unity中实现在SetActive(true)和SetActive(false)时调用特定的代码。在Unity中,当一个游戏对象的SetActive(true)方法被调用时,该游戏对象的OnEnable方法会被自动调用。因此,我们可以通过重写OnEnable方法来实现在SetActive(true)时调用特定的代码。类似地,当一个游戏对象的SetActive(false)方法被调用时,该游戏对象的OnDisable方法会被自动调用。
2023-10-21 10:14:29
548
原创 Unity Character controller和刚体RigidBody详细区别
Character Controller适用于控制角色的移动和碰撞检测,但不受物理引擎的影响,因此在处理角色与其他物体之间的碰撞时可能会有一些限制。如果需要更加真实的物理行为或者复杂的碰撞检测,可以选择使用Rigidbody,但需要更多的开发工作。本文介绍了Character Controller和Rigidbody在角色控制方面的区别,并给出了使用这两种方式控制角色移动的示例代码。Character Controller可以通过代码控制角色的移动、跳跃、旋转等动作,并且可以检测角色与其他物体的碰撞。
2023-10-21 10:07:50
1811
原创 UnityCharacter Controller基本用法
本文将介绍Unity Character Controller的基本用法,并提供一些代码示例,帮助读者更好地理解和应用角色控制器。与Rigidbody组件相比,Character Controller更适用于处理角色的移动和碰撞,因为它不受物理引擎的影响,并且提供了更多的控制选项。要创建一个角色控制器,首先需要在Unity中创建一个角色对象,并将Character Controller组件添加到该对象中。如果角色与墙壁发生碰撞,我们将移动向量设为零,使角色停止移动。角色碰撞是角色控制器的另一个重要功能。
2023-10-21 10:02:15
826
原创 Unity Blend shape基本用法
通过定义和控制不同的 Blend Shapes,我们可以实现平滑的面部表情和形状变化。在本篇博客中,我们介绍了 Blend Shapes 的基本概念,并提供了一个简单的代码示例来帮助你开始使用 Blend Shapes。然后,根据用户的输入调整权重。通过在角色模型上定义一系列不同的面部表情或形状,然后通过调整这些形状的权重,我们可以实现平滑的面部动画效果。通过调整权重的值,我们可以实现不同的面部表情或形状变化。继续为模型的其他部分创建 Blend Shapes,直到我们定义了所有需要的表情或形状。
2023-10-18 10:11:43
1848
1
原创 Unity skin mesh renderer实例与介绍
然后,我们创建了一个新的骨骼实例,并将其作为角色模型的子物体。然后,我们创建了一个新的动画控制器,并将动画剪辑添加到动画控制器状态中,最后启动动画播放。通过以上代码示例,我们可以看到使用皮肤网格渲染器可以很方便地实现角色模型的动画渲染和皮肤绑定。皮肤网格渲染器的作用就是将角色的皮肤和骨骼绑定在一起,使得角色在动画播放时,皮肤可以根据骨骼的变化而自动变形。皮肤网格渲染器(Skin Mesh Renderer)是一个在Unity游戏引擎中常用的组件,用于在角色模型上渲染动画时,对角色的皮肤进行自动绑定。
2023-10-18 10:01:56
779
1
原创 Unity Dotween插件的基本用法和代码示例
在上述示例中,我们首先使用 DOTween.To 方法创建了一个 Tween 动画,该动画会从 target.position 的初始值平滑过渡到 destination 的值,过渡时间为 1 秒。然后,我们通过调用 OnComplete 方法在动画结束后执行一些自定义的逻辑。Sequence 动画是 dotween 的另一个强大功能,它可以让我们按照一定的顺序依次执行多个 Tween 动画。Tween 动画是 dotween 的核心功能之一,它可以让我们对游戏对象的属性进行平滑的过渡动画。
2023-10-13 09:53:01
515
1
原创 Unity Canvs group的用法介绍/批量管理UI
控制画布的交互性:通过设置 Canvas Group 组件的 Interactable 属性,可以控制画布是否可交互。将 Canvas Group 组件添加到画布上:在 Unity 编辑器中,选中画布对象,然后点击菜单栏的 Component -> UI -> Canvas Group,即可在画布上添加 Canvas Group 组件。控制画布的透明度:通过设置 Canvas Group 组件的 Alpha 属性,可以控制画布的透明度。将画布的交互性设置为 false。将画布的透明度设置为 0.5。
2023-10-09 21:57:18
502
1
原创 Unity FSM 有限状态机 介绍与简单示例
状态机是一种非常有用的编程模式,它可以帮助我们清晰地定义对象的各种状态以及状态之间的转换。通过定义不同的状态类,并在状态机中进行状态转换,我们可以轻松地管理游戏对象的不同行为。在实际开发中,我们可以根据需要添加更多的状态,并在不同的状态之间进行转换。在这个基类中,我们需要定义状态的进入、退出和更新方法。接下来,我们需要创建一个状态机类,在这个类中我们可以管理不同的状态,并且处理状态之间的转换。最后,在游戏对象的脚本中,我们可以创建一个状态机对象,并在Update方法中更新状态机。
2023-10-09 18:46:49
804
2
原创 Addressable介绍与 示例
首先,Resources.Load()只能加载在Resources文件夹下的资源,而如果需要加载其他位置的资源,则需要手动拷贝到Resources文件夹下。通过使用Addressable Unity,开发者可以更加灵活地加载和释放资源,减少内存的占用,并且提供了异步加载的功能,不会卡顿游戏。其次,Addressable Unity支持异步加载,可以在后台加载资源,不会卡顿游戏。Addressable Unity是Unity引擎中一种用于管理资源的插件,它提供了一种方便的方式来加载和管理游戏中的资源。
2023-10-08 03:13:33
257
1
原创 UnityAssetBunddle的用法和示例
我们可以在编辑器中点击Build Asset Bundle来打包资源,然后将生成的Asset Bundle文件拷贝到游戏运行时的目录中,再运行游戏,就可以看到我们打包的资源被成功加载和使用了。Asset Bundle是Unity的一种资源打包方式,它允许开发者将游戏中的资源(如模型、材质、纹理等)打包成一个个独立的包,以便在游戏运行时动态加载和卸载。通过将资源打包成独立的Asset Bundle文件,我们可以在游戏运行时动态加载和卸载资源,提高游戏的性能和加载速度。
2023-10-06 20:49:04
186
1
原创 SpringBoo和MyBatis用于做游戏后端
在下面的示例中,我们将演示如何使用SpringBoot和MyBatis来创建一个简单的用户管理系统。现在,我们可以运行这个应用程序,并通过HTTP请求来测试用户管理的功能。例如,发送一个POST请求到http://localhost:8080/users,并在请求体中含一个用户的JSON数据,就可以创建一个新的用户。它简化了Spring应用程序的开发过程,并提供了各种功能和特性,使开发人员可以更加专注于业务逻辑的实现。通过简化配置和提供一些便捷的功能,我们可以更专注于业务逻辑的实现,提高开发效率。
2023-10-06 19:31:26
237
1
原创 Solid设计模式与示例
如果需要修改计算订单总金额的逻辑,只需要修改Customer类中的calculate_total方法即可,而不需要修改其他代码。Solid设计模式(SOLID)是一组原则,用于指导软件设计中的设计决策,以提高代码的可读性、可维护性和可扩展性。这意味着当需要添加新功能时,应该通过扩展现有代码来实现,而不是修改已有的代码。这些原则可以帮助我们降低代码的复杂性,提高代码的可读性和可维护性,并支持系统的可扩展性和可重用性。这意味着应该将大的接口拆分成小的、专注的接口,以减少对不需要的功能的依赖。
2023-10-06 18:25:51
213
1
原创 CQRS设计模式详解与简单示例
CQRS(Command Query Responsibility Segregation)是一种软件设计模式,用于将应用程序的读取操作(查询)和写入操作(命令)分离。通过将读取和写入操作分离,我们可以更好地处理复杂的应用程序需求,并且提高应用程序的可扩展性、性能和灵活性。在传统的应用程序中,读取和写入操作通常在同一个模块中。这种设计方式在简单的应用程序中可能没有问题,但在复杂的应用程序中,可能会导致性能问题或难以维护的代码。下面是一个简单的示例,演示了如何在CQRS模式下实现一个简单的购物车应用程序。
2023-10-06 18:21:49
492
1
原创 Unity的Job system简介与代码示例
Job system可以在多个线程上同时执行任务,充分利用多核处理器的性能,从而加快计算速度。Job system还提供了一些工具和功能,以帮助开发者更好地管理任务的执行。除了Job system,Unity还提供了其他的多线程工具和功能,例如ParallelFor,ParallelForEach等,这些工具可以进一步提高游戏的性能和响应速度。在Unity中,Job system是一种用于多线程和并行计算的编程模型,旨在提高游戏性能。它是Unity的一个核心功能,用于处理游戏中的计算密集型任务。
2023-10-05 11:36:10
429
1
原创 ECS安装需要的插件
您可以通过Unity的Package Manager窗口来安装这些软包。打开Package Manager窗口后,您可以搜索相关的软件包,并点击安装按钮进行安装。Unity.Mathematics:这个软件包提供了一些数学工具和数据结构,用于在ECS中进行数学计算。Unity.Entities:这是ECS的核心软件包,提供了实体组件系统的功能。
2023-10-05 08:31:36
169
原创 Unity的ECS框架详解与代码,火爆的最新框架,超越OOP设计模式
ECS 是一种用于管理复杂游戏对象的架构模式,它通过分离行为和属性成组件和系统,提供了更高的性能、更好的代码重用和更灵活的设计能力。它通过将对象的行为和属性分离成不同的组件,以实现更好的代码重用和性能优化。请注意,这只是一个简单的示例,实际使用时可能还需要处理更多的组件和系统,以实现更复杂的游戏逻辑。更灵活的设计:ECS 允许开发人员按需组合和修改游戏对象的行为和属性,从而实现更灵活的设计。更高的性能:由于组件是紧凑存储的,系统可以更有效地遍历和处理组件,从而提高游戏的性能。
2023-10-05 08:17:21
2680
1
原创 AssetBundle基本功能详解和实例代码
开发人员可以创建仅包含更新内容的资产包,并将推送给用户,而无需发布整个应用程序的新版本。通过将特定语言的资产离到不同的资产包中,开发人员轻松地在不同语言之间切换,而无需将所有语言资产包含在主应用程序包中。游戏开发:资产包在游戏开发中被广泛使用,用于打包交付游戏资产,如3D模、纹理、音频文件和动画。开发人员可以为特功能、关卡或附加组件创建单独的资产包,使用户可以通过简单地添加或删除相应的资产包来自定义和扩展应用程序的功能。按需资产加载:资产包实现了按需资产,只在需要时将所需的资产加载到内存中。
2023-10-04 19:46:13
99
1
原创 Unity shader graph介绍
Shader Graph 生成的 shader 代码是与 Unity 的渲染管线兼容的,可以在任何支持 shader 的平台上运行,如 PC、移动设备、主机等。开发者可以将生成的 shader 应用于材质或特效,以实现自定义的渲染效果。它还提供了一些内置的调试工具,如节点值的查看和输出的调试显示,以帮助开发者更好地理解和调试 shader。Shader Graph 是一个强大且易于使用的工具,使开发者能够以可视化的方式创建和编辑 Unity shader,从而提高开发效率并实现更复杂、更逼真的图形效果。
2023-10-04 19:19:09
182
1
原创 Unity shader介绍
片段着色器则决定每个像素的最终颜色。要在Unity中使用这个shader,只需将代码保存为一个名为"ColorTextureShader.shader"的文件,然后将其放置在项目的"Assets"文件夹中。无论是创建逼真的材质、实现特殊的渲染效果,还是优化游戏性能,Unity shader 都是非常强大和灵活的工具。它还可以与Unity的其他功能结合,如脚本、动画和物理引擎,以创建更加复杂和逼真的图形效果。Unity shader 是一种用于渲染图形的编程语言,它在Unity游戏引擎中被广泛使用。
2023-10-04 19:16:29
309
1
原创 Unity Game Framework入门安装
1.Game Framework 是一个基于 Unity 引擎的游戏框架,主要对游戏开发过程中常用模块进行了封装。3. 拖入unity立即可以使用。
2023-10-04 02:10:12
374
1
概率编程Practical.Probabilistic.Programming
2018-01-11
程序面试经典+剑指offer+算法导论+算法(java第四版)
2017-12-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人