码了个球

知易行难


  • 首页

  • 分类

  • 归档

  • 搜索

使用AndroidStudio为Unity编译C/C++动态库

发表于 2021-01-09 | 分类于 unity3d | 评论数: | 阅读次数:

安卓平台是基于Linux,所以动态库是so后缀,在AndroidStudio 中生成动态库有两种方式,一种是通过cmake,另一种是通过ndk-build,本文采用的是ndk-build,目前AS对于这两种方式都支持,但是对于新的项目,官方建议采用CMake来构建。

阅读全文 »

理解async/await异步模型(一)

发表于 2020-07-16 | 更新于 2021-01-01 | 分类于 unity3d | 评论数: | 阅读次数:

大概从 Unity 2017 开始就正式支持 .Net 4.x 版本,很多新的语法都支持了,包括 dynamic 动态类型、async/await 异步模型,其中对 async/await 的支持尤其重要,虽然之前可以使用协程来进行异步编程,但是协程存在很多限制,最突出的两个问题是,没有返回值,以及异常处理问题,async/await的出现,很好的解决的这些问题,但是同时又带了一些新的问题。

async/await异步模型使用起来很简单,但是要真正的完全理解,其中涉及到很多难理解的概念,比如多线程、线程池、同步上下文、任务调度等等,对于初学者,这些单个概念都不太好理解,MSDN 上面提供的资料也不是很多,同时,本人的能力水平有限,其中难免存在纰漏,但是我还是尽可能的将我的理解表述清楚,便于读者理解。

下面文章从一个简单的例子出发,首先了解一下 async/await 是如何实现异步的。

阅读全文 »

C#中反射获取基类静态成员

发表于 2020-03-29 | 更新于 2021-01-01 | 分类于 c# | 评论数: | 阅读次数:

今天在实现单例的时候,通过继承泛型基类,子类型就可以拥有静态 Instance 属性成员,但是当我通过子类类型获取 Instance 对象时,却没有办法获取到,原因是因为反射时,虽然会在继承的基类中进行查找,但是只限于实例成员,对于静态成员是不进行继承查找的。

阅读全文 »

Unity WebGL 开发(三)

发表于 2020-03-13 | 更新于 2021-01-01 | 分类于 unity3d | 评论数: | 阅读次数:

这是 WebGL 部分的第三篇,主要包括性能问题、内存、与浏览器的交互三部分内容。

阅读全文 »

Unity WebGL 开发(二)

发表于 2020-03-13 | 更新于 2021-01-01 | 分类于 unity3d | 评论数: | 阅读次数:

在前文中,主要写了一些关于 WebGL 发布、调试、以及开发限制等问题,本文主要是关于 WebGL平台中的图形渲染、网络、音频相关的东西,WebGL 是在 OpenGL ES 发展来的,WebGL 1.0 基于 OpenGL ES 2.0,WebGL 2.0 基于 OpenGL ES 3.0,目前主流火狐和 Chrome 已经支持 WebGL 2.0,而 Safari 和 Edge 还不支持 2.0。

阅读全文 »

Unity WebGL 开发(一)

发表于 2020-03-12 | 更新于 2021-01-01 | 分类于 unity3d | 评论数: | 阅读次数:

Unity3D 中的 WebGL 平台旨在替代以前的 UnityPlayer 平台,随着目前多数浏览器都已经能够很好的支持 Html5,因此 WebGL 也更加成熟,为了将项目发布为 WebGL 平台,在打包的时候,Unity 利用 Emscripten 工具链,将引擎的 C/C++ 代码转换为 WebAssembly(一种浏览器可以执行的格式,更加高效),而 C#代码则需要先通过 IL2CPP转换为 C/C++代码,在转换为 WebAssembly。

阅读全文 »

Unity中配置Android环境

发表于 2020-03-07 | 更新于 2021-01-01 | 分类于 unity3d | 评论数: | 阅读次数:

电脑升级之后,发现某些软件不能用了,需要进行重新安装,环境需要重新配置,这里简单记录一下 Unity Android 开发环境配置。

阅读全文 »

VSCode+CMake搭建OpenGL开发环境

发表于 2019-12-12 | 更新于 2021-01-01 | 分类于 graphics | 评论数: | 阅读次数:

OpenGL跨平台开发环境很多种,自动化构建的话首选 CMake,编辑器方面可选的比较多,个人非常喜欢 Jetbrains 的 CLion,代码提示和自动补全功能非常强大,目前没有提供社区版本,需要购买激活,另一个比较推荐的就是微软的 VSCode,它的插件非常丰富,非常轻量,并且免费开源,下面介绍一下基于 VSCode和CMake 搭建 OpenGL的开发环境,我这里的的操作系统为 OSX。

阅读全文 »

关于Object.Destry和空检查

发表于 2019-11-20 | 更新于 2021-01-01 | 分类于 unity3d | 评论数: | 阅读次数:

在 Unity3D 中总是要进行对象的销毁和Null 检查,虽然经常用,但是其中的一些细节,如果不太注意,很有可能就会踩坑,下面就总结一下 UnityEngine.Object 类型的销毁,以及空值检测相关问题。

阅读全文 »

C#与非托管DLL进行交互

发表于 2019-11-18 | 更新于 2021-01-01 | 分类于 c# | 评论数: | 阅读次数:

在做Unity开发时,经常会需要调用 C/C++ 编译的非托管库,包括目前常见的 Lua 库,比如 ToLua、XLua 都是通过 C 封装完接口,然后编译成各个平台的动态库,才能在Unity中进行使用,P/Invoke 是.Net 平台提供的非托管与托管通信的一种服务,通过它能够非常方便的完成非托管库的接入,当然这个过程中有很多需要注意的地方,希望通过阅读本文,能够少走一些弯路。

阅读全文 »
12…6
SK

SK

52 日志
11 分类
11 标签
© 2021 SK
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Pisces v6.6.0