首页 文章 精选 留言 我的

精选列表

搜索[unity3d],共120篇文章
优秀的个人博客,低调大师

[Unity3D]自制UnityForAndroid二维码扫描插件

一周左右终于将二维码生成和扫描功能给实现了,终于能舒缓一口气了,从一开始的疑惑为啥不同的扫码客户端为啥扫出来的效果不同?通用的扫描器扫出来就是一个下载APK,自制的扫描器扫出来是想要的有效信息,然后分析出来其实二维码无非就是记录了一个简单的信息,一般是URL,然后自己在URL上面做文章!得知了需求之后然后开始着手做二维码的生成,用了开源框架QRCode,然后解析ZXing,都是站在前人的肩膀上继续做下去,我就没有深入研究二维码的深层次方面的东西,大概只知道生成是根据一个二维Bool数组然后绘制像素点形参一个方形的图片,其中三个角跟中间一块是不包含信息的三个角是三个小矩形,是为了定位位置,正中间有一个方形区域没有信息是为了放置Logo用的,相比大家也比较清楚,都见过,现在餐厅,地铁上基本都有扫一扫的标志,呵呵,二维码已经成为一个通用的宣传手段!然后我接到这个任务之后就要一步一步的分析问题到解决问题,从生成一张二维码图片开始,到批量生成再到批量生成页面,并且每个页面中要嵌套与之对应的二维码,然后再到学习Android,因为之前没怎么接触过Java方向的东西,然后简单的看了两天Android,对Android开发有了一个大体的认识和了解,然后再到学习Android和Unity的交互,再到做出Android插件等过程,截止今晚终于将功能实现,没有什么解决不了的问题,只要动手,动脑,一切都OK! 接下来我就分享一下制作过程,关于生成二维码的我当时写了一个教程,结果还被抨击了,说.net程序员就你这水平...对于这个网友,我的确很惭愧,我的水平有限,写的内容的确比较浅显,无法满足你求高深技术的法眼,但我写出来是为了更过广大初学者,希望能给他们一点入门的帮助!我想说的人外有人,不要觉得自己厉害就看不起新手或者没你水平高的人,说不定将来他就有可能技术比你厉害!总而言之,或许对大牛而言,这个二维码的生成和解析很简单,但我还是坚持下下来,一来也是对自己这一周多时间的一个小结,二来还是前面那句话,希望和广大初学者一起学习和进步,一起交流! 二维码生成和交互可以看我之前写的文章:二维码生成 http://blog.csdn.net/dingxiaowei2013/article/details/22925709,Unity和Android交互http://blog.csdn.net/dingxiaowei2013/article/details/24485937。在这基础之上,然后接着实现功能! 更多精彩内容请关注我的微博 @丁小未 转载请注明出处:http://blog.csdn.net/dingxiaowei2013/article/details/24677795 效果图: 手机扫描后的效果: 说明:这里是Unity界面调用Android的Java方法跳转Android开发的Activity视图,然后在Android中Java方法调用Unity再回到Unity界面。 源码 Unity: [csharp] view plain copy print ? usingUnityEngine; usingSystem.Collections; publicclassNewBehaviourScript : MonoBehaviour { privateAndroidJavaObject activity; privatestringresult="http://blog.csdn.net/dingxiaowei2013"; //result用于接收二维码的返回值 voidStart() { AndroidJavaClass jc =newAndroidJavaClass("com.unity3d.player.UnityPlayer"); activity = jc.GetStatic<AndroidJavaObject>("currentActivity"); } voidOnGUI() { //点击扫码调用Android方法 if(GUI.Button(newRect(Screen.width / 2 - 50, 20, 100, 50),"点击扫码")) { activity.Call("Show"); } GUI.Label(newRect(Screen.width / 2 - 100, 120, 300, 20), result); } //这个是Android调用的方法 voidGetString(stringstr) { result = str; } } Android: [java] view plain copy print ? packagecom.example.qr_codescan; importandroid.content.Intent; importandroid.os.Bundle; importandroid.widget.ImageView; importandroid.widget.TextView; importcom.unity3d.player.UnityPlayer; importcom.unity3d.player.UnityPlayerActivity; publicclassMainActivityextendsUnityPlayerActivity { privatefinalstaticintSCANNIN_GREQUEST_CODE =1; /** * 显示扫描结果 */ privateTextView mTextView ; /** * 显示扫描拍的图片 */ privateImageView mImageView; @Override protectedvoidonCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.activity_main); // mTextView = (TextView) findViewById(R.id.result); // mImageView = (ImageView) findViewById(R.id.qrcode_bitmap); // // //点击按钮跳转到二维码扫描界面,这里用的是startActivityForResult跳转 // //扫描完了之后调到该界面 // Button mButton = (Button) findViewById(R.id.button1); // mButton.setOnClickListener(new OnClickListener() { // // @Override // public void onClick(View v) { // Intent intent = new Intent(); // intent.setClass(MainActivity.this, MipcaActivityCapture.class); // intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); // startActivityForResult(intent, SCANNIN_GREQUEST_CODE); // } // }); } publicvoidShow() { Intent intent =newIntent(); intent.setClass(MainActivity.this, MipcaActivityCapture.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivityForResult(intent, SCANNIN_GREQUEST_CODE); } @Override protectedvoidonActivityResult(intrequestCode,intresultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); switch(requestCode) { caseSCANNIN_GREQUEST_CODE: if(resultCode == RESULT_OK){ Bundle bundle = data.getExtras(); //显示扫描到的内容 //mTextView.setText(bundle.getString("result")); //显示 //mImageView.setImageBitmap((Bitmap) data.getParcelableExtra("bitmap")); UnityPlayer.UnitySendMessage("Cube","GetString",bundle.getString("result")); } break; } } } 导出插件: 然后我导出成插件,之前一个扫码插件是EasyCodeScanner,然后我今后的网名叫Aladdin,我也命名一个扫码的Android插件,为AladdinCodeScanner,日后可能继续完成添加上IOS的扫码功能,完善这一插件,我这也是深受EasyCodeScanner的折磨才决定自食其力!之前好不容易找到一个扫码的插件EasyCodeScanner,结果发现会出错还有关键的是没有实现Android的扫码功能,Android部分的方法没实现,所以也促成了我自己写插件的念头,今天如愿以偿,一身轻松!时间不早,感觉熬夜身体有点吃不消了,身体是本钱,明儿继续将工程补上!晚安! 工程源码:http://down.51cto.com/data/1156726 本文转蓬莱仙羽 51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1404352,如需转载请自行联系原作者

优秀的个人博客,低调大师

怎么规划一个零基础学习Unity3D的“方法”或者“流程”?

学习分为4个阶段 一、朦胧期这个阶段你主要是在朦胧中度过,通常脑子里想的就是,卧槽,这特么是啥?卧槽,这特么又是啥?你看着命令行里面的HelloWorld静静的发呆,第一次能完全打出来的时候脸上会露出 “四国以 ”的表情。这个阶段你需要做的就是和命令行和编译死磕,不断的做练习,将你在视频上看到的那些小例子统统用代码实现 二、学步期有了C#的基础能在后面的引擎学习中有什么用处呢?答:用处不大。那为什么还要那么注重C#基础语言呢,因为语言是贯穿整个引擎一生的必要之物,但是在引擎学习中,主要学习的是引擎中组件和相关功能的用法,和处理问题的思维。比如说,更改一张Image的Color,你要做的首先是要获取到Image,然后通过更改其color属性为自己想要的颜色。说起来很简单但是刚开始进行操作的时候,连怎么获取都是通过在Inspector面板里直接拖取进行获得,此时多学习一些相关的API就完全有必要了。另外,通过几个简单的Demo也能够让自己对这个引擎的运作更感兴趣(或者摧毁掉这份兴趣),建立起后面的学习信心。 三、开化期经过简单的几个小Demo,你已经能够正常的GetComponent或者调用一些简单的API 了。但是你的手段仍然略显稚嫩,而这个阶段所需要的就是对更多的组件进行认识,同事编写一些难度高一些的逻辑问题,在潜行里面,有一段关于机器人AI算法的部分,当时在写这里的时候,异常的痛苦,并且在写完之后迅速的就忘了视频上所讲的一些细节。怎么办??重新写,当时我的做法是把脚本删掉,按照笔记上整理的思路,重新把脚本写出来。虽然可能对当时的我来说有些困难。但是坚持下来发现,效果很好,最起码相关的组件和思路能够记得牢固。我甚至现在还能记得当时相关计算部分的细节。另外,在这个阶段,你能更多的接触到关于Bug的类型。空指针、索引越界等等等等。处理bug的经验才是程序员最宝贵的财富(大雾)。而之前所说过关于思路的整理,对于项目的帮助也是非常重要的一部分,记得在潜行里有一个关于呼吸灯(红灯闪烁)的效果,那是第一次接触到Lerp,后面只要是遇到关于逐渐、跟随等字眼,第一个想到的自然就是Lerp 四、入门期这个阶段你已经有了一定的积累,学会了不少的API,也不是原来的小白了,现在你要做什么呢?现在要做的就是做一个更大的项目来充实自己,不断的强化,多方面,无死角的折磨自己,让更多的bug对自己进行轰炸,让自己的精神受到折磨,因为自己很小的疏忽导致整个项目崩溃,从而再来一遍。如果说bug没有折磨疯你,大量的UI没有把你的眼睛弄花,对狗屁算法能够无所畏惧,大量的组件功能也没有把你击垮,那么恭喜你,终于迈出了最后一个阶段,你,终于入门了,欢迎来到Unity的世界,我的朋友。 总结:从零开始学习Unity本来就是一件非常艰苦的事情,大致归结下来的流程就是1.C#基础,小的练习和训练。2.Unity基础,包括引擎知识和组件运用3.Unity提升,基础的算法和大量API,以及Bug修正4.Unity入门,积累,积累,积累。Bug,Bug,Bug。更多unity2018的功能介绍请到paws3d学习中心查找。

优秀的个人博客,低调大师

VS2017做为Unity3D的脚本编辑器需要的最精简组件

文章目录[点击展开](?)[+] 前言 使用VS2017做为Unity的脚本编辑器,需要的最精简组件。 我的测试环境 windows 10 x64 windows 7 x64 sp1 时间:2017-4-22 最精简的组件 只需要三个必需组件,这些组件都是可选安装位置 C#和Visual Basic Roslyn编译器 静态分析工具 Visual Studio Tools For Unity(建议安装此项) 在线安装 1、从官网下载对应的版本,文件格式如下:vs_enterprise__2144843982.1466598399.exe 2、双击下载文件,接受协议,选择需要的组件,进行安装 离线安装 官方文档: 创建 Visual Studio 2017 的脱机安装程序 Visual Studio Enterprise 2017 组件目录 示例脚本: 以下脚本,离线下载Roslyn编译器,Nuget,UnityVS,静态分析工具到d:\vs2017offline vs_enterprise.exe --layout D:\vs2017offline --add Microsoft.VisualStudio.Component.NuGet Microsoft.VisualStudio.Component.Roslyn.Compiler Microsoft.VisualStudio.Component.Roslyn.LanguageServices Microsoft.VisualStudio.Component.Static.Analysis.Tools Microsoft.VisualStudio.Component.Unity --lang zh-CN 我在windows7上,并未安装成功,所以不多评论,可能是由于我刚修复完VS2015 电脑未重启。 安装后占磁盘大小 在windows10中,我安装Unity必需的几个组件+几个常用小组件,大约占用磁盘1.4G 在windows7中,我是同时安装了Unity必须的2个组件+.NET桌面开发组件(WPF,WinForm,控制台),大约占用磁盘3.7G VS2017预览 更改功能 如果打开项目所需要的组件,当前VS并没有安装,VS会自动弹出让你安装的界面,如下所示: 如果你希望自己手动添加新的功能,并找不到visual studio installer,那么可打开下载的vs安装器进行更改,如我的:vs_enterprise__2144843982.1466598399.exe,运行选择更改,添加你需要的组件。 官方文档:https://docs.microsoft.com/zh-cn/visualstudio/install/modify-visual-studio 使用感受 对比起VS的其它版本,谈谈我个人的使用感受 安装速度确实更快,只不过离线版镜像文件在官网目前并未提供。 内存占用更少,从任务管理器中可以看出 本文出自赵青青,原文链接:http://www.cnblogs.com/zhaoqingqing/p/6747329.html,如需转载请自行联系原作者

资源下载

更多资源
Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册