Unity
文章平均质量分 87
_DavidWang_
计算机硕士,全国信标委虚拟现实与增强现实标准工作组成员(CNITSC)、中国增强现实核心技术产业联盟成员(CARA)、华为HDE(Huawei Developer Experts)、Unity UVP(Unity Valuable Professional)、CSDN博客专家,主编国家级团体标准1项,参与国家级标准编写1项,授权和在审发明专利十余项,软件著作权若干。专注图形学/XR开发,著有《基于Unity的ARCore开发实战详细讲解》、《AR开发权威指南-AR Foundation》、《ARKit原生开发入门精粹》、《HoloLens2开发入门精要-基于Unity和MRTTK》等书籍6本。
展开
-
Unity与Android交互通信系列(6)
其原理依然是利用AndroidJavaProxy接口进行桥接,但通过Unity端注入action(Android端广播动作名称)参数,即由C#端控制需要注册的广播,Android端接收到广播之后,进行相应的数据处理(方便将这些数据传递到C#端),然后调用接口方法,触发C#端广播处理方法。通过使用该通用类,不仅可以注册自定义广播,也可以注册系统广播(可能需要权限申请),还可以一次性注册多个广播,界面简洁,使用简单。本节主要讲述广播订阅。原创 2024-06-17 21:18:24 · 607 阅读 · 0 评论 -
Unity与Android交互通信系列(5)
在C#端,通过实现Java端的接口,可以生成本地端的实例对象,这个实例对象在Mono / IL2CPP虚拟机内,然后通过调用Java端的方法将本地端的实例对象引用传递到Java端,因为实例对象实现了Java端的接口,所以Java端可以通过接口调用到实例对象的方法,本质上是通过引用调用Mono / IL2CPP虚拟机端的本地实例对象。Java端通过调用其接口方法,实现了对C#端实例对象方法的调用。在代码5-2中,C#端实现了Java接口,接口中的方法必须为Public,方法签名与Java端完全一致。原创 2024-02-24 17:48:48 · 1658 阅读 · 0 评论 -
Unity与Android交互通信系列(3)
至此,Android端的模块已完成,在左侧Project列表中选中android2unity模块,然后在Android Studio菜单中依次选择Build →Rebuild Project开始构建模块aar包,如图7所示,构建完成后,可以在android2unity模块下的build →outputs →aar目录中找到生成的aar包。通过构建模块aar包的形式,有利于代码管理,并且可以方便的整合第三方类库,提供一个整体的模块方案,简化Unity端的调用形式。通过这种包/库的方式调用就舒服多了。原创 2023-12-26 21:16:50 · 1848 阅读 · 0 评论 -
程序纹理应用之静态纹理生成
自然界的自然现象均是连续的,如山脉、花纹、烟雾、流水;自然界又是分形的,宏观与微观具有几何相似性;自然界的自然现象还具有流畅的变化特征。用传统的图形学来描绘一些自然现象,如火焰、流水、烟雾,存在很大的难度,一方面是需要大量的纹理,另一方面还需要复杂的运算,导致模拟得不像不真。而利用噪声函数来模拟却可以很好的达到效果,甚至是用粒子系统也无法达到的效果。目前使用得最广的是粒子系统,还有细胞自动机和基于物原创 2017-12-05 16:59:26 · 3342 阅读 · 0 评论 -
Voronoi Noise
一、Voronoi Noise 沃罗诺伊图(Voronoi Diagram,也称作Dirichlet tessellation,狄利克雷镶嵌)是由俄国数学家Georgy Fedoseevich Voronoi建立的空间分割算法,其空间划分思想来源于笛卡尔用凸域分割空间理论,也就是说,Voronoi图实际是一种空间划分方法,这种划分方法解决了这样一个问题:如何根据已知点划分空间,使得晶胞与点一一对应原创 2017-11-14 21:40:35 · 3210 阅读 · 0 评论 -
Worley Noise (三)
一、不同距离算法下的Worley变种 在前面学习中,我们学过三个图形学中常用的距离量算方法(欧几里得距离(euclidean Distance),曼哈顿距离(Manhattan Distance),切比雪夫距离(Chebyshev Distance)),在Worley噪声生成算法中,也使用了距离量算,因此很自然就会用三种不同的Worley变种算法,下图展示了采用不同距离量算方法生成的噪声。原创 2017-11-02 21:01:31 · 1478 阅读 · 0 评论 -
Simplex Noise(一)
一、Simplex Noise优势 通过前面我们的学习,知道Perlin噪声的算法复杂度为O(2^n),生成噪声维度越高,计算复杂性增长越快,同时,在实现时对Permutation表的操作也越复杂,插值运算也越多,代码操作时难度也越来越大。正是因为如此,2001年,ken perlin对Perlin噪声进行了改进,希望凭借新的理论解决高维度的噪声生成计算量的问题,克服了Perlin噪声的很多缺点原创 2017-09-26 19:57:32 · 9276 阅读 · 0 评论 -
Worley Noise(一)
一、Worley噪声原理 (细胞噪声)Cell Noise,常用来模拟细胞类有孔纹理,是一种基于NORONI图的噪声生成算法,1996年,在Siggraph96上,Steven Worley发表的论文《A Cellular Texture Basis Function》提出了一种用于实现cellular texture方法,能有有限的资源时间内快速生成Cell噪声,因此Cell噪声也常被称为Wor原创 2017-10-29 17:44:37 · 4541 阅读 · 4 评论 -
Value Noise(二)
一、Value Noise 1D 根据之前学习的Value 噪声原理,我们分步来实现之。但在这之前,我们还有一些准备工作要做,如之前所说的,Value噪声是将随机值赋于晶格点,然后根据输入点所处晶格,对随机值进行线性插值而得到噪声值,所以,我们首先初始化一个晶格顶点值数组,并将各顶点的随机值保存在顶点上,在实施中,我们初始化了一个长度512的float数组保存我们的晶格顶点随机值,即我们完成了如下原创 2017-11-08 21:34:36 · 939 阅读 · 0 评论 -
Perlin Noise变种及无缝纹理生成
一、Perlin Noise变种 通过前面几篇文章,我们已经成功实现了1D,2D,3D,4D Perlin 噪声,Perlin噪声实现不是很复杂,但是我们也应该注意到,随着维度的增多,实现的复杂度也在大幅度增加,包括permutation表的检索和插值都会变得越来越难以控制,而且性能瓶颈表现得也是越来越明显。当然,我们平时很少用到超过4D以上的Perlin噪声,事情还不没有想象的那么困难。在Ke原创 2017-09-24 08:48:32 · 7015 阅读 · 0 评论 -
Perlin noise(三)
Perlin noise(三) 前文学习了1D、2D Perlin噪声的生成算法,本文将更进一步,学习3D、4D Perlin噪声的生成。我们不仅需要2D的噪声面纹理,也需要3D的体纹理(后面将进一步学习),同时,我们可以利用3D体纹理来生成2D动态面纹理,也可以利用4D的超纹理来生成3D的动态体纹理,这就是我们为什么要学习4D Perlin噪声的原因。4D Perlin噪声的生成需要用到超晶格的原创 2017-08-15 21:39:00 · 5610 阅读 · 0 评论