![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unity零基础课程
文章平均质量分 61
Unity3d青子
数字媒体技术专业/Unity爱好者
北京林业大学/河南职业技术学院
展开
-
【Unity回调函数】创建自己的外部回调函数——以按钮点击为例
现在,让我们创建一个简单的脚本来定义按钮点击时执行的逻辑。这个脚本可以放在任何地方,只要它能被Inspector访问到。通过以上步骤,我们学习了如何在Unity中为按钮点击事件创建一个外部回调函数,使得按钮的响应逻辑可以灵活地指定和修改,无需硬编码。这种方法不仅适用于按钮,对于Unity中的大多数可交互元素都同样适用,极大地增强了项目的灵活性和可扩展性。希望这篇教程能够帮助你更好地理解和应用Unity中的回调机制。原创 2024-06-11 10:51:40 · 565 阅读 · 0 评论 -
【Unity UGUI+Pixso】 轻松实现UI原型设计图到Unity中移植
美术只需要用Pixso 把所有UI界面以及跳转关系、全部图标、色彩、文字、字体设计好即可!然后分享设计项目链接给其他3D美术人员、程序员!打开Unity 搭建UI的时候,同时打开Pixso 项目链接。原创 2024-05-18 19:43:18 · 237 阅读 · 0 评论 -
Liquid Volume Pro 2 5.0动态水液体流体插件的使用经验
任意模型,添加一个脚本Liquid Volume 就变成装满液体的容器了。剩下的就是认真调节参数了!所有参数都在这个脚本上面!原创 2024-05-16 22:48:06 · 264 阅读 · 0 评论 -
【Unity】为小球添加爆发力往前移动的代码
代码里的几个变量都需要在场景中提前创建好并赋值官方文档关于爆发力的解释Rigidbody-AddExplosionForce - Unity 脚本 API向模拟爆炸效果的刚体施加力。原创 2024-05-14 11:47:08 · 535 阅读 · 0 评论 -
【UGUI】实现长按播放动画松手停止动画播放
在这个组件里面添加PointerDown 和PointerUp 这两个分别代表按下和弹起!接下来就写两个回调函数控制动画切换跑步和站立状态即可!创建一个普通按钮在UGUI里面,为按钮添加组件EventTrgger。场景部分,需要把角色和动画组件、动画控制器、动画片段准备好。然后设置好转换动画的参数RUN (bool类型的)原创 2024-05-07 11:58:00 · 316 阅读 · 0 评论 -
Unity发布Andriod构建失败各种原因汇总Calling IPostGenerateGradleAndroidProject callbacks
工程路径不能有中文(老生常谈了) 计算机用户名不能是中文,改完重启 注意上方截图,我的用户名那时候是中文的.我是最后在解决这个问题以后成功的 删除C:\Users\Administrator\.gradle目录(让Unity重新构建此目录) 删除.C:\Users\Administrator\.android目录(解决构建时密钥报错问题) (上述两个目录如果删不掉,去任务管理器干掉所有java.exe进程,不行就重启) 网络堵塞,取消代理软件原创 2024-04-14 14:00:43 · 490 阅读 · 0 评论 -
[Unity]实现点击不同图标克隆对应物体到同一个父物体下面+形参传递写法
【代码】[Unity]实现点击不同图标克隆对应物体到同一个父物体下面。原创 2024-04-12 16:39:19 · 512 阅读 · 0 评论 -
【Unity添加远程桌面】使用Unity账号远程控制N台电脑
功能强大,足以让开发人员、设计师、建筑师、工程师等等随时随地完成工作或协助别人。注意这个代码中 CurrentVersion 是我们自己安装完被控端以后的文件代码。输入修改版本号后的代码,粘贴进去!然后随便给当前主机命名输入名字!然后输入密码(注意,输入密码时在命令界面是看不见的,一般6个数字就可以)然后管理员运行CMD窗口windows+R 输入CMD。在网站登录自己的Unity 账号上去。3.代码添加当前主机。原创 2024-04-08 11:54:40 · 825 阅读 · 1 评论 -
【解决】Unity Package Manager包管理器联网链接失败
小提示:只有在商城添加到我的资源的 资源内容才可以在Package Manager的Asset中查看到。原因是因为ID异常登录,需要在当前电脑上重新登录AssetStore。打开AssetStore资源商店,重新登录账户即可。原创 2024-03-19 15:57:19 · 1073 阅读 · 0 评论 -
【Unity动画】Unity如何导入序列帧动画(GIF)
Unity 不支持GIF动画的直接播放,我们需要使用序列帧的方式。原创 2024-03-18 09:45:16 · 2112 阅读 · 6 评论 -
Unity Live Capture 中实现面部捕捉同步模型动画
Unity Face Capture 是一个强大的工具,可以帮助你快速轻松地将真实人脸表情捕捉到数字模型中。在本文中,我们将介绍如何在 Unity Face Capture 中实现面部捕捉同步模型动画。安装软件插件。我的版本是Unity2022,我在包管理器中搜到面部跟踪将应用程序连接到 Unity 编辑器确保正确。打开:从 Unity Editor 主菜单中,选择。创建类型的 Connection 并启用它。在“人脸捕捉”应用中,启用与已创建服务器。原创 2024-03-16 20:57:03 · 1557 阅读 · 0 评论 -
Unity 发布安卓提示错误The build requires CMake 3.22.1 to be present.
3.22.1" Unity 发布安卓提示错误。遇到的问题是使用 Unity 构建安卓项目时提示找不到 CMake 3.22.1 的错误。以管理员身份打开命令提示符或终端。在开始菜单中搜索“命令提示符”或“终端”,右击应用,然后选择“以管理员身份运行”。完成这些步骤后,请再次尝试为安卓构建您的 Unity 项目。通常,这个错误应该已经解决,构建过程应该可以顺利进行。完成后,您可以关闭命令提示符或终端。输入以下命令并按 Enter 键进入包含。重启 Unity 以使更改生效。原创 2024-03-15 21:16:49 · 1414 阅读 · 14 评论 -
【Unity】旋转的尽头是使用四元数让物体旋转
在这里,使用了四元数的乘法运算符`*=`,这是因为在3D空间中,旋转可以通过四元数相乘来复合。首先,这个类名为`RotateObj`,它继承自`MonoBehaviour`,这意味着它可以被挂载到Unity中的任何游戏对象(GameObject)上,并响应Unity引擎的各种消息和生命周期函数。方法已经足够,并不需要显式地使用四元数乘法。总结起来,这个脚本会让游戏对象在运行时持续不断地绕其自身的Z轴以每秒10弧度的速度旋转,这样的旋转处理利用四元数有效避免了万向节死锁的问题,同时保证了旋转的平滑性。原创 2024-03-15 13:39:47 · 632 阅读 · 0 评论 -
【Unity地形】使用地形工具创建场景环境-Terrain
如上图Unity的地形工具可以让我们实现创建复杂、丰富的3D室外环境。我们创建地形很简单,在层级面板中右键-3Dobject-Terrain 就可以创建一个默认的地形模型!这个模型是Unity内置的。接下来的地形编辑功能全部集中在这个地形的组件上。原创 2023-12-25 11:49:50 · 2576 阅读 · 0 评论 -
【Unity热更新】学会AssetsBundle打包、加载、卸载
下是关于如何在 Unity 中选中物体、构建 AssetBundle、加载 AssetBundle 以及卸载 AssetBundle 的简要教程。原创 2023-12-23 22:19:10 · 1540 阅读 · 0 评论 -
【Unity资源管理】任何导入资源的配套导入器AssetImporter
当在Unity中导入资源(比如图片、模型、音频等)时,Unity会根据资源的类型创建相应的在Unity中,每个导入的资源都会有一个相应的与之对应。当你将资源(比如图片、模型、音频等)导入到Unity项目中时,Unity会自动为每种类型的资源创建一个对应的实例。为啥说Unity开源呢类似于PS(Photoshop)能够解读多种格式的图片文件(比如 JPG、PNG、PSD),Unity中的可以解读不同类型的资源文件(比如图片、模型、音频等)并提供统一的接口来管理它们。原创 2023-12-24 21:34:17 · 923 阅读 · 2 评论 -
【Unity自动寻路】使用Navigation系统实现物体自动寻路绕开障碍物
知识点流程图。原创 2023-12-17 21:41:22 · 5318 阅读 · 0 评论 -
【Unity动画】综合案例完结-控制角色动作播放+声音配套
这个案例实现的动作并不复杂,主要包含一个 跳跃动作、攻击动作、还有一个包含三个动画状态的动画混合树。然后设置三个参数来控制切换。原创 2023-12-15 16:51:13 · 768 阅读 · 0 评论 -
物体运动的动画混合树代码
【代码】物体运动的动画混合树代码。原创 2023-12-14 11:51:42 · 434 阅读 · 0 评论 -
【Unity动画】动画混合树(BlendTree)无缝过渡+两个动作同时播放
在Unity中,动画混合树提供了一个强大而灵活的工具,通过合理使用Blend Trees和动画过渡,可以实现各种复杂的动画效果。动画在游戏和虚拟现实应用中扮演着关键的角色,而动画融合技术则是使角色动作更加流畅和逼真的核心。混合树中的节点代表不同的动画状态,而混合参数控制节点之间的过渡。动画事件是一种强大的工具,可以在动画的特定帧触发脚本中的方法。为了实现良好的动画融合效果,关键在于调整动画剪辑的关键帧以及混合参数的范围。动画融合旨在平滑地过渡和混合不同的动画状态,以呈现出更自然的角色行为。原创 2023-12-04 22:30:49 · 5316 阅读 · 1 评论 -
【Unity动画】实现不同的肢体动作自由搭配播放Layer+Avatar Mask
创建 Avatar Mask可以设置那一部分骨骼运动和不运动。然后放在状态机里面的层中来混合。原创 2023-12-10 23:02:19 · 807 阅读 · 0 评论 -
【Unity动画】什么是任意状态(Any state)
比如A到C的过渡,直接设置从Any state 到C的过渡线触发参数即可。而不需要让A到C直接在连接,同样,B到C之间也无需直接链接。这样设计是在每一个动画之间都可以任意切换,而没有其他限制。(Any state)可以从某个状态A。另一个状态 B\C\D\E\F。原创 2023-12-10 22:41:21 · 1094 阅读 · 0 评论 -
【Unity动画】Sprite 2D精灵创建编辑到动画
有时候一张图可能包含了很多张子图,就需要在Unity 临时处理一下,切开,比如动画序列帧图集虽然我们可以在PS里面逐个切成一样的尺寸导出多张,再放回Unity,但是不需要这么麻烦也可以实现,如下:点击apply即可,切图模式也可以自动,也可以手动选择网格切图,调节网格大小应用以后,回到仓库,发现图变成这样。原创 2023-12-04 13:44:47 · 852 阅读 · 0 评论 -
【Unity动画】Unity 2D动画创建流程
本文以2D为案例,讲解Unity 播放动画的流程。原创 2023-12-04 11:36:32 · 1005 阅读 · 0 评论 -
【Unity动画】什么是动画蒙版(Avatar Mask)
使用 Avatar Mask 的主要步骤包括创建 Avatar Mask、将其与动画层关联以及根据需要定义骨骼蒙版。Avatar Mask 允许你定义一个骨骼蒙版,即指定模型中哪些骨骼应该受到动画系统的影响,哪些应该被忽略。每个图层都可以有自己的 Avatar Mask,这样你就可以在同一个模型上实现不同部分的精细控制。Avatar Mask 在一些场景中非常有用,例如,当你有一个角色模型,但只想对其中的某些部分应用动画(比如只对上半身进行动画而保持下半身静止)。原创 2023-12-03 20:17:43 · 902 阅读 · 0 评论 -
【Unity动画】状态机中层的融合原理与用法详解
动画状态机中的层为游戏开发者提供了一种有效的组织和控制动画的手段。通过合理设置层的权重和过渡条件,你可以。原创 2023-12-03 17:36:43 · 2053 阅读 · 0 评论 -
【Unity动画】动画播放到某帧调用函数-添加事件Events
在谈论Unity动画事件之前,让我们首先了解一下它是如何工作的。动画事件允许你在动画的播放过程中,在指定的关键帧上执行脚本中的函数。这意味着你可以在动画的不同时刻触发自定义的逻辑,为角色、场景或其他元素注入更多生命力。原创 2023-12-03 12:04:29 · 4196 阅读 · 0 评论 -
【Unity动画】状态机添加参数控制动画切换(Animator Controller)
在过渡的条件中,你可以设置触发状态切换的条件,例如特定的动画参数的值或者触发器的状态。例如,在脚本中,当角色与敌人发生碰撞时,触发了名为"Die"的触发器参数,这会导致动画状态机切换到死亡状态。总的来说,设置参数使得动画系统能够与游戏逻辑和用户输入相互关联,使得动画在运行时能够根据外部条件的变化而动态调整,从而增强了动画的表现力和交互性。在你提供的脚本中,通过获取用户的输入,比如水平和垂直输入,以及按钮的按下,这些输入值被用作动画参数。在过渡的条件中,你可以设置触发状态切换的条件。过渡是状态之间的连接,原创 2023-12-03 11:10:19 · 6068 阅读 · 2 评论 -
Unity 中 TextMesh Pro 认识学习
该组件是 UI.Text 组件的理想替代品。”并花时间探索每个示例,因为它们提供了该工具的功能和许多文本布局的详细概述以及TextMesh Pro 中提供的。该组件是旧版 TextMesh 组件的理想替代品。//用于UI中的TextTMP文本框。,因为这两个主题也是工作和充分利用 TextMesh Pro 的关键。第二个 TMP 文本组件的类型为 第一个 TMP 文本组件的类型为 >3D 对象->TextMeshPro Text。原创 2023-11-20 13:47:05 · 544 阅读 · 0 评论 -
Unity3d 导入中文字体转TMPtext asset
要想转换的话呢先放入仓库对字体点右键上面有一个Create创建里面有一个TEXT Asset,创建好就可以使用了。外部字体放入unity仓库以后呢,需要把这个字体转成用立体的字体文件才可以被使用!原创 2023-11-17 13:03:31 · 1262 阅读 · 2 评论 -
Unity 制作血量滑动条(Slider)
把两个PNG导入Unity仓库中,选中两个图,右上角从切换为sprite。你需要另一个类里面的血量变量!附赠另一个管理分数和血量的脚本。选中Fill ,修改Sourceimage。层级面板点击右键-UI-slider。选择2D视图,调整锚点和滑动条位置。导出2个图层,PNG格式。原创 2023-11-10 16:58:58 · 1475 阅读 · 1 评论 -
Unity 跑酷游戏全部脚本(完结)
这个脚本是主角身上的脚本,用于检测是否碰到其他触发器,并做出对应的行为//触发检测 1.碰到金币克隆区,克隆金币 2.恐克隆怪物 3.碰撞金币 吃掉它 加分 4.碰到怪物,掉血 5碰到加速带加速、减速//该触发检测脚本挂到 主角身上//如果碰到触发器,执行一次Debug.Log("碰到了别人");if (BeiPengObj.tag == "MonsterTrigger")//碰到了怪物克隆区触发器。原创 2023-11-10 11:35:37 · 1205 阅读 · 0 评论 -
【Unity声音与视频播放】播放声音视频、代码控制、UI播放视频
闲谈:游戏开发比普通软件开发难也是有原因的,第一 游戏功能需求变化多样内部逻辑交错纵横, 而软件相对固定,无非也就是点击跳转、数据存储 第二,游戏需要很多3D数学知识、物理知识,最起码得有高中物理的基础,力、向量、射线,除了这些数据存储一样不少但是,心态要放平,愚公移山乐此不疲的态度,一点点加,一点点玩就行了!现查现学,现学现用,用完就忘是常态!Unity 声音控制要根据需求来说。每个项目需求都不一样!今天实现一个撞金币并且发出声音的业务需求!你需要先简单了解播放声音的函数。原创 2023-11-06 09:45:53 · 2851 阅读 · 1 评论 -
Unity 简单跑酷游戏策划与实现
我们将游戏简化了一下!保留了下面的主要功能去开发!这样更适合初学者!原创 2023-10-30 08:23:49 · 2244 阅读 · 0 评论 -
GPT-4给我策划游戏-跑酷、塔防、足球射门
在这款无尽跑酷游戏中,玩家将控制一名勇敢的探险家,在一条充满挑战的道路上不断前进。游戏的目标是躲避障碍物,收集金币,并尽可能走得更远。原创 2023-10-30 08:04:34 · 219 阅读 · 0 评论 -
Unity把余弦值转成弧度和角度
/点乘两个单位向量。原创 2023-10-27 17:25:56 · 610 阅读 · 0 评论 -
Unity点乘的实战案例1
在这个游戏中,敌人可以从任何方向靠近你。但为了优化游戏性能,你不希望渲染那些在你的背后或者在建筑物后面的敌人,因为你看不到他们。也叫向量的内积、数量积,对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作,点乘的结果是一个标量。结果是一个向量在另一个向量方向上。判断两个向量是否大致朝向相同或相反的方向。时,两个向量是正交的,即它们的夹角为。来快速判断敌人是否在你的前方视野内。度,即它们大致指向相同的方向。度,即它们大致指向相反的方向。时,两个向量之间的夹角小于。时,两个向量之间的夹角大于。原创 2023-10-27 10:30:12 · 343 阅读 · 0 评论 -
Unity 中3D数学基础-向量
本文主要全面讲解向量的数学运算已经对应的实际应用意义!原创 2023-10-20 16:49:59 · 293 阅读 · 0 评论 -
【总结】 综合案例FPS3d射击游戏制作
实现向屏幕中间发射射线(播放子弹特效、声音)人物跟随随着鼠标可以左右上下旋转视角。实现摄像机第三人称视角跟踪。实现控制物体移动旋转方向。实现射线射中物体销毁敌人。控制物体前后左右移动。原创 2023-10-20 09:45:54 · 394 阅读 · 0 评论 -
Unity中用序列化和反序列化来保存游戏进度
需要注意的是,序列化和反序列化操作会将对象转换为字节流,因此需要确保类中包含的属性都可以被序列化。这样,当你下次再打开游戏时,系统会读取该存档文件,并将字节流反序列化为角色对象,从而恢复出你之前保存的角色状态。接着,我们使用 BinaryFormatter 对象将 MemoryStream 中的字节数组反序列化为一个新的 Person 对象,并将其存储在 clonePerson 变量中。通过序列化和反序列化,你可以在游戏中实现数据的持久化,随时保存和加载角色对象,而不会丢失之前的游戏进度。原创 2023-10-16 21:11:07 · 553 阅读 · 0 评论