草庐IT

Unity_FairyGUI

全部标签

Unity组件开发--相机跟随角色和旋转

1.相机跟随组件,节点:2.相机跟随组件脚本:usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingUnity.Burst.Intrinsics;usingUnityEngine;usingUnityEngine.UI;publicclassCameraFollow:Singleton{publicTransformfirstAngleTarget;//第一人称跟随的目标publicTransformthreeAngleTarget;//第三人称跟随的目标publicfloatradius;public

【Unity小技巧】Unity中实现带有Sprite Shape的2D水效果(附项目源码)

文章目录先看实现的最终效果前言模拟水面的波动效果制作2d水面实现物体落入水中互动效果给水面添加浮力效果最终效果源码参考完结先看实现的最终效果前言本文是自己的学习笔记,最近发现一个很有意思的2d水效果,所以把它的实现过程写下来分享给大家。当在Unity中实现带有SpriteShape的2D水效果时,首先需要理解SpriteShape和水效果的基本概念和工作原理。SpriteShape是Unity提供的一种2D图形工具,用于创建基于轮廓的精灵形状,并可以根据路径进行变形和填充。而2D水效果通常涉及模拟水体的行为,包括波纹、浪花、浮力等物理特性的表现。总的来说,结合SpriteShape和水效果需要

Unity Object reference not set to an instance of an object

我在过去的Unity游戏制作过程中,经常会报错NullReferenceException:Objectreferencenotsettoaninstanceofanobject.这句话中文翻译过来空引用,物体引用没有设置成实例。造成这种报错有很多原因,我最常见的问题是挂载的代码脚本写了一个公共类型的变量,但是没有在属性面板的代码接口处手动赋值。解决办法就是查看是哪个代码下的公共变量没有实例值,手动为它拖入值。上面的报错中显示我是名为ContainerUI的代码没有输入实例值,ContainerUI中我写了一个publicSlotHolder[]slotHolders的公共变量,于是我去找所有

Unity关于easySave2 easySave3保存数据的操作;包含EasySave3运行报错的解决

 关于easySave2easySave3保存数据的操作;包含EasySave3运行报错的解决///数据存储路径(EasySave的默认储存位置为:Application.persistentDataPath,为了方便我们可以给它指定储存路径)#region存储数据/*//////存储数据///privatevoidSaveData(){ES2.Save(123,dataPath+"IntData");ES2.Save(1.23f,dataPath+"FloatData");ES2.Save(true,dataPath+"BoolData");ES2.Save("abc",dataPath+"

Unity的ML-agent训练教程(附环境配置流程)

unity的ML-agent训练流程1.配环境1)创建虚拟环境下载好anaconda后打开anacondaprompt,新建虚拟环境,命名为Unity,通过以下指令:condacreate-nUnitypython=3.10接下来提过指令condaactivateUnity激活虚拟环境Unity2)在虚拟环境内配置需要用的库在GitHub上下载unity官方的ml-agent包仓库,下载到位置D:\Programming\unity\projects#只是本人的存储位置,具体存储位置由你自行决定在anacondaprompt通过依次输入指令导入库文件pipinstall-e./ml-agent

Unity中的SerializeReference使用简介

Unity默认可以序列化值类型,Serializable属性修饰的类型,派生自UnityEngine.Object的类型,通常这些类型已经足以供日常使用了.但是有时我们希望在编辑器面板上序列化一个接口或者抽象类,则需要用到SerializeReference属性.假定我们有一个接口IEatable,并实现了两个类Bread和Bun:publicinterfaceIEatable{intCalorie{get;}}publicclassBread:IEatable{[field:SerializeField]publicintCalorie{get;privateset;}=100;}publi

Unity下实现跨平台的RTMP推流|轻量级RTSP服务|RTMP播放|RTSP播放低延迟解决方案

2018年,我们开始在原生RTSP|RTMP直播播放器的基础上,对接了Unity环境下的低延迟播放,毫秒级延迟,发布后,就得到了业内一致的认可。然后我们覆盖了Windows、Android、iOS、Linux的RTMP推送、轻量级RTSP服务和RTSP|RTMP播放。目前看,Unity环境下,我们在行业内的延迟几乎是最低的(当然原生的RTSP|RTMP播放器也是),已经覆盖了以下模块: Windows平台RTMP直播推送SDK(采集Unity窗体、摄像头或屏幕); Windows平台轻量级RTSP服务SDK(采集Unity窗体、摄像头或屏幕); Windows平台RTMP|RTSP直播播放SD

Unity 如何在Unity中优雅的画线

内容将会持续更新,有错误的地方欢迎指正,谢谢! Unity如何在Unity中优雅的画线   TechX坚持将创新的科技带给世界!拥有更好的学习体验——不断努力,不断进步,不断探索TechX——心探索、心进取!助力快速掌握画线为初学者节省宝贵的学习时间,避免困惑!前言:  在Unity项目中,调试和可视化是开发过程中不可或缺的部分。其中,绘制线条是一种常见的手段,可以用于在Scene场景和Game视图中进行调试和展示。本篇博客将为你介绍多种不同的绘制线条方法,帮助你轻松应对各种调试和可视化需求。文章目录一、Debug.DrawLine1、绘制正方体2、绘制网格二、Gizmos.DrawLine1

unity 动画卡顿,操作角色时有卡手感

问题        当操作一个角色连续进行一些动作时,如跳跃,攻击时,有时会出现卡手的感觉。解决    一般角色执行一个动作时,为了和动画配合和防止该动作再次执行打断上一个正在执行的动作,代码执行时会加上一个锁。例如跳跃动作的执行if(jumpStopped){    jumpStart();执行跳跃    jumpStopped=false;            jumpStartAt=Time.time;} 这是为了防止这个跳跃动作在短时间内反复执行,同时也是为了和跳跃动画配合,一般解锁的时间和动画时间相等。假如这个跳跃动画的时间是0.5s,解开锁的时间也是0.5s,解锁的代码如下所示,

【unity学习笔记】捏人+眨眼效果+口型效果

一、vriod捏人1.在vroidstudio软件中捏人2.导出模型(.vrm)二、vrid导入unity的插件1.在Git上搜索、打开univrm。2.找到release页面找到合适的插件版本。(VRM-0.116.0_0f6c)3.将univrm导入到工程中(assets)。三、导入小人1.在assets中新建文件夹arts,拖入小人。2.将小人转化为unity可识别状态3.将小人放入场景中三、制作动作(一)制作身体动作1.在https://www.mixamo.com中下载动作并导入。2.修改为人形3.创建动画控制器4.在动作控制中创建空状态5.选择动作(二)制作眨眼效果1.将示例中的B