自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jay W的博客

我们都有自己的小梦想。

  • 博客(139)
  • 资源 (1)
  • 收藏
  • 关注

原创 Unity3D开发之折线图的制作(三)折线图终结篇之抗锯齿

至于怎么挂载脚本怎么能够运行请参考折线图制作(二)的文章。之前写的折线图一直被锯齿烦恼着,一直无法使用。一开始一直以为要自己写边际模糊算法来模糊编辑的锯齿部分,这可太难了。后来我的美术搭档告诉我可以用渐变图来模糊边界。这里要感谢他的想法帮我把困扰两三年的问题解决了。如果需要使用图片,我们就不能继承自MaskableGraphic,因为他没有对图片的操作。我们要继承自image,这样有sprite的引用。代码没什么变化,主要是在设置uv时需要注意。将模糊边界的UV贴到矩形的长斜边上。 //折线图

2020-09-27 17:37:31 2033 1

原创 Unity3D开发之画墙、地面分割(户型绘制)

很多家装软件都有创建自己画户型工具的需求。通过绘制线段形成我们想要的户型。可以通过绘制线段产生对应的墙。可在墙上添加门窗。可在墙上添加多个门窗可修改墙两侧贴图:.....................

2020-03-30 14:40:03 5637 4

原创 耳切法多岛洞画面

算法文档地址:英文版 、中文翻译博客多岛洞简介介绍如下:Search the inner polygon for vertexMof maximumx-value. Intersect the rayM+t(1,0) with all directed edges〈Vi,Vi+1〉of the outer polygon for which M is to the left of t...

2019-09-27 14:22:11 210

原创 Unity3D开发之折线图的制作(二)

一年前写过一篇折线图的制作,当时显示效果还可以,只不过因为之前刚接触写博客,所以写的内容不是很完善,加上比较忙,都是草率记录的,代码结构也不是很好。昨天我又把这个项目的代码熟悉了一遍,然后把代码更改精炼了下。应该比以前更容易读懂了。 代码如下,上面都有注释:using System.Collections.Generic;using UnityEngine;using ...

2018-05-10 08:58:07 5522 41

原创 Unity3D开发之折线图制作

柱状图、折线图这个在数据可视化中会经常用到,可是unity自身并不带创建折线图功能。所以,需要我们自己去写。第一次遇到这个需求是在我刚参加工作时,当时实在没法子,只好选择做了柱状图,那时候柱状图还是用实例化Image然后设置他的高度来显示。想想300,400个数据同时实例化,当时的设备得卡成啥样。还好,现在我找到了一个更好更省性能的方法。如果你想在我这复制代码去完成你的需求那你没必要往下看了,你只

2017-05-25 15:56:22 13564 12

原创 Unity3D开发之鼠标单双击判断

在本文中,我们介绍了一种在Unity中实现鼠标单双击判断的简便方法。通过对代码的轻微修改,我们使其更具可读性和模块化,同时引入了Invoke方法进行延迟调用。这样的设计不仅方便了代码的编写,也提高了后续的维护效率。希望这个简单而实用的方法能够对你的项目有所帮助。如果你有任何疑问或建议,欢迎在评论区分享。

2024-02-02 11:08:23 789

原创 软件使用手册

4/5: 向上/向下排序(会影响在客户端显示的顺序) 6:股票监控最大值。7:股票监控最小值。勾选大单监控,可以输入大单阈值。当添加完要监控的股票信息后,提交列表。重启使用场景:监控程序已经打开运行,点击重启,即可刷新监控列表。用浏览器打开监控股票配置页面,登录用户名密码即可查看自己已保存的监控股票列表及配置数据。软件分两部分,股票监测程序,监测列表配置数据页面以及手机端接收监控数据。主程序页面分两部分,上面为监测股票实时信息,下面为大单监测输出信息。打开程序,进入到登录界面,输入用户名密码即可进入程序。

2024-01-07 19:46:50 443

原创 Unity中关于多线程的一些事

在主线程中直接连接server,如果网络通信正常,程序运行也正常。但是如果网络中断或者连接较慢,就会出现程序卡顿。所以要在启动一个线程来连接server。并在连接server成功后启动一个新的线程来接听server给客户端发送的消息。但是当我们stop run unity,然后再次run unity的时候我们会发现编辑器在不断加载脚本,会卡很久。所以要在OnDisable时将线程中断。注意一定要先中断thread2,在中断thread1.不然unity还是会不断reload scrip,使编辑器卡在那里。

2023-09-21 09:56:05 522

原创 Python 调用自定义函数

通常我们需要把公共函数提出来,作为公共资源调用。也避免了代码的重复书写。

2023-08-08 16:37:53 406

原创 C# float double decimal区别

在满足数据范围内,float肯定要比其他两个更省内存和性能。他们占的字节不一样,所以精度就不一样。

2022-11-25 10:10:02 356 1

原创 Unity3D开发之刚体休眠问题

unity刚体休眠

2022-11-23 08:51:58 1466

原创 HTML菜 鸟笔记

个人笔记

2022-07-21 10:34:36 145

原创 Unity3D开发之OnPointerClick事件

OnPointerClick是unity事件系统自带的点击推送事件。继承IPointerClickHandler接口,并在脚本中实现接口,点击挂此脚本的物体系统会调用实现的OnPointerClick函数。 public void OnPointerClick(PointerEventData eventData) { if (eventData.button == 0) { if (eventData.clickCount == 1)

2022-04-28 15:49:45 9165 2

原创 Unity3D开发之Destroy和DestroyImmediate

正如单词所表述的意思,一个是销毁物体,一个是立即销毁。单纯的Destroy调用后不会立即销毁物体,如API所述会在update执行后在某个时间执行,但一定实在render调用之前。而DestroyImmediate调用会立即执行销毁物体。只有销毁掉才会执行下一句代码。代码执行结果验证: GameObject go=new GameObject(); D d=new D() { go=go }; Destroy(go); Debu...

2022-03-31 16:16:25 4596

原创 Unity3D开发之material和sharedMaterial区别

MeshRenderer meshRenderer = GetComponent<MeshRenderer>(); Material material = meshRenderer.sharedMaterial; Debug.Log(material.GetInstanceID()); //-110736 Debug.Log(meshRenderer.material.GetInstanceI...

2022-03-16 17:33:38 4175

原创 Unity3D开发之在表面着色器shader中使用顶点着色器制造流光效果

先上流光效果。变动的是世界坐标x值。当顶点世界坐标靠近变动值,则在附近取流光贴图颜色值附加到物体上。首先,我们需要在使用shader模型位置处加上vertex:Myvert 后面名字是顶点着色器函数名字#pragma surface surf Lambert alpha:fade keepalpha noshadow vertex:Myvert然后编写顶点着色器片段。这里在结构体处增加了世界坐标。 struct Input { float2 uv_texc

2022-03-10 11:19:13 4429

原创 Unity3D开发之监听UI大小变化

我们通常会有当一个UI大小发生变化时去触发某个事件的需求。unity提供了这些事件,在UnityEngine.EventSystems.UIBehaviour下。当我们新建一个脚本继承自UnityEngine.EventSystems.UIBehaviour类,并且将脚本挂载在需要监测大小变化的UI物体上时,当UI大小发生变话时,就会推送消息给OnRectTransformDimensionsChange函数中。我们重写OnRectTransformDimensionsChange内容。代码...

2021-07-14 16:05:42 2133 1

原创 Unity3D开发之扇形图

扇形图原理和折线图差不多,都是在UI的OnPopulateMesh函数下绘制的。由于做的是半径不均匀的扇形图,所以去贴图抗锯齿没有实现。大家有啥想法(怎么取uv以及边界模糊的贴图怎么画)欢迎留言。下面是OnPopulateMesh下的代码块。protected override void OnPopulateMesh(VertexHelper toFill) { toFill.Clear(); //ITEMS表示这个圆形被多少个三角形均分 数量越多 圆越

2021-03-24 10:07:42 1079

原创 C# 在循环中操作数据记录

在数组中循环筛选数据并给剔除出来,我们通常使用for循环。foreach不支持操作循环中的数组,会报错。示例代码如下: List<int> temp=new List<int>() {1,2,3,4,5,6}; for (int i = 0; i < temp.Count; i++) { Debug.Log(temp[i]); if (temp[i] == 1)

2021-01-29 16:40:00 413

原创 那些小额贷的秘密

最近经常需要钱来应急几天,所以考虑了一下某行的小额贷。他给出的规则是这样的,每贷一万块钱,分期还12期,每期手续费打半价即37.5元。分期最短12期才有手续费半价优惠,而低于12期的选择每期手续费都是12期的两倍以上。刚开始接触这个,自己算着每期手续费37.5,利率为37.5x12/10000=4.5%。哇,好低啊,现在能低于购房贷款的利率真是难得。当时一冲动就办理了业务。后来越想越不对。怎么回事呢?我们上面这个算法算第一期的年化没问题,可是第二期以后就不对了。因为我们还了贷款,所以贷款总额就没有1万

2020-11-28 11:36:26 261

原创 Unity3D开发之GL画线

最近一直在专心炒股,博客也没时间整。虽然很耗费精力,但是确实有意思。炒股不仅是对大盘形势的判断,有时候更是对自己全身心的考验。还是新鲜的小韭菜,还有很长的路要走。加油奥利给!最近有个需求就是要给一个面片加边缘线。之前使用的边线贴图盖上面片上面,可是当面片拉伸时,边缘线也跟着拉伸,导致拉伸边缘线变粗或者变细。因为都是规则的方形,所以我使用gl自己画一个边缘线。效果如下:最后一个是未添加外线的面片。代码贴在下面:void OnRenderObject() {

2020-11-26 17:24:03 1322

原创 Unity3D 我的UIFramework

目录基本组件1.UI面板基类BasePanel1.API2.开发案例2.UI面板管理器UIManager1.API2.使用方法3.UI面板配置文件管理ReadUIConfig1.使用方法4.面板动画PanelAnimation1.API2.使用方法使用案例1使用案例2基本组件1.UI面板基类BasePanel1.APIprotected UIManager uiManager;统一获取对UIManager的引用protected RectTransform rectTransform,pare

2020-09-23 15:10:41 691

原创 Unity3D开发之发布安卓apk连接不上网络

这个问题据说是在高版本手机上会出现。我的测试机P30就遇到这种问题。解决方案:打开项目文件,进入 xx\项目文件\Temp\StagingArea文件夹下,找到AndroidManifest.xml文件。打开,在如下位置加入如下设置:android:usesCleartextTraffic="true" 记得在添加之前加一个空格,不然打包会报错。...

2020-09-16 21:45:37 1746 3

原创 Unity3D开发之构建自己的多选标签

下面代码主要实现的是类似camera中的Culling Mask。可多选标签。首先创建一个我们自己的特性类,继承自PropertyAttribute:public class MyAttribute : PropertyAttribute{ }然后创建一个我们自己的属性绘制器,继承自PropertyDrawer,代码如下:[CustomPropertyDrawer(typeof(MyAttribute))]public class MyPropertyDrawer : Pr

2020-09-03 17:31:11 641

原创 Unity3D开发之Remote5连接不上unity

先使用usb连接手机和电脑,打开调试模式。 打开remote(要先打开remote) 打开unity项目 运行项目,就可以直接调试了。一定要先打开remote,后打开unity项目。我将这个情况和一个朋友说了,他猜测应该是remote作为服务器,unity为客户端。unity再打开得时候会主动去连接一次remote,连接不上就默认不使用remote调试。...

2020-08-23 22:49:11 2178

原创 Unity3D开发之判断鼠标是否在UI上

unity给我们提供了一条api。EventSystem.current.IsPointerOverGameObject()==true他是利用unity的EventSystem事件系统判断射线是否射到物体上。我们查看官方文档可以看到继承BaseRaycaster的有三个组件,.PhysicsRaycaster, Physics2DRaycaster, GraphicRaycaster,所以当我们项目中只有canvas自带的GraphicRaycaster时,我们可以使用上述api判断鼠标是否在U

2020-05-12 09:50:07 1498 1

原创 Unity3D开发之设置UI位置

我们在动态加载面板的时候就会涉及到初始化面板位置的问题,少不了设置UI位置。而UI不像3D物体可以直接设置Position。因为决定他位置的是RectTransform,并且UI会设置锚点,位置并不是固定。下面就来记录不同状况下设置UI位置的方法。一.不设置锚点直接设置LocalPosition即可。代码如下: RectTransform rectTransform = Get...

2020-04-29 15:36:05 11549 1

原创 Unity3D开发提示框跟随文字数量自适应大小

项目中经常遇到鼠标移到按钮上显示按钮功能的需求。如下所示:我们设计的Tip结构是父物体为image,子物体是text。text上显示对应的文字。(Unity版本5.3.5)我们可以在image上添加HorizontalLayoutGroup和ContentSizeFitter组件。ContentSizeFitter在水平自适应上选择适应大小(preferred sized)。这样我们在...

2020-04-29 11:37:29 1775

原创 Unity3D开发之聊聊项目UI框架

最近在负责老项目UI的更改,领导说有点乱,确实,改的我真想喝毒药,程序猿应该可以感受到项目重构的痛苦。之前的UI比较无序吧,就是一个按钮点击去调用某个事件,按钮图标变化,当用其他点击方式调用这个事件后,在去修改按钮图标。两处修改经常会导致显示错乱。还有调用某个事件的时候关闭某个面板,其他函数也有关闭这个面板,都是直接setactive(false),在维护项目的时候是真的很头痛。于是我就在...

2020-04-28 16:44:26 713

原创 C# 英文字母转换大小写

例子:将输入的英文单词首字母设置为大写,代码如下: public string TitleToUpper( string str) { if (string.IsNullOrEmpty(str)) return string.Empty; char[] s = str.ToCharArray(); cha...

2020-04-27 14:17:57 6448

原创 Unity3D开发之编辑器清除log

public static void ClearConsole() { var logEntries = System.Type.GetType("UnityEditorInternal.LogEntries,UnityEditor.dll"); var clearMethod = logEntries.GetMethod("Clear", System....

2020-04-16 13:30:42 1185

原创 Unity3D开发之UI图片闪烁的问题

问题:项目里用图片画的线在拉近和拉远摄像头时时而显示时而隐藏。后来在选中这个图片后发现他的scale很大650,而width很小为0.3。解决方案:后来将scale调成1而将宽度调成自己设定的长度就可以正确的显示了。...

2020-04-01 10:56:43 2430

原创 UnityHub patch的问题

安装流程网上很多博客有讲。传送地址。记录下安装过程遇到的问题。1.在第二步中npm install -g asar时会出现安装失败的错误rollbackFailedOptional verb npm-session。出现这个错误就是网络的问题。解决方案地址2.执行第四步asar extract .\app.asar app的时候出现报错,可以主要的错误是operation not pe...

2020-03-30 14:51:41 691

原创 谷歌浏览器支持WEBGL设置

右键谷歌浏览器快捷方式,选择属性=》快捷方式,在目标输入栏里输入如下命令:--enable-webgl --ignore-gpu-blacklist --allow-file-access-from-files。注意:-enable-webgl....前面-有个空格。然后应用,重启浏览器就可以运行wengl了。...

2020-03-29 00:14:52 3481

原创 Unity3D开发之Transform记录

一个物体下有四个子物体,无论有没有子物体setactive=false,transform.childCount=4 同样 即使第一个子物体隐藏,transform.GetChild(0)依然能获取到。 transform.GetComponentsInChildren<Transform>().Length获得的数量受子物体是否隐藏影响。隐藏就无法被找到。 注意:返回的包含父...

2020-02-28 10:45:40 451

原创 Unity3D开发之拖拽物体功能实现

拖拽功能实现我们使用unity官方提供的事件接口IDragHandler。当我们拖动的时候,unity自动给挂在脚本的OnDrag函数推送事件。拖拽UI需要在inspector面板上添加eventsystem,并确定场景中有物体挂载GraphicRaycaster脚本。通常我们创建的canvas上就有此脚本。代码如下://拖拽UIpublic class DragUIContr...

2020-01-14 10:21:35 5868

原创 Unity3D开发之设置网格对齐

设置网格对齐是让位置的小数点保留一位。这样位置距离可以保持在0.1的整数倍上。易于设置重合。代码如下:public static Vector3 CalculateGrid(Vector3 _v3) { float x = _v3.x; float y = _v3.y; float z = _v3.z; x = (...

2019-12-26 17:18:00 1672

原创 Unity WEBGL设置全屏

在webgl平台,直接设置Screen.fullScreen = true;是不可以成功直接全屏的。我们去官网查看webgl的FullScreen讲解。Due to security concerns, browsers will only allow locking the cursor or going into full-screen mode in direct response t...

2019-12-18 18:10:57 7913 1

原创

看到两句非常好的话,想留下来。1.看见生活里的细碎幸福。中100万大奖,月入10万,住200㎡大房子,只向往这种爆棚感的快乐,会让你忽视生活中的小确幸。你下班回家的一桌子热菜,一杯难受时的红糖水,一个你期待已久的机械键盘,这些微小幸福的拼凑,其实是大多数人一生的快乐组成。虽然我还是非常向往月入10住200平的大房子,但是现在能力和机遇都没有到来。所以我觉得这段话就是让我安静沉淀下来继续快乐...

2019-12-17 16:22:21 182

原创 Unity3D开发之webgl键盘事件监听和其他js输入冲突问题

我们在做一个大的集控平台的时候,很多时候会把unity导出的webgl 3D程序嵌到大平台页面中,属于大平台的一个子功能。在打开3d程序之后再切换到其他js页面的时候,我们会发现其他页面的输入键盘事件不好使了。比如一个input无法输入,也无法删除input里的文字。即input事件被劫听了。我们打开unity官方文档搜webgl input就会发现这么一段话:​By default, ...

2019-11-29 09:50:24 3416 16

FanChart.unitypackage

自制扇形图,ui绘制,节省性能。

2021-03-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除