自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (1)
  • 收藏
  • 关注

原创 程序猿的浪漫~

用代码拼出爱你的形状

2020-03-24 11:50:30 230 1

原创 unity中流光效果

【代码】unity中流光效果。

2024-07-06 15:56:43 106

原创 颜色空间的选择

1.选择Gamma颜色空间,Web平台或者不支持线性空间,或者追求高饱和度的。2.选择Linear,追求真实光照和物理准确。

2024-05-28 11:13:08 166

原创 IDEA/Rider常用快捷键

5.上一步 ctrl + Alt +左箭头。4.格式整理 ctrl + Alt + L。1.选中字段 ctrl + w。2.函数定义 ctrl + Q。3.函数跳转 ctrl + B。6.文件切换 Alt + 箭头。7整行选中 shift+home。

2024-05-18 15:06:30 726

原创 碰撞检测要点总结

Physics.SphereCast不会检测已经在半径内的碰撞!

2023-11-21 10:42:30 133

原创 unity中移动方案--物理渲染分层

我们项目中为了保证FixedUpdate保持固定时间执行,且不会受到帧率影响,在Update的循环中,根据固定时长,实现了项目自定义的FixedUpdate函数,进行逻辑循环,由于unity中的物理计算是在自身的FixedUpdate函数内,因此要在需要的时间周期内(即移动指令设置后),手动调用物理模拟。这是因为如果在Update中修改了位置,unity会在FixedUpdate中进行物理检测,矫正位置,会出现 进入墙体内-->被物理系统挤出墙体-->进入墙体内-->被物理系统挤出墙体 的情况。

2023-11-05 11:42:49 393

原创 Animator中Has Exit Time,融合时间

Animator切换动画,融合时间,滑步

2023-10-30 01:38:49 299

原创 屏幕外目标点标记的实现方法

屏幕外目标点标记的实现方法

2023-06-30 14:47:53 197

原创 记录LookAt功能的一个问题思路

lookAt

2023-06-11 00:47:37 110

原创 Unity中动画系统的性能优化

动画系统性能优化

2023-06-11 00:28:13 2230

原创 Optimize Game Objects骨骼节点优化后SkinMesh以及动态骨骼

骨骼节点优化与动态骨骼冲突,以及SkinMeshRender蒙皮表现问题

2023-06-05 23:39:46 870

原创 Unity中往节点上添加组件,因嵌套预制体而导致重复添加组件

发现在先遍历到预制体A时,A中的某一节点是嵌套的预制体B,当遍历到预制体B时上一次添加的多语言组件没有override上来,在预制体B添加组件,并且资源加载结束后,发现预制体组件A重复添加了多语言组件。最近在做本地化功能,需要遍历所有UI预制体,将含有中文的Text或者LText组件中含有中文的都新增多语言文本组件,并赋值对应的多语言id;搜了好几种方式,目前发现只有下面这一种有效。

2023-04-27 20:33:27 300

原创 相机绕目标点移动旋转控制

相机从任意位置进入到角色模型LookAt模式,相机的移动方式根据目标模型旋转角度,确定相机最终旋转角度,插值改变相机角度确定相机最终距离目标点距离插值改变距离和角度public class TestMove : MonoBehaviour{ public GameObject targetObj; private WaitForEndOfFrame m_EndofFrame = new WaitForEndOfFrame(); // Start is

2021-08-11 20:19:13 701

原创 角色模型在相机中偏移显示

1.实现角色模型展示中,模型位置偏于中轴线,并且拉近拉远,旋转的过程中,模型位置相对于屏幕不变。实现方式:正常情况,相机正对目标点,角色模型会位于相机视野正中心,因此将相机设置成原始旋转的子物体,并有一定偏移,则模型在相机视野中将会偏移。初始相机偏移距离的确定,首先在UI面板中设置两个点,一个是UI中心点,一个是模型展示位置点,两者纵坐标相同,根据UI中两个坐标点,以UI摄像机先转化为屏幕坐标(uiCamera),再以相机就位后距离目标点距离转化为世界坐标(mainCamera)。V...

2021-08-11 20:11:54 321

原创 unity编辑器筛选或修改资源属性

using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;using System.IO;using System.Text;using UnityEngine.Rendering;using System;public class ModelInfoChecker{ #region 通用函数 /// <summary> .

2021-02-23 21:45:04 886

原创 二叉树遍历各种方式总结

public class TreeNode{ public TreeNode left; public TreeNode right; public int value;}public class SearchTest{ //前序遍历递归方式 private void preOrder1(TreeNode root, List<int> dataList) { if (root != null) {.

2020-05-12 15:05:14 193

原创 多重强制转换在安卓和ios平台造成精度丢失

int a=5;float b=a;long c=100;long result;result=(long)((1+b/100)*c);//以上代码在windows平台运算结果正确 105,但在安卓或ios平台结果为104.。。//以下几种修改方式result=(long)Math.Round((1f+b/100)*c);//或者分母为floatresult=(long...

2020-03-23 15:24:55 171

原创 3D轮播展示图片

这两天做了个很有意思的小玩意儿~平面轮播方式展示图片显得很单调,立体效果的果然好很多~1.球状展示:2.螺旋状展示:3.文字或字母形式展示:做字母或文字形式展示的时候一开始没有思路,后来想到了用白底带色彩字母或文字图片,识别图像中像素rgb值区分前景和背景,之后遍历每行每列(取合适的步长),将字母或文字像素位置映射到世界空间,再用图片进行填充。...

2020-03-22 18:10:43 775 1

原创 unity访问阿里云oss遇到的坑们

1.访问oss时报错:NullReferenceException: Object reference not set to an instance of an objectAliyun.OSS.Common.Communication.HttpExtensions.AddInternal (System.Net.WebHeaderCollection headers, System.Str...

2020-03-17 17:14:18 1890 6

原创 "SetDestination"can only be called on an active agent that has been placed on a NavMesh

今天在使用unity制作游戏demo角色导航功能的时候,遇到了"SetDestination"can only be called on an active agent that has been placed on a NavMesh报错。找了找原因后发现,在正确的设置好导航网格后,如果角色已经放置在导航网格上,运行游戏则正常导航,但如果角色是运行游戏后加载进场景,会触发上述报错。 Ga...

2020-02-15 15:14:27 6966

原创 Excel导出XML格式文件

在读取配置文件的时候经常会用到XML格式的数据,然而XML格式文件配置起来极不方便,使用excel将配置文件数据导出为XML文件是一种很好的解决方案。首先准备好xml模板文件,每一条数据包含sourcename/man/woman三个字段:<?xml version="1.0" encoding="utf-8"?><root> <item ID=""&...

2020-02-04 14:30:42 3539 1

原创 C#中使用反射将字符串转换为类

在自己用unity做demo的过程中,想要从配置表中将UI界面的预制体加载到场景中,并且挂载对应的类,由于配置表中需要挂载的类是通过字符串配置的,因此想到了以反射的形式进行添加,做了以下尝试:public class TestReflection : MonoBehaviour{ // Start is called before the first frame updat...

2020-02-01 23:06:08 6258

原创 值类型 引用类型

值类型和引用类型最大的区别是内存分配的差异:Stack 栈:线程栈,由操作系统管理,存放值类型,引用类型变量(引用对象在托管堆上的地址)。一个线程包含一个线程栈,对象作用域结束后清理,效率高。GC Heap 托管堆:存放引用类型,分配的对象由GC负责管理和释放,基于进程。值类型一直存储在栈上吗?所有的引用类型都存储在托管堆上吗?1.单独的值类型变量,存储在栈上面;2.值类型作为...

2019-12-28 16:46:58 98

原创 xLua学习总结(五)---热更新

使用xLua对unity中用C#完成的逻辑功能进行热更新,是xLua最重要的功能。准备工作:1.ScriptingDefineSymbols中加入HOTFIX_ENABLE 路径File-BuildSettings-PlayerSettings-OtherSettings2.在有可能需要热更新的类上打上[Hotfix]标签3.在有可能需要热更新的方法上打上[LuaCallCSh...

2019-12-23 17:46:33 258

原创 xLua学习总结(四)---lua访问C#

1.在lua中调用unity日志打印hello world:CS.UnityEngine.Debug.Log("hello world")2.通过lua中创建一个unity中的GameObjectlocal newGameObj = CS.UnityEngine.GameObject("CreatByLua")newGameObj.transform.position=CS.Un...

2019-12-21 18:19:09 150

原创 Unity中使用Socket进行Tcp连接-网络线程无法访问UI问题(五)

由于unity中的UI只能在主线程中访问,在网络线程中接收到的协议,无法直接用来处理UI方面显示逻辑。因此,可以先将网络线程接收到的协议缓存起来,在从主线程中一条一条取出来处理。static void OnReceiveData() { if (buffCount<2) { return;//收到数据小于字节长度描述 ...

2019-12-21 18:11:15 1142

原创 Unity中使用Socket进行Tcp连接-发送协议粘包/发送队列(四)

上一篇文章里介绍,在接收协议时会出现粘包情况,同样的,在协议发送时也会出现此问题。前面的文章介绍发送协议和接收协议的时候都是从字符串直接转换为byte数组,这在发送协议和解析协议时都不规范。public class MsgBase { public string protoName = ""; public static byte[] Encode(MsgBase m...

2019-12-21 17:58:35 1020

原创 xLua学习总结(三)---C#访问lua中数据

1.将lua中基本数据映射到C#类型lua中数据a=1str="小明" --文件编码改为UTF-8isRight=trueC#int a = env.Global.Get<int>("a");string str = env.Global.Get<string>("str");bool isRight = env.Global.Get<b...

2019-12-20 17:09:41 474

原创 xLua学习总结(二)---unity中调用lua say hello

让我们在lua代码中打印出hello world吧~1.定义lua代码新建一个名为first.lua.txt的lua文件,注意文件以文本文件后缀结尾print("hello world")接下来让我们在C#代码中调用lua代码using UnityEngine;using XLua;public class luaHelloWorld : MonoBehaviour {...

2019-12-20 15:21:24 288

原创 xLua学习总结(一)---环境配置

游戏上线后,经常会发现需要修复的bug,以及节日期间会有新的活动上线,由于C#编写的程序在unity打包后会编译成dll文件,修改C#代码后只能编译后重新打包,然而让玩家重新下载安装包是不现实的。因此,游戏热更新是必须的。使用unity开发的游戏,游戏资源的更新可以使用下载新的Assetbundle方式,游戏内代码bug的修复,可以下载新的lua代码,来覆盖原先的逻辑,腾讯退出的xLua热更新...

2019-12-19 21:22:34 377

原创 Unity中使用Socket进行Tcp连接-多路复用、解决粘包(三)

上一篇文章将网络连接改为异步方式,但仍有不足之处。异步实际上属于多线程的操作,这可能会造成线程问题,Select多路复用的方式可以同时监听多个客户端Socket列表,如果有可读的socket则返回,否则阻塞,这样不会造成线程问题,且不会造成CPU占用过高。服务器多路复用Select:using System;using System.Collections.Generic;usi...

2019-09-12 11:36:04 1781 2

原创 Unity中使用Socket进行Tcp连接-异步(二)

在上一篇文章中,使用同步连接虽然实现了客户端与服务器的连接,但由于通讯方法的阻塞性,例如在接收消息时,当没有消息的情况下会阻塞在Receice方法中,下面将会把代码改为异步方式。客户端异步:using UnityEngine;using System.Net;using System.Net.Sockets;using System.Threading;using System....

2019-09-11 21:49:04 2654 1

原创 Unity中使用Socket进行Tcp连接-同步(一)

Tcp是一种面向连接的,可靠,基于字节流的通信协议,Udp是一种快速,不可靠,但传输速度快的协议,Tcp连接是游戏开发中常用的一种网络通信协议,本文是对网络通信学习的总结;第一部分介绍客户端,服务器端使用同步连接代码using UnityEngine;using System.Net;using System.Net.Sockets;using System.Threading;...

2019-09-11 19:11:23 1886

原创 List存储结构体的赋值问题

前几天在写代码的过程中发现,用List存储结构体赋值失败;struct Member{ public string name; public int id;}List<Member> memberList=new List<Member>();//memberList从外部读取后对某个进行修改memberList[0].name="xiao...

2019-05-08 11:33:55 1956 2

原创 unity中UI使用Mask

如上图想要只显示出相交部分图片,其中黄色为child,红色为parent,在父物体上添加Mask组件即可,取消勾选隐藏父物体

2018-12-26 14:25:09 3640

原创 virtual与abstract区别

1、abstract即抽象,含有抽象方法的类是抽象类,抽象类无法被实例化,但抽象类不一定含有抽象方法,声明一个抽象类可以避免被实例化;2、abstract修饰的方法不可有方法实现,对应的子类必须实现抽象方法;3、virtual修饰的方法为虚函数,虚函数必须有方法体,即使是一个空的大括号,子类可以不重写;4、abstract与virtual修饰的方法子类重写用override。...

2018-12-12 12:12:49 574

原创 unity中打破刚体睡眠状态以产生碰撞

在制作使用冰块生长顶开门的功能时,由于使用的是改变冰块的localScale.y的方式transform.localScale = Vector3.Lerp(initGrow, needGrow, second / time);在冰块纵向生长时会穿过门,既无法产生碰撞,经过查资料发现通过改变localScale的方式物体的刚体仍然处于睡眠状态,因此无法产生碰撞。解决方法为在改变loca...

2018-08-30 15:16:47 1396

原创 创建文件夹方式以及注意事项

//string path = Application.dataPath+"/test"; 不可在此处获取Application.dataPath [MenuItem("Tool/creat")] public static void Creat() { if (!Directory.Exists(Application.dataPath + ...

2018-08-23 19:45:46 502

原创 Unity中类对象存储为.asset以及相应读取

unity中将某个类的对象存储为一个asset对象,以及需要时的加载。创建一个类继承自ScriptableObject,使得该对象可序列化存储public class Agent:ScriptableObject{ public string name;}将Agent类对象存储下来void SaveAgentInfo()//将对象信息以.asset的形式存在Reso...

2018-08-22 19:58:31 5313 2

3D形式轮播展示图片集,包含球状,螺旋状,支持识别文字或字母

平面形式的轮播展示照片集略显单调,将图片组合排列成3D 球状,螺旋状或者任意自定义的字母文字形式排布,会让效果显得更立体。 效果动图:https://blog.csdn.net/l17768346260/article/details/105032134

2020-03-22

空空如也

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

TA关注的人

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