![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unity
文章平均质量分 69
魔小明
这个作者很懒,什么都没留下…
展开
-
UGUI将图片设置成灰态
本文实现了在UGUI下将彩色图片设置成灰色的功能。实现的方法是修改对应Shader,重点是灰度公式:Gray = R*0.299 + G*0.587 + B*0.114 下面我们来看看是如何实现的。原创 2017-03-27 20:55:47 · 4161 阅读 · 0 评论 -
行为树 和 Behavior Designer
对于游戏AI,行为树是个简单可扩展的解决方案。本文简单介绍 行为树 以及 Unity 的 Behavior Designer 插件。行为树行为树(Behavior Tree,简称 BT),是由行为节点组成的树状结构。行为树中的节点,会在某一帧中被调用,然后立即且必须得到以下之一的结果:成功 Success、失败 Failure、运行中 Running。然后根据返回值进行下一步操作。...原创 2018-05-29 21:57:26 · 4036 阅读 · 1 评论 -
Unity脚本打包和Jenkins打包
首先我们假设所有的环境和参数都配置好了。常规打包: 打开Unity -> File -> Building Setting -> 点击 Build 按钮。脚本打包:不需要打开Unity,通过脚本完成手动点击 Build 按钮的操作。Jenkins 打包:不需要在部署了工程的电脑上操作, 通过访问 Web 或者 设置自动打包命令来执行打包脚本。脚本打包 apkU...原创 2018-04-24 20:02:28 · 2534 阅读 · 0 评论 -
Unity 3d打包iOS(x code 免证书)
打包步骤前置条件 iOS 打包只能在 Mac 上进行, 也就是说要安装 Mac 版 UnityMac 机器上必需装 XCode打开 Unity 工程, 打开一个 Scene, 单击【File】-> 单击【BuildSetting】-> 单击【Add Current】, 单击【iOS】-> 单击【Switch PlatForm】, 单击【Player settings】, 单击【iPh原创 2018-01-27 23:42:44 · 7565 阅读 · 1 评论 -
Unity CacheServer 配置及使用
Unity CacheServer 是 Unity官方提供的工具。Unity CacheServer 的用处:当 Unity 中的资源发生变动,Unity 就会重新导入资源。 CacheServer 可以将资源导入生成的文件缓存起来,这样同团队成员就可以直接下载。同时切换平台时也不需要再导一遍。此处使用的Unity版本是5.6pro, 操作系统为 mac OS 10.13.2。配置步骤原创 2018-01-27 21:12:28 · 7870 阅读 · 0 评论 -
在Unity中调试Lua:IntelliJ IDEA + EmmyLua
本文介绍了如何在Unity中调试Lua, 具体方案是使用IntelliJ IDEA + EmmyLua。步骤下载并安装IntelliJ IDEA https://www.jetbrains.com/idea/下载EmmyLua, https://plugins.jetbrains.com/plugin/9768-emmylua IDEA中打开plugins 设置界面(或者从菜单进入File -原创 2017-07-04 00:23:02 · 24612 阅读 · 2 评论 -
unity中c#与java相互调用
前言在unity中接入sdk或者定制一些功能时,需要调用系统接口。安卓手机实际操作中,也就是Unity与android相互调用。我们在Unity中使用c#,android中使用java。 下面介绍他们如何相互调用。原创 2017-11-19 23:57:14 · 3052 阅读 · 0 评论 -
unity中c#与Objective-C相互调用
前言在unity中接入sdk或者定制一些功能时,需要调用系统接口。iphone手机实际操作中,也就是Unity与iOS相互调用。我们在Unity中使用c#,iOS中使用Objective-C(以下称为oc)。 下面介绍他们如何相互调用。原创 2017-11-08 23:05:36 · 5094 阅读 · 1 评论 -
Unity内实现倒计时组件
前言倒计时功能在游戏中一直很重要, 不管是活动开放时间,还是技能冷却。 本文实现了一个通用倒计时组件,实现了倒计时的基本功能,支持倒计时结束后的回调。设计思路倒计时的实现是通过协程,WaitForSeconds(delay)可以很好的每隔一个delay执行一次方法,如果需要很精细的时间, 可以将delay设置成0.1等小于1的值。回调是在倒计时为0时,执行一个Action类型的方法。我的这个原创 2017-09-16 14:59:28 · 2121 阅读 · 0 评论 -
Unity内截屏实现
Unity内一般有三种截屏的方法:Application.CaptureScreenshotTexture2D.ReadPixelsRenderTextures图片保存地址一般设为: Application.persistentDataPath + “/screen1.png”参考persistentDataPath的文档说明:The value is a directory原创 2017-08-26 01:06:40 · 5386 阅读 · 0 评论 -
Unity显示时间、电量和网络
众所周知, 这些年随着发展,手机游戏的黏性越来越大,常驻游戏界面的时间也越来越长。我自己在游戏中也经常需要切到主页面去得到时间电量等信息。 本文主要实现了unity内显示时间,电量和网络等信息。原创 2017-08-20 13:40:13 · 3829 阅读 · 0 评论 -
Unity中实现一个状态机
维基百科:有限状态机(英语:finite-state machine,缩写:FSM)又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。本文参照quick-cocos中的StateMachine, 实现了Unity版本的有限状态机。实现思路:创建一个状态机对象public class StateMachine : MonoBehaviour {原创 2017-07-26 23:46:31 · 2139 阅读 · 0 评论 -
Unity中实现UI跟随
3D游戏中,有一种特殊的UI,那就是跟随游戏对象移动的UI(比如说名字,血条等)。本文主要实现了UI跟随。实现思路将游戏对象的世界坐标转化为屏幕坐标。将跟随UI坐标与游戏对象屏幕坐标同步(或者同步一个差值)。可以根据UI是否在屏幕上显示或关闭跟随的UI。在实际项目中,跟随UI除了位置, 可能还会涉及缩放,是否显示(草丛等)等一些自定义同步操作。血条跟随效果:代码实现:// 挂载在运动对象上原创 2017-06-25 00:33:02 · 6430 阅读 · 2 评论 -
Unity编辑器扩展
unity是一个强大的编辑器。 我们可以通过一些代码扩展它,达到提高工作效率的目的。在开始写代码之前, 我们需要先知道一些前置知识。命名空间。Unity的运行时和编辑器类分别存储在不同的Assemblies里:UnityEngine 和 UnityEditor。编写编辑器之前,需要 using UnityEditor。当想在编辑器中执行脚本时, 可以使用 attribute:[ExecuteIn原创 2017-05-30 13:20:41 · 1352 阅读 · 0 评论 -
Unity中的消息机制
在游戏开发中,我们经常需要传递消息。传递消息一般有三种方法: 1. 保存对象的引用。 2. Unity 提供的 Message机制。 3. C#中的委托和事件。保存对象的引用例如手榴弹爆炸的时候, 需要获取手榴弹, 地面, 附近物体等游戏元素的对象, 然后播放爆炸特效。 这种方法是简单粗暴, 但是当项目的规模变大时, 增删改查将会变的很麻烦。 其实这是一种耦合度较高的方案。Unity原创 2017-06-11 21:28:39 · 3783 阅读 · 1 评论 -
Unity 中的 Mesh 及绘制圆环
Mesh 又称网格组件, 是 Unity 中一个重要的概念。什么是 Mesh:简单的说,3D 模型上一个个的网格就是 Mesh 。3D 模型是由多边形拼接而成的, 而多边形是由多个三角形拼接而成。我们将构成这些三角行的点以及边的集合称为 Mesh 。原创 2017-05-09 22:36:10 · 4728 阅读 · 0 评论 -
Unity 3d打包安卓APK的步骤和问题
打包步骤前期准备下载 Java JDK 下载 Android SDK, 可以通过 Android Studio下载下载 Android NDK 安装 JDK (jdk-8u112-windows-x64.exe)配置 JDK 环境变量 右键【我的电脑】–单击【属性】–单击【高级】–单击【环境变量】 【用户变量】中依次新建或添加如下变量 变量 值 JAVA_HOME C:\P原创 2017-05-23 14:13:57 · 3119 阅读 · 0 评论 -
Mesh中 material 和 sharedMaterial 的区别及内部实现的推断
material 和 sharedMaterial 的区别创建一个Material, 颜色为红色, 创建两个Quad,挂上刚刚创建的材质。 效果如下图:将第一个Quad挂载如下脚本, 运行:render = GetComponent<Renderer>();render.material.color = Color.white;效果如下图:修改脚本内容如下, 运行:render = GetCom原创 2017-05-10 23:02:40 · 9622 阅读 · 1 评论 -
Unity AnimationClip 动态创建和修改AnimationEvent
AnimationClip 动态添加 AnimationEvent/* 添加事件 */private void AddEvent(){ var animClip = Resources.Load<AnimationClip>("Test.fbx"); if (animClip != null) { AnimationEvent evt...原创 2018-06-02 12:21:14 · 5943 阅读 · 1 评论