• 在Unity中使用uGUI绘制自定义图形(饼状图 雷达图)

    Posted by : 袁艳平 on 2017年9月20日

    饼状图或者是雷达图是根据属性自动生成的自定义图形。这里展示了如何使用uGUI完成这一功能。 先附上我制作雷达图的控件的代码  UIPropWidget.cs using UnityEngine; using System.Collections.Generic; using UnityEngine.UI; /* * * 2 6 * * 3 7 * * 0 1 5 4 * * * 2 6位为属性0 3为属性1 0为属性2 4为属性3 7为属性4 */ pub

    阅读全文...

  • Unity 法线贴图、高光贴图、Cube Map shader

    Posted by : 袁艳平 on 2017年9月20日

    Unity 相关纹理贴图 先看一下Unity 法线贴图、高光贴图、Cube Map shader最终效果: 说老实话,我不怎么喜欢看教程,我喜欢自己捉摸捉摸,要知道自己捉摸出来的东西那个高兴劲儿,恨不得全城人都跟我一起hi一把。这个多纹理shader写了有几个月了,当然还有其他一同出炉的shader。 什么是漫反射光照 先看一下Unity中Lighting.cginc文件, 哦,对!!这就是漫反射,不过我不喜欢这么就用在vert fragment shad

    阅读全文...

  • Unity3d 加密 Assembly-CSharp.dll (Android平…

    Posted by : 袁艳平 on 2017年9月19日

    0、加密的原理 Unity3d 是基于 Mono的,我们平时写的 C# 脚本都被编译到了 Assembly-CSharp.dll ,然后 再由 Mono 来加载、解析、然后执行。 Mono 加载 Assembly-CSharp.dll 的时候就是读取文件到内存中,和平时读取一个 游戏资源 文件没什么区别。 为了防止别人破解,我们会对游戏资源加密,简单点的 比如修改文件的一个字节 或者 位移一下 。只要简单的修改一下,破坏原来的文件数据结构,别人就不能用通用

    阅读全文...

  • Mono加密DLL也没用,借助IDA dump内存 直接提取解密后的DLL,反编…

    Posted by : 袁艳平 on 2017年9月19日

    之前有介绍过通过重新编译Mono 来加密DLL的方式,来避免Unity 游戏被反编译修改破解,然而这种方式只能防住一些小白玩家,稍微有技术的玩家分分钟就破解了,下面也介绍下一个Unity游戏是如何被破解的。 首先,对于没有重编Mono 进行加密的,直接找到DLL,反编译修改代码就搞定,详细请参照我之前写的文章 Unity3d 反编译破解游戏 简单示例 (使用ildasm反编译DLL修改然后重新编译DLL) 然后对于重编Mono进行加密过的,可以借助IDA来

    阅读全文...

  • Unity性能优化之内存篇

    Posted by : 袁艳平 on 2017年9月19日

    项目开发中的内存分配情况。除此之外, 还有三个更为重要的地方需要研发团队关注:内存泄露、Mono无效堆内存开销和资源冗余。这几乎是所有团队在研发过程中都会遇到的问题。今天我们就来详细说一说这些问题的解决方案。 同时,不同的项目遇到的问题不尽相同,欢迎大家加入到UWA的产品QQ群(465082844),就相关内容来进一步讨论。 一、内存泄露 内存泄露是开发人员在项目研发过程中最常见也最不愿遇到的问题。就目前来看,大家对于判断项目是否存在内存泄露仍然存在一些误

    阅读全文...

  • Unity Shader-渲染队列,ZTest,ZWrite,Early-Z

    Posted by : 袁艳平 on 2017年9月19日

    简介 在渲染阶段,引擎所做的工作是把所有场景中的对象按照一定的策略(顺序)进行渲染。最早的是画家算法,顾名思义,就是像画家画画一样,先画后面的物体,如果前面还有物体,那么就用前面的物体把物体覆盖掉,不过这种方式由于排序是针对物体来排序的,而物体之间也可能有重叠,所以效果并不好。所以目前更加常用的方式是z-buffer算法,类似颜色缓冲区缓冲颜色,z-buffer中存储的是当前的深度信息,对于每个像素存储一个深度值,这样,我们屏幕上显示的每个像素点都会进行深

    阅读全文...

  • 【Unity Shaders】Mobile Shader Adjustment—…

    Posted by : 袁艳平 on 2017年9月19日

    之前学习的各种Shader时,我们从没有考虑在所有平台下的可用性。Unity是一个强大的跨平台游戏引擎,但这也决定了在编写代码时我们需要考虑更多的平台因素。对于Shader而言,如果没有进行相应的优化,很有可能无法运行在移动平台等对性能限制较高的平台上。我们需要理解一些关键的因素来优化我们的Shader,以提高游戏性能而又能尽可能保持取得同样的视觉效果。 尤其是如果你的目标平台包括Android系统,那么就一定要小心中国各种山寨机的大浪一下把你拍在沙滩上的

    阅读全文...

  • 1
  • 2(current)