
unity3d
文章平均质量分 56
setsuodu
大概吧
展开
-
Unity随机小技巧
Color Random.ColorHSV() 颜色随机Vector3 Random.insideUnitCircle 圈内位置随机Vector3 Random.insideUnitSphere 球体内位置随机public class CircleRd : MonoBehaviour{ [SerializeField] GameObject prefab; [Rang...原创 2020-04-03 22:35:20 · 1041 阅读 · 0 评论 -
UnityEditor面板中显示网页
写了了个Editor扩展插件,方便大家在Unity中访问我的博客,增加用户体验和沉浸感。public class WebViewEditorWindow : EditorWindow{ [MenuItem("博客/优快云")] static void Open() { string Url = "http://blog.youkuaiyun.com/mseol";...原创 2020-02-20 09:11:36 · 991 阅读 · 0 评论 -
AssetBundle资源加密
AssetBundle资源加密前言测试资源资源加密打包资源解析加载反编译资源普通资源加密资源前言AssetBundle中无论是美术素材,还是关键的热更代码,一旦被不法分子破解,都会给项目带来不可估计的损失。这里介绍一下AssetBundle加解密使用流程。测试资源手动设置打上标签资源加密打包加密脚本using System;using System.IO;using Syst...原创 2020-02-17 08:46:08 · 1678 阅读 · 0 评论 -
Unity相关IDE在Mac上的代码折叠
Preference/Text Editor/GeneralMonoDevelop (built-in)Visual Studio (Mac)原创 2018-05-04 10:21:10 · 348 阅读 · 0 评论 -
unity携带header发送POST请求
unity中的网络请求,最方便、常用的如下两种方法。分别实现GET/POST。实际设计项目时,基础的表单POST显得相对简陋,后端往往需要添加许多验证。本文就主要介绍这些情况下,携带header头发送Post请求的注意事项,案例中需要用到LitJson。WWW www = new WWW(url); //GETWWW www = new WWW(url, form); //POST ...原创 2017-01-06 15:45:16 · 27322 阅读 · 1 评论 -
让Unity3d 记住Keystore密码
正式版的android应用一般会进行应用签名。unity可以记住我们的keystore文件位置,但是每次启动时,密码会清空,即使每次输入123456也是十分费力的。我们知道unity中设置keystore是在BuildSetting -> PlayerSettings里面的,这样就可以找到相关API进行设置了。原创 2017-07-25 15:32:05 · 6139 阅读 · 3 评论 -
Unity使用Android系统剪贴板复制&粘贴
Unity3d开发的移动应用,默认只有在InputField输入文本时,可以调用系统剪贴板。如果有类似选中某个文本,复制其中内容的需求,就要使用原生插件来提供这个方法了。如:开发原生插件的流程应该已经有很多教程了,这个不再重复,直接贴Java代码。1. Java代码package com.company.product;import android.app.Fragment;...原创 2017-11-13 11:58:05 · 5540 阅读 · 7 评论 -
在AR中制作一个RPG风格指南针
个人觉得这个设计相比游戏更适合AR,因为它设计简洁,占用屏幕空间小(AR中满屏的UI体验很差)。在游戏中显然不如小地图直观,但现实中的用户对方向感则有更大的需求。一下子找不到更好的图了,反正玩游戏的同学应该都知道说的是什么(后面写作标尺)。通过一个实例开始制作,可以沿用上一篇文章设置好的AR场景进一步开发。原先的Canvas作为背景层渲染视频用,会被三维物体遮挡。所以需要在在Hierarchy原创 2017-12-21 15:02:58 · 1610 阅读 · 2 评论 -
在AR中制作一个重力感应标志
AR/VR的到来,让我们越来越离不开处理各种sensor数据的工作。尤其是来自手机IMU的数据,都可以使用API获取到。我们所要做的就是认识这些数据,正确的应用给物体。本文主要通过一个简单式例,介绍一下基于slam的ar应用中,常见的地面检测的标志物的制作。如图,该标志物辅助用户在现实中,指定创建三维物体的位置。1. Setup所有AR应用中,至少有两个摄像机,用来渲染原创 2017-12-21 12:25:34 · 1610 阅读 · 0 评论 -
Unity打包Xcode,自动配置
unity在2017版本,对xcode工程Team ID和plist基础配置已经做了原生集成,可以在PlayerSettings->OtherSettings中直接配置。Frameworks、三方库和资源的导入,还是可以在Editor中使用[PostProcessBuild]属性,进行自动化管理。 这里主要解释下TeamID的配置,因为不管使用哪种方法,还是有许多人反应无法成功地自动配...原创 2018-05-05 09:45:05 · 2378 阅读 · 1 评论 -
unity3d使用Coroutines传递返回值(.NET 3.5)
一些必须通过异步处理,又需要赋值的情况下,可以用使用action委托来操作。一个简单的例子: public Texture2D texture2D; void Start() { StartCoroutine(LoadBundleTexAsync(value => texture2D = value, root, filename)); ...原创 2018-05-15 10:26:14 · 1035 阅读 · 0 评论 -
unity多场景加载与GameObject实例管理
使用LoadSceneMode.Additive,可以同时加载多个场景。但是并不是所有可以见元素都是可以直接调用的。如图,加载了scene02,激活后显示为粗体。 一些常用对象的说明:Directional Light 不对另一个场景中的物体有作用,需要在独立的场景中单独创建。EventSystem 只需要在一个场景中存在。Camera 可以看见另一个场景的物体。GameOb...原创 2018-07-16 10:21:53 · 14375 阅读 · 2 评论 -
unity协程,频繁调用时,只执行最后一次
设计了一个延迟机制的扩展,用于让一个延迟执行的动作,在一定时间内只执行最后一次。知识点简单介绍一下,协程的停止方法 StopCoroutine。对于一个普通的协程// 定义IEnumerator AABB() { while(true) { // do sth. yield return null; }}// 调用StartCo...原创 2018-07-28 20:28:31 · 7138 阅读 · 1 评论 -
在Unity顶部显示手机状态栏(iOS/Android)
iOS设置plist,Status bar initially hidden = NO即可。Android创建一个空的activity,让unityPlayer依附于它。在unity中通过 Screen.fullScreen 控制untiy画面是否全屏显示。1.在unity场景中创建一个脚本,设置关闭全屏。void Start() { Screen.fullScreen...原创 2018-08-12 09:51:38 · 6953 阅读 · 3 评论 -
使用 ScriptableObject 作配置文件
ScriptableObject脚本化对象在unity项目中可以作为配置文件,也可以用来做存储,和xml等类似。因为是官方提供的数据类型,可视化编辑方面也十分优秀,使用频率还是非常高的。下面通过一个“多国语言配置”的例子,详细了解一下ScriptableObject。效果如图。Localization.cspublic class Localization : ScriptableObj...原创 2018-10-03 10:33:02 · 1730 阅读 · 0 评论 -
打字机插件 Typeface Animator
Typeface Animator 是一个简单强大,又易用的uGUI打字机效果插件。你只需要添加该组件到Text对象上,设置一些参数。它能够通过曲线,控制Text的位置、旋转、缩放、透明度、颜色,并且能获取动画开始、完成时的回调。参数说明所有设置均在 Inspector 中列出,重点提下以下几个参数。Progress 范围[0-1]。相当于一个播放进度条,并且可以在编辑模式下拖动预览效...原创 2018-10-04 12:03:30 · 1134 阅读 · 0 评论 -
通过脚本添加视口
通过反射获取Unity程序集,编写Editor视窗。没有太多实际意义的小练习,扩展一下可以做成一个方便的编辑器配置工具。using System;using System.Reflection;using UnityEditor;public class Viewport : Editor{ [MenuItem("Assets/Add New Viewprot")] ...原创 2018-10-04 13:21:06 · 390 阅读 · 1 评论 -
Unity2018 Packages + npm 自定义包管理大揭秘!
简介Unity2018新增的功能 “包管理器”,相信很多文章都已经转载介绍过了。但是怎么看,里面就是一堆原本在AssetStore里的官方工具包。难道官方为了照顾中国开发者的网络,特地做个简化的AssetStore面板吗?仔细调研了一番,发现这其实是一个“巨大巨大超级超级给力的更新”。众所周知,用 node、python 等进行开发,就免不了 brew, npm, pip 一下。这些语言崛起的非...原创 2018-10-04 20:52:12 · 7662 阅读 · 8 评论 -
Unity事件系统实现uGUI Button长按
还在用Update计时器实现各种流程控制和状态判断吗?今次介绍一下使用UnityEvents实现uGUI的长按状态检测。效果案例是我们常见的微信长按弹出菜单。使用事件,首先需要添加引用。using UnityEngine;using UnityEngine.Events;using UnityEngine.EventSystems;在继承后面添加接口,用来获取UI状态。pu原创 2017-07-10 09:09:38 · 5348 阅读 · 6 评论 -
使用uGUI制作Android Material Button风格按钮特效
偶然看到一篇关于Android原生开发按钮特效的文章,发现这种效果在日常使用的许多app中普遍存在,于是思考了下在Unity3d uGUI下如何重现。http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1130/2084.html效果目标:1. While keep press the button, the原创 2017-08-10 10:11:42 · 1484 阅读 · 0 评论 -
UGUI Text组件上动态显示Emoji
本文是对Github上关于Unity使用Emoji的说明和完善。https://github.com/mcraiha/Unity-UI-emoji原创 2017-06-27 12:44:28 · 5523 阅读 · 5 评论 -
轻松反编译C#的DLL
dotPeek原创 2017-01-12 20:43:46 · 24884 阅读 · 0 评论 -
UnityEditor扩展 - Vuforia license like文本输入框
接下来会用一系列实例文章,逐个功能讲解,希望能分享UnityEditor的奥义。原创 2017-01-06 17:27:06 · 1258 阅读 · 0 评论 -
Unity封装C#成dll文件
当一个项目开发完,可以把一些提供数据类型、算法或Editor的类封装成dll,简化结构,还有减小包体积的神奇功效呢。因为相关文章已经很多了,这里简略带过,主要提一下项目中的注意点。例子是github上一个神经网络的demo,这个文件夹内的脚本提供算法,不直接挂在场景里使用,所以把他们封装掉。新建一个VisualStudio工程,Class Library(类库),.Net Fr原创 2017-01-05 15:40:27 · 1414 阅读 · 0 评论 -
Unity安卓移动设备显示Debug.Log信息
Unity5还没有在引擎中显示真机 Debug.Log() 的功能,这里分享一个小方法。首先在Unity中新建一个场景,挂上一条Debug信息。"Build And Run"到安卓真机。using UnityEngine;public class DDMS : MonoBehaviour{ void Start () { Debug.Log("Hel...原创 2017-01-04 10:53:54 · 12185 阅读 · 0 评论 -
Unity常用数据结构Queue(队列)
今天搜索处理陀螺仪抖动问题方法时,看见有人使用Queue,顺便研究了一下。//用平均值的方法平滑陀螺仪曲线,实现思想简单描述如下Queue averageList;averageList.Enqueue (Input.gyro.attitude);if (averageList.Count > 240)averageList.Dequeue ();foreach (Quaternio原创 2016-11-24 22:27:58 · 17979 阅读 · 0 评论 -
UnityEditor扩展 - 编辑器中的内置属性Attribute
UnityEditor扩展 - 编辑器中的内置属性Attribute原创 2017-01-12 11:05:55 · 4344 阅读 · 4 评论 -
Unity在Editor模式下查看Shader动态效果
当我们写了一个动态的shader效果,在编辑器模式下查看它的效果,需要激活工具条上的Effect按钮。原创 2017-02-13 15:50:17 · 2603 阅读 · 1 评论 -
移除Unity启动界面的项目历史
Unity使用过程中的一些软件配置都被记录在注册表中,如调整了一个窗口的大小,连接了一个设备,开启了一个项目。在windows平台上都可以在注册表里进行清理,使Unity的设置真正回到第一次安装时的状态。HKEY_CURRENT_USER\Software\Unity Technologies\Unity Editor 5.x在Mac平台上的位置则是/Users//Library/Pr原创 2017-06-14 09:45:39 · 3259 阅读 · 1 评论 -
Unity网络状态检查API
下载资源或使用其他强制联网的接口,需要先检查网络状态,UnityAPi提供了3种联网状态。//检查上网用的是wifi还是4G,还是没网public void CheckNetwork(){ switch (Application.internetReachability) { case NetworkReachability.NotReachable原创 2017-06-01 11:22:23 · 2394 阅读 · 0 评论 -
Unity一步解决uGUI穿透问题
Unity中当使用了UnityEngine.Ray或Input.Touch,会遇到UI层和3D物体层重叠的问题。通过UnityEngine.EventSystems,可以检测UI点击,屏蔽3D Collider的干扰。基础方法 using UnityEngine;using System.Collections;using UnityEngine.EventSystems;p...原创 2016-11-25 16:00:54 · 3079 阅读 · 0 评论 -
Unity3D通过PHP输出的JSON格式API
简介继续深入一下昨天写的《Unity3D通过PHP对MySQL执行增、删、改、查》。项目中通常是由后端提供API供前端使用,本文主要介绍后端通过查询MySQL到输出JSON格式API的过程。开始MySQL部分。依旧维持上节的配置。PHP部分。上节代码基础上,扩展一个action "show_json"。//查,并输出JSON if($_REQUE原创 2017-04-05 14:40:36 · 1141 阅读 · 1 评论 -
Unity3D通过PHP对MySQL执行增、删、改、查
我们使用Unity3D做数据库相关操作,通常最简便的是使用php做连接。所幸php和MySQL都不是这么难掌握,所以我们的前端应该尽可能了解这方面的知识。本文使用一个游戏分数提交的案例,介绍通过php对MySQL执行增、删、改、查分数的方法。在php脚本中会使用SQL语句,需要有一定掌握。原创 2017-04-04 15:18:55 · 3798 阅读 · 2 评论 -
让我们克隆PokémonGO一样的游戏 - 2、利用uGUI图形接口,泛型状态控制
制作效果示例:如图登陆画面中,有Text、Image、Button等不同类型的UI。如果仅以达成效果为目的,有许多种做法,比如动画K帧,或者写多个方法分别去控制不同组件。那在项目中,如何高效、统一地管理它们呢? 我们以图中fade效果为例。using UnityEngine;using UnityEngine.UI;public class UIFade : MonoBehavi原创 2017-02-28 14:01:04 · 335 阅读 · 0 评论 -
让我们克隆PokémonGO一样的游戏 - 1、AR模式
PokémonGO中的AR效果相对简单,用一个章节简单介绍。当然也可以用第三方SDK实现AR效果,如kudan、wikitude等都是自带SLAM功能的。LZ的实际项目稍微复杂,用了真实的经纬度信息,在后台可以管理每个小精灵的刷新信息。相关内容还没有写到,暂时不作介绍。资源来自于PokemonGO.apk,提取完发现没有Assets里没有一只小精灵,恐怕是做了AB,于是去国外网站找了一只没原创 2016-12-05 16:59:58 · 699 阅读 · 0 评论 -
让我们克隆PokémonGO一样的游戏 - 0、大纲
自Pokémon go发布起,不仅玩家、媒体对其关注度高,许多开发者也对其中的技术非常感兴趣。LZ自2014年起关注到Niantic的ingress,并了解到这个工作室的new project。通过看宣传片,做过克隆的尝试,被误导走了弯路(下载静态地图,缓存、更新,如图LP手机上的界面)。。。Pokémon go虽然一直在以AR的概念被媒体宣传,但通过试玩发现里面的AR即没有特殊的算法原创 2016-12-05 12:02:01 · 689 阅读 · 0 评论 -
谈谈AssetStore及其脱离Unity下载方法
AssetStore一直是Unity开发者又爱又恨的东西。首先这个生态绝对是一个先进的,并且越来越能够吸引高质量的开发者开发或开源他们的插件。它的缺点可能是大陆开发者尤为头疼的。1、付费,客观的看99%的资源价格都在100刀以内,先不论个人开发者能否完成同样功能的开发,即使可以,也绝对值回工时费了。2、网络,没有验证过在国外是否都能流畅下载,至少使用电信、网通的“局域网”都十分痛苦。3原创 2016-11-15 22:12:33 · 14856 阅读 · 8 评论