- 博客(48)
- 资源 (1)
- 收藏
- 关注
原创 unity中TimeLine的Activation Track在手机端不生效
确保 Unity.Timeline 程序集中的所有代码在通过IL2CPP编译时不会被裁剪。在Assts下的link.xml文件增加配置。
2024-08-03 18:03:07
238
原创 材质球向shader传值失败
unity中导入spine模型,当模型挂载SkeletonMecanim组件后,发现材质球向shader传值失败,改为SetPropertyBlock后可行。
2024-07-31 11:45:54
458
原创 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
2547
原创 unity中移动方案--物理渲染分层
我们项目中为了保证FixedUpdate保持固定时间执行,且不会受到帧率影响,在Update的循环中,根据固定时长,实现了项目自定义的FixedUpdate函数,进行逻辑循环,由于unity中的物理计算是在自身的FixedUpdate函数内,因此要在需要的时间周期内(即移动指令设置后),手动调用物理模拟。这是因为如果在Update中修改了位置,unity会在FixedUpdate中进行物理检测,矫正位置,会出现 进入墙体内-->被物理系统挤出墙体-->进入墙体内-->被物理系统挤出墙体 的情况。
2023-11-05 11:42:49
526
原创 Optimize Game Objects骨骼节点优化后SkinMesh以及动态骨骼
骨骼节点优化与动态骨骼冲突,以及SkinMeshRender蒙皮表现问题
2023-06-05 23:39:46
1182
原创 相机绕目标点移动旋转控制
相机从任意位置进入到角色模型LookAt模式,相机的移动方式根据目标模型旋转角度,确定相机最终旋转角度,插值改变相机角度确定相机最终距离目标点距离插值改变距离和角度public class TestMove : MonoBehaviour{ public GameObject targetObj; private WaitForEndOfFrame m_EndofFrame = new WaitForEndOfFrame(); // Start is
2021-08-11 20:19:13
793
原创 角色模型在相机中偏移显示
1.实现角色模型展示中,模型位置偏于中轴线,并且拉近拉远,旋转的过程中,模型位置相对于屏幕不变。实现方式:正常情况,相机正对目标点,角色模型会位于相机视野正中心,因此将相机设置成原始旋转的子物体,并有一定偏移,则模型在相机视野中将会偏移。初始相机偏移距离的确定,首先在UI面板中设置两个点,一个是UI中心点,一个是模型展示位置点,两者纵坐标相同,根据UI中两个坐标点,以UI摄像机先转化为屏幕坐标(uiCamera),再以相机就位后距离目标点距离转化为世界坐标(mainCamera)。V...
2021-08-11 20:11:54
370
原创 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
969
原创 二叉树遍历各种方式总结
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
220
原创 多重强制转换在安卓和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
202
原创 3D轮播展示图片
这两天做了个很有意思的小玩意儿~平面轮播方式展示图片显得很单调,立体效果的果然好很多~1.球状展示:2.螺旋状展示:3.文字或字母形式展示:做字母或文字形式展示的时候一开始没有思路,后来想到了用白底带色彩字母或文字图片,识别图像中像素rgb值区分前景和背景,之后遍历每行每列(取合适的步长),将字母或文字像素位置映射到世界空间,再用图片进行填充。...
2020-03-22 18:10:43
845
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
2024
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
7063
原创 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
3740
1
原创 C#中使用反射将字符串转换为类
在自己用unity做demo的过程中,想要从配置表中将UI界面的预制体加载到场景中,并且挂载对应的类,由于配置表中需要挂载的类是通过字符串配置的,因此想到了以反射的形式进行添加,做了以下尝试:public class TestReflection : MonoBehaviour{ // Start is called before the first frame updat...
2020-02-01 23:06:08
6757
原创 值类型 引用类型
值类型和引用类型最大的区别是内存分配的差异:Stack 栈:线程栈,由操作系统管理,存放值类型,引用类型变量(引用对象在托管堆上的地址)。一个线程包含一个线程栈,对象作用域结束后清理,效率高。GC Heap 托管堆:存放引用类型,分配的对象由GC负责管理和释放,基于进程。值类型一直存储在栈上吗?所有的引用类型都存储在托管堆上吗?1.单独的值类型变量,存储在栈上面;2.值类型作为...
2019-12-28 16:46:58
120
原创 xLua学习总结(五)---热更新
使用xLua对unity中用C#完成的逻辑功能进行热更新,是xLua最重要的功能。准备工作:1.ScriptingDefineSymbols中加入HOTFIX_ENABLE 路径File-BuildSettings-PlayerSettings-OtherSettings2.在有可能需要热更新的类上打上[Hotfix]标签3.在有可能需要热更新的方法上打上[LuaCallCSh...
2019-12-23 17:46:33
297
原创 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
182
原创 Unity中使用Socket进行Tcp连接-网络线程无法访问UI问题(五)
由于unity中的UI只能在主线程中访问,在网络线程中接收到的协议,无法直接用来处理UI方面显示逻辑。因此,可以先将网络线程接收到的协议缓存起来,在从主线程中一条一条取出来处理。static void OnReceiveData() { if (buffCount<2) { return;//收到数据小于字节长度描述 ...
2019-12-21 18:11:15
1220
原创 Unity中使用Socket进行Tcp连接-发送协议粘包/发送队列(四)
上一篇文章里介绍,在接收协议时会出现粘包情况,同样的,在协议发送时也会出现此问题。前面的文章介绍发送协议和接收协议的时候都是从字符串直接转换为byte数组,这在发送协议和解析协议时都不规范。public class MsgBase { public string protoName = ""; public static byte[] Encode(MsgBase m...
2019-12-21 17:58:35
1093
原创 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
532
原创 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
318
原创 xLua学习总结(一)---环境配置
游戏上线后,经常会发现需要修复的bug,以及节日期间会有新的活动上线,由于C#编写的程序在unity打包后会编译成dll文件,修改C#代码后只能编译后重新打包,然而让玩家重新下载安装包是不现实的。因此,游戏热更新是必须的。使用unity开发的游戏,游戏资源的更新可以使用下载新的Assetbundle方式,游戏内代码bug的修复,可以下载新的lua代码,来覆盖原先的逻辑,腾讯退出的xLua热更新...
2019-12-19 21:22:34
427
原创 Unity中使用Socket进行Tcp连接-多路复用、解决粘包(三)
上一篇文章将网络连接改为异步方式,但仍有不足之处。异步实际上属于多线程的操作,这可能会造成线程问题,Select多路复用的方式可以同时监听多个客户端Socket列表,如果有可读的socket则返回,否则阻塞,这样不会造成线程问题,且不会造成CPU占用过高。服务器多路复用Select:using System;using System.Collections.Generic;usi...
2019-09-12 11:36:04
1890
2
3D形式轮播展示图片集,包含球状,螺旋状,支持识别文字或字母
2020-03-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人