C#
WenHuiJun_
这个作者很懒,什么都没留下…
展开
-
通过.bat文件启动Unity3D的exe文件(包含传递参数)
有时候会用到通过.bat文件启动exe文件,跟直接启动exe文件不同是,前者可以传递启动时的参数,这样方便在工程中进行不同的操作。原创 2023-04-11 10:14:34 · 2570 阅读 · 1 评论 -
Unity3D 记录到日志
记录日志是一个好习惯,方便我们在日常开发中出现问题快速排查。原创 2023-04-06 14:49:36 · 1166 阅读 · 0 评论 -
Unity3D 调用Windows弹窗
Unity3D可以使用UGUI自己设计弹窗,也可以像Winform一样使用Windows系统本身的弹窗(跨平台请谨慎使用)。原创 2023-04-06 14:09:34 · 1299 阅读 · 0 评论 -
获取字符串第N次出现的索引
查找一个字符串出现的第一次可以用IndexOf,最后一次可以用LastIndexOf,若是想直接查第二次或第三次......,可以自己封装方法。方法二:使用正则表达式(缺点,不易阅读)方法一:普通循环for,可读性高。方法三、四:带起始位。原创 2023-03-17 14:34:53 · 563 阅读 · 0 评论 -
Unity3d UI上挂载Content Size Fitter组件后用rect获取的UI的width和height
通常获取UI的宽和高,一般使用GetComponent().rect.height或GetComponent().rect.width,但是使用Content Size Fitter布局后会获取不到这两个对应的值(获取为0),此时强制刷新一下布局再获取即可。刷新完再使用GetComponent().rect获取。原创 2023-02-27 17:08:33 · 2241 阅读 · 1 评论 -
Unity3d 统一给结构体赋值
Unity3d 统一给结构体赋值Unity3d 统一给结构体赋值。原创 2023-02-03 10:57:49 · 514 阅读 · 0 评论 -
Unity3D 使用Windows系统朗读文字(SpeechLib)
1、这里主要使用到两个动态库:Interop.SpeechLib.dll、CustomMarshalers.dll,大家可以自行下载,或者在。2、把dll放进项目中,编写代码即可。3、需要增加角色,可以参考。原创 2022-12-15 09:44:59 · 1206 阅读 · 4 评论 -
Unity3D Application模拟进入前后台及暂停
Unity3D Application模拟进入前后台及暂停原创 2022-07-27 10:52:42 · 5206 阅读 · 0 评论 -
Unity3D 数组和列表互转
Unity3D数组和列表互转1、数组转列表 GameObject[] G ; List<GameObject> gl = new List<GameObject>(G);2、列表转数组 List<GameObject> GL = new List<GameObject>(); GameObject[] g = GL.ToArray();...原创 2022-03-02 13:42:26 · 5566 阅读 · 0 评论 -
Unity3D 串口通讯(一)---添加虚拟串口
Unity3D 串口通讯(一)---添加虚拟串口由于这里没有硬件设备进行通讯,我们使用虚拟出来的串口,进行串口之间的通讯。1、网上搜索下载虚拟串口软件,http://www.itmop.com/downinfo/13799.html,也可以自行搜索。2、下载完进行安装,虚拟出来两个新的串口,可以右键“计算机”,打开“设备”,在“端口”中可以查看到虚拟出来的两个串口。3、下载一个串口助手,https://download.csdn.net/download/WenHuiJun_/8079.原创 2022-02-22 15:42:28 · 3351 阅读 · 0 评论 -
Unity3D 串口通讯---字符串转字节流
Unity3D 串口通讯---字符串转字节流 串口通讯时,我们需要接收字节流指令,即:byte[] data = {0x01, 0x10, 0x00, 0x03, 0x00, 0x07,0x0E}的形式。有时,我们不是每条都直接这样写上去,大多数是以字符串的形式,即:string by = "01 10 00 03 00 07 0E"的形式经过转化成上面的形式再发送。所以这中间有个转化过程,代码如下: /// <summary> /// 字符串转字节流...原创 2022-02-15 14:39:33 · 1688 阅读 · 0 评论 -
Unity3D 查找该子物体具有某个组件的最近的父物体
Unity3D 查找该子物体具有某个组件的最近的父物体如下,查找gameObject(当前物体)具有Image组件的最近的父物体,并输出. void Start () { //查找gameObject(当前物体)具有Image组件的最近的父物体,并输出 var v = FindInParent<Image>(gameObject); if (v != null) print(v.name);原创 2022-02-15 14:05:23 · 1634 阅读 · 0 评论 -
Unity判断鼠标是否点击到UI
Unity判断鼠标是否点击到UI if (Input.GetMouseButtonUp(0)) { //判断点击的是否是UI if (EventSystem.current.IsPointerOverGameObject()) { Debug.Log("点击到了UI上"); } else { .原创 2021-10-13 20:40:09 · 912 阅读 · 1 评论 -
Unity3D 统一修改Text的字体
Unity3D 统一修改Text的字体原文:https://blog.csdn.net/qq_33994566/article/details/78325768By:JayW就是我前言Unity3D中有时需要一下修改很多Text的字体,要是都一个一个去修改就太麻烦了,所以我们需要一个脚本来帮助我们完成。(在原文的基础上,我自己拓展了一下指定字体的修改。)效果代码using UnityEditor;using UnityEngine;using Unity...原创 2021-10-13 20:29:28 · 3362 阅读 · 2 评论 -
unity3D 摄像机旋转、平移、缩放
Unity3D 摄像机旋转、平移、缩放效果如图:设置:代码如下:(相机漫游时使用了DOTween插件)using UnityEngine;using System.Collections;using DG.Tweening;public class CameraControl : MonoBehaviour { [Header("参照物:")] public Transform target; public static Vector..原创 2021-09-08 15:53:42 · 2511 阅读 · 2 评论 -
unity3D C# 在区间内生成不重复的随机数
unity3D C# 在区间内生成不重复的随机数1、使用哈希表 /// <summary> /// 生成随机数 /// </summary> /// <param name="num">随机数个数</param> /// <param name="min">最小随机数</param> /// <param name="max">最大随机数</param>原创 2021-03-30 13:29:39 · 496 阅读 · 0 评论 -
Unity加载图片
Unity两种方式加载图片https://www.cnblogs.com/guoguoguo/p/7350547.html原创 2021-03-13 10:20:45 · 595 阅读 · 1 评论 -
获取本机IP地址
获取本机IP地址方法一:该方法在unity2018及之后的新版本就被淘汰了。using UnityEngine;public class GetIP : MonoBehaviour { string IP; void Start () { IP = Network.player.ipAddress; Debug.Log(IP); }}方法二:根据本机名获取ip地址组。using System.Collections;using原创 2021-03-12 13:53:50 · 567 阅读 · 0 评论 -
Unity 使用AssetBundle-Browser打包助手打包AssetBundle(+复用)
Unity 使用AssetBundle-Browser打包助手一、AssetBundle-Browser简介AssetBundle-Browser是Unity3D的一个可视化的打包工具,可以用来快速直观的对资源进行压缩打包,有些版本的Unity可以直接从Window->Package Manage下载,没有的可以从下面连接下载,下载后直接导入项目即可:1、链接:https://github.com/Unity-Technologies/AssetBundles-Browser2、链接原创 2021-01-26 16:34:44 · 6879 阅读 · 3 评论 -
unity 读取INI文件
unity 读取INI文件https://www.jianshu.com/p/b21e6d546e97转载 2021-01-23 16:45:19 · 424 阅读 · 0 评论 -
Unity3D AssetBundle打包与加载
Unity3D 简单的AssetBundle打包与加载转载:Unity AssetBundle 从入门到掌握(适合初学者) 简单AssetBundle打包与加载问题总结原创 2021-01-23 16:37:32 · 2472 阅读 · 0 评论 -
Unity3D 内存释放 垃圾回收
Unity3D 内存释放 垃圾回收unity运行过程中报错:Could not allocate memory:System out of memory!这个是因为内存不足,工程中的材质、模型面数、对象资源以及代码中不断生成的Texture等都会影响内存。在运行过程中,有些加载过的对象或资源没有及时得到释放,就会导致内存占用越来越大,最后奔溃。在开发过程中,除了优化我们的代码,也要定时释放内存,以确保软件的顺畅运行。下面两篇文章写的很详细,有很好的解决我的问题,转一波。转载:https://原创 2021-01-14 10:24:53 · 1978 阅读 · 0 评论 -
Unity3D UGUI不规则区域点击的实现
Unity3D UGUI不规则区域点击的实现转载:https://www.cnblogs.com/msxh/p/9283266.html设置好图片的属性,勾选Advanced下的Read/Write Enabled,将Mesh Type格式设置为Full Rect,而unity导入时默认帮我们设置的是Tight模式。用Tight模式的话,如果你的图片周围有空白像素,它会帮你压缩掉减小面积,以减少DrawCall,但是会增加Sprite的面数。如果用Full Rect模式不会压缩,也不会增加面数.原创 2021-01-05 15:34:59 · 703 阅读 · 0 评论 -
Unity3D VideoPlayer播放视频和音频
Unity3D VideoPlayer播放视频和音频今天来记录一下用Unity自带的VideoPlayer播放视频和音频。首先准备一个带音频的视频文件,导入到工程中。Windows支持的视频格式有:.mp4,.mov,.mpg,.mpeg,.asf,.avi,.dv,.mv4,.ogv,.vp8,.webm,.wmv等。视频的转码根据自己需求选择,如果不转码,视频文件将按原样使用,可以节省时间,避免相关的质量损失,但需自己验证该视频与目标平台的是否兼容。新建一个Canvas,在Canva原创 2020-12-14 13:52:55 · 6811 阅读 · 6 评论 -
Unity3D 获取transform下的子物体及其的索引
Unity3D 获取transform下的子物体及其的索引记录一下:1.通过子物体名字,得到子物体public Transform trans;//父物体void Start(){ //gob为某个子物体 Transform t = trans.Find(gob.name); print(t);}2.通过子物体名字,找其索引public Transform trans;//父物体void Start(){ //gob为某个子物体原创 2020-12-09 14:38:28 · 5093 阅读 · 0 评论 -
Unity3D AVProVideo开始播放跟播放完成
Unity3D AVProVideo开始播放跟播放完成记录一下AVProVideo开始播放跟播放完成的注册事件,代码如下:using RenderHeads.Media.AVProVideo;using System;using System.Collections;using System.Collections.Generic;using UnityEngine;public class Test : MonoBehaviour { public Animation ..原创 2020-12-07 15:09:36 · 5709 阅读 · 0 评论 -
C# 正则表达式(转)
C# 正则表达式https://www.cnblogs.com/Sweepingmonk/p/10867907.html原创 2020-12-04 20:22:10 · 125 阅读 · 0 评论 -
Unity3D UGUI 循环轮播
Unity3D UGUI 循环轮播(来总个结)自己写了一个简易的无限轮播效果Demo(效果如下),该Demo是静态的,可根据自己的需求改为动态的。Demo下载:链接: https://pan.baidu.com/s/13GqjqDqE8x860w65gcxXZQ 提取码: 91pv下面上代码:using System.Collections;using System.Collections.Generic;using UnityEngine;public class T...原创 2020-12-04 20:15:10 · 3421 阅读 · 6 评论 -
Unity3D本地文件夹的创建、删除(Directory文件夹删除和单个文件删除)
Directory一、Directory:创建文件夹,在工程中可见eg1:在工程中(Assets目录下)创建一个名为test的文件夹/*在工程中(Assets目录下)创建一个名为test的文件夹*/private string filePath;public void CreateFile(){ filePath=Application.dataPath;//获取本地路径 filePath=videoPath.Replace("/Assets/", null);//切换到...原创 2020-11-19 14:38:55 · 2817 阅读 · 0 评论 -
Unity3D 鼠标双击事件
Unity3D 鼠标双击事件Unity3D 鼠标双击事件总结了几种,特来记录一下!一、计时Time.realtimeSinceStartup,从开始运行到首次点击的时间、跟、开始运行到下一次点击的时间、的时间差。 private float time; void Update () { if (Input.GetMouseButtonDown(0)) { if (Time.realtimeSinceStart原创 2020-10-21 14:31:47 · 3500 阅读 · 0 评论 -
Inspector面板扩展(EditorGUI、EditorGUILayout、GUI、GUILayout)
Inspector面板扩展(EditorGUILayout)我们的Unity脚本挂在游戏对象上时,右侧会出现它的详细信息面板,这些信息是根据脚本中声明的public可序列化变量而来的。此外,也可以通过EditorGUI来对它进行绘制,让面板更具可操作性。Inspector面板: EditorGUI和GUI的用法几乎完全一致,目前来说前者多用于编辑器开发,后者多用于发布后调试编辑器。即他们都是起辅助作用的。EditorGUI提供丰富的组件非常丰富,常用的绘制元素包括文本,按钮,图片和滑动框等。做原创 2021-02-01 12:48:54 · 5954 阅读 · 3 评论 -
Unity3D动态修改RectTransform
Unity3D动态修改RectTransformGetComponent<RectTransform>().sizeDelta = new Vector2(width, height);原创 2020-10-09 11:08:00 · 6154 阅读 · 2 评论 -
帽子接球小游戏(二)--接球的实现
帽子接球小游戏(二)--接球的实现注:本小游戏共两章,第一章讲界面的制作,第二章讲后台代码控制接球。(工程中所使用到的所有图片都是我自己PS画的,比较粗糙,不太美观,能看就行,哈哈。)传送门:帽子接球小游戏(一)--制作UI面板接球的实现1、球的生成(1)新建一个空对象,命名为GameControlor,用来控制实例化球的高度。它的位置在整个面板的最上方离顶部一点距离,注意不能离视图的顶部太高,以免球下落太快来不及接。(2)创建一个C#脚本,命名为GameContr...原创 2020-07-03 17:29:22 · 2700 阅读 · 1 评论 -
帽子接球小游戏(一)--制作UI面板
帽子接球小游戏(一)--制作UI面板注:本小游戏共两章,第一章讲界面的制作,第二章讲后台代码控制接球。(工程中所使用到的所有图片都是我自己PS画的,比较粗糙,不太美观,能看就行,哈哈。)制作UI面板1、在“Project”资源面板中,右键建立一个文件夹,取名“Resources”,在Resources文件夹下面再建一个“Sprite”文件夹,用来存放图片。把准备好的背景图片SKY放入Sprite文件夹中(本资源的图片都放在该文件夹下,后面不在赘述。).2、把背景图片SKY拖入“Hie..原创 2020-07-03 17:25:59 · 1402 阅读 · 0 评论 -
Unity3D中调用Windows窗口句柄[DlImport("user32.dll")]实现去Windows边框、窗口最大/最小化、获取状态栏高度等
Unity3D中PC端调用Windows窗口句柄以及根据需求设置并且解决扩展屏窗体显示错乱/位置错误的Bug(DllImport(“user32.dll”))用 [DllImport(“user32.dll”)]解决转载https://www.cnblogs.com/answer-yj/p/11654190.html...原创 2020-04-30 10:46:31 · 3054 阅读 · 1 评论 -
unity3D 强制刷新布局Layout Group
前言我们在Layout Group中搜索其中一个或多个cell的时候,搜索完后各个cell不能很好的排列,位置错乱,所以我们我们搜索的时候可以强制把Layout Group刷新一下,使之能重新整齐的排列。如下两种情况:...原创 2020-06-11 13:33:18 · 9009 阅读 · 1 评论 -
音乐播放器的实现(二)---UI面板的制作
音乐播放器的实现(二)---UI面板的制作在对Audio Source有了基本的认识后,我们在Unity3D中的Project栏下新建一个文件夹,然后把准备好的音频导入该文件夹中,名字的命名格式统一为:音频名-作者(即音频名和作者中间以“-”分开,主要为了后面显示歌曲名和歌手)。接下来新建一个场景,命名为music,开始进行UI面板的创建。1、首先,新建一个文本框Text,命名为mu...原创 2020-04-30 10:33:03 · 2280 阅读 · 0 评论 -
音乐播放器的实现(三)---进度条控制、播放、暂停、上(下)一曲、播放时间和总时间显示
音乐播放器的实现(三)---进度条控制、播放、暂停、上(下)一曲、播放时间和总时间显示音乐播放器的实现(一)-- Audio Listener和Audio Source面板的介绍音乐播放器的实现(二)---UI面板的制作设计好面板,接下来就开始进行后台代码的编写了。在Unity3D中的Project面板单机鼠标右键, Create—>C# Script,命名为Player,然...原创 2020-04-30 11:04:21 · 12640 阅读 · 10 评论 -
音乐播放器的实现(一)-- Audio Listener和Audio Source面板的介绍
音乐播放器的实现(一)-- Audio Source和Audio Listener面板的介绍因为本人是一个音乐爱好者,入门Unity3D不久,为提高自己的水平,就想着自己试着做一个音乐播放器,使枯燥的学习之旅中也有音乐相伴,也许会提高学习质量。好了,废话不多说,开始进入主题吧!在主相机上点击Add Component添加Audio Source组件,同时也要有AudioListener组件,...原创 2020-04-30 10:10:37 · 2630 阅读 · 3 评论 -
音乐播放器的实现(五)—— 音量的加减和静音
音乐播放器的实现(五)—— 音量的加减和静音传送门:音乐播放器的实现(一)-- Audio Listener和Audio Source面板的介绍音乐播放器的实现(二)—UI面板的制作音乐播放器的实现(三)—进度条控制、播放、暂停、上(下)一曲、播放时间和总时间显示音乐播放器的实现(四)—— 歌曲列表、顺序播放、单曲循环、随机播放、自动下一曲前言这篇我们加入音量控制键,可以改变音量的大小,实现静音和非静音的切换。一、UI面板的制作1、新建一个按钮、一个Slider和一个Text,调整好大小和原创 2020-05-19 17:33:57 · 3938 阅读 · 10 评论