自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 关于使用ScriptObject作为项目数据配置

另外:ScriptObject可以直接关联Unity中的其他资源,比如直接引用一个prefab,在真机上,直接关联,加载该ScriptObject时会同时加载其引用的Prefab,ScriptObject常被用作配置,因此不需要实时加载,那么可以记录其引用路径即可。在我看来,结合其优点缺点,可以考虑在编辑器模式下使用ScriptObject存储数据(可视化+方便运行时调试数据,运行时保存),打包之前会生成json等作为真机运行时数据。- 编辑器模式下运行时可实时修改资源数据并会保存到本地。

2023-10-28 19:46:44 275 1

原创 Android权限问题

Android权限问题总结Android 权限分为安装时权限、运行时权限和特殊权限。安装时权限安装时权限时是指在AndroidMainfest中申请的,安装后就会自动授予的权限。不需要主动申请。应用商店查看的应用详情中使用的权限一般显示的也是安装时权限。安装时权限又分为:==普通权限(protectlevel:normal):和签名权限(protectlevel:signature)==两种。普通权限:ACCESS_NETWORK_STATE 、ACCESS_WIFI_STATE 等。签名权限:

2021-09-11 14:04:46 597

原创 Xlua 编译luajit版本库问题总结

Xlua增加或删除第三方库步骤可以按照官网文档进行操作,文档地址:https://github.com/Tencent/xLua/blob/master/Assets/XLua/Doc/Xlua增加删除第三方lua库.md本次添加使用的protobuffer: https://github.com/starwing/lua-protobuf。Windows执行make_win64_laujit_gc64.bat和 make_win32_luajit.bat。可能出现的问题点:安装VS201

2021-09-01 19:54:55 1433

原创 Lua 只读属性

创建Lua类型,可被实例化,可被继承--创建一个类型对象ClassType = { class, --类型 instance, --类型实例}--创建一个类型function class(className,superClass) if superClass.classType ~= ClassType.class then assert(false, "类 才能够被继承") end local cls = {} cls.__className = cl

2021-08-06 12:21:04 330

原创 Xcode工程 project.pbxproj小结

记录链接方便学习:Xcode工程文件project.pbxproj小结 - 简书 (jianshu.com)

2021-07-26 13:07:52 124

原创 BuildAssetBundleOption.DisableWriteTypeTree和粒度问题

BuildAssetBundleOption.DisableWriteTypeTree 根据Unity的API文档,DisableWriteTypeTree的作用如下: 在Unity 5.x版本中,AssetBundle在制作时会默认写入TypeTree信息,这样做的好处是可以保证AssetBundle文件的向下兼容性,即高版本可以支持以前低版本制作的AssetBundle文件。 所以,如果开启DisableWriteTypeTree选项,则可能造成AssetBundle对Unity版本的兼..

2021-07-25 22:40:24 2451 5

原创 C#中的Where的使用

一、约束约束类型包括基类约束、构造函数约束、接口约束、参数约束等。如:public class FateherTest{}//where的用法 接口约束IComparable 和构造函数约束new(), 基类约束 FatherTestpublic class TestA<T> where T : FateherTest, IComparable, new(){}public class TestB{ //限制传递参数的类型必须继承IComparable 参数类型约束

2021-07-25 19:12:39 16840

原创 Unity shader 学习之渲染流水线

#渲染流水线渲染流水线包括三个阶段:应用阶段、几何阶段、光栅化阶段。##一、应用阶段主导地位:CPU主要功能:1.将数据从硬盘加载到内存,再从内存加载到显存。主要数据有:顶点位置、法线、颜信息,场景信息等。2.设置渲染状态。说白了就是明确使用哪个shader、哪个材质球、光源状态等。3.调用DrawCall:CPU封装一个渲染命令到命令缓存区。后续阶段GPU取得命令并依赖加载到显存中的数据,进行渲染操作。##二、几何阶段几何阶段主要分为顶点着色器、曲面细分着色器、几何着色器、裁剪和屏幕映射

2021-05-19 17:19:03 161

原创 Shader学习 数学基础

Shader学习 数学基础1.一些数学概念 左右坐标系和右手坐标系 如何判断左手坐标系和右手坐标系?答:侧面伸出右手为x方向,头部为y方面,面对的方向为z方向,则为左手坐标系,右手坐标系z轴方向为相反反向。坐标轴具有旋向性。Unity中使用的坐标系?答:模型空间和世界空间使用左手坐标系,观察空间使用右手坐标系。 正交基、标准正交基 三个矢量像坐标轴一样两两垂直称为正交基。三个矢量都为单位矢量且两两垂直则称为标准正交基。2.矢量运算矢量和标量相乘。几何意义:表示缩放

2021-05-18 18:17:51 121

原创 生活中的沉锚效应

生活中的沉锚(锚定)效应锚定效应指的是人们在对某一未知量的特殊价值进行评估之前,总会事先对这个量进行一番考量,此时锚定效应就会发生。即估测结果和人们思考结果很相近。如果有人问你红杉树的凭平均生长高度是否高于100m,和问你红杉树平均高度是否高于20m?这两个不同初值的问题,后续你在估测红杉树的平均高度时会有截然不同的答案。100m、20m分别是两个不同的初始锚定值,后续我们在思考问题的答案时会基于这两个不同的锚定值做出推测。同理如果我们商场购物,如果一件商品的初始价格锚定在了500人民币,在砍价之后

2021-02-28 18:32:57 229

原创 2021-02-27

2021的第一个flag最近工作中使用了Unity+Xlua。一直以来认真的研究下Xlua的源码,但时间总被生活的琐事消磨。在看透了一些事情整个人都变得通透之后,也算终于能静下心来写点东西。一是为了未来的工作积累知识,二是为自己最近突然膨胀的表达欲,寻找一个释放的出口。...

2021-02-27 20:03:32 99

原创 Lua性能优化之table

通常情况下,我们不需要知道Lua的table是如何实现的,但是为了对lua性能进行优化,去了解Lua table的实现细节是非常关键的。01—table是如何实现的?为了了解table的实现,我们可以查看Lua的C源码,如下:图1-1 lua表的构成Lua中的table是由两部分组成,数组部分和哈希表部分。数组部分储存着索引为整型的数据,哈希表存储着以其它类型为索...

2020-02-09 17:39:27 4016

原创 Unity日志显示

生成apk后我们经常需要查看错误日志来修复bug,于是简单写个运行时查看日志的功能,直接上代码:public class ShowLog : MonoBehaviour{#if SHOWLOG private List&amp;lt;string&amp;gt; mLogEntity = new List&amp;lt;string&amp;gt;(); private void Awake() {...

2019-02-13 19:40:06 6390 1

原创 Unity 场景资源level0 level 及sharedassets0 sharedasset1

Unity出包后场景中引用的贴图 材质等,一直以来我都认为是保存在LevelI及LevelRes文件中,今天特意做了个测试,并不是这么回事。经过测试结果如下:1.编辑器下的场景文件内容:我们以文本形式打开一个场景文件,如下:...

2019-02-13 17:04:32 16784 4

转载 Unity拓展脚本模板

最近在看Unity3d游戏开发第二版(作者雨松momo)这本书,看到点有趣的东西,抄录下来,方便学习。1.Unity 文件夹下保存着一份脚本模板 在目录:Unity\Editor\Data\Resources\ScriptTemplates下。如果需要新的,可以在该目录下仿照格式重新添加一套新的模板格式。2.为了方便版本管理,可以自己写一套新加模板的方法,代码如下:using UnityEn...

2019-02-05 16:49:35 366

原创 Unity创建ScpritableObject

直接上代码://创建方法一//可以在Create菜单创建[CreateAssetMenu]public class TestScpritObject : ScriptableObject //继承ScpritableObject{ public List&lt;PlayerInfo&gt; myPlayerInfo = new List&lt;PlayerInfo&gt;();...

2019-02-04 17:32:41 591

原创 对Unity协程理解(二):自己实现一个简单的协程功能

1.实现协程功能需要对C#关键词Yield进行理解。(1)yield迭代器会暂停,直到下次调用MoveNext。此处可以做一些处理,来决定是暂停一帧还是暂停多少秒 (2)当MoveNext返回False时该迭代模块会结束。实现代码如下:1.当我们在Unity中随便写个协程方法比如:yield return myTest() 和yield return null 效果一样都是暂停一帧。...

2019-02-02 02:01:09 535

原创 Unity协程的一些理解(一)

Unity协程的一些理解使用Unity开发游戏过程中,难免会使用到协程。现在总结下使用过程中的一些理解及使用过程中遇到的一些坑。1. 使用协成必须继承MonoBehaviour。 开发过程中我们会单独写个协程类,来使用协程的功能。常见的写法: public static class CoroutineManager { private static Coro...

2019-02-01 23:01:49 1406 1

转载 VS2017常用快快捷键

 项目相关的快捷键  Ctrl + Shift + B = 生成项目  Ctrl + Alt + L = 显示 Solution Explorer(解决方案资源管理器)  Shift + Alt+ C = 添加新类  Shift + Alt + A = 添加新项目到项目  编辑相关的键盘快捷键  Ctrl + Enter = 在当前行插入空行  Ctrl + S

2017-11-04 17:22:45 40788 6

转载 Unity3d常用快捷键

Windows系统Unity3D中的快捷键组合键键功能File 文件Ctrl NNew Scene 新建场景Ctrl OOpen Scene 打开场景Ctrl SSave Scene 保存Ctrl

2017-11-04 13:11:27 652

空空如也

空空如也

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

TA关注的人

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