unity

Unity3D 加载二进制数据

最后都变了- 提交于 2020-03-16 08:59:07
【Unity加载二进制数据】   The first step is to save your binary data file with the ".bytes" extension. Unity will treat this file as a TextAsset. As a TextAsset the file can be included when you build your AssetBundle. Once you have downloaded the AssetBundle in your application and loaded the TextAsset object, you can use the .bytes property of the TextAsset to retrieve your binary data. Ref: http://www.unitymanual.com/thread-2037-1-1.html 来源: https://www.cnblogs.com/open-coder/p/12501734.html

关于ADB 执行报错问题-db server version (31) doesn't match this client (40); killing...

穿精又带淫゛_ 提交于 2020-03-16 06:09:29
D:\ADB>adb devices List of devices attached adb server version (31) doesn't match this client (40); killing... could not read ok from ADB Server * failed to start daemon error: cannot connect to daemon 百度了下,是360手机助手占用了端口。 右键360手机助手->>>隐藏悬浮窗。 再次执行adb devices,果然好了。 ---------------------------------------------------------------- 这个占用同时还引起了unity的报错: 当我打开unity的build settings,切换到android平台,控制台开始不断的刷异常报错:大意是说ADB SERVER XXX,请确认你的SDK是否安装正确。 昨天还用的好好的,突然就报这个,我的SDK也没动过啊。 如上操作关闭360手机助手后,一切都好了。 PS再吐槽下,开着360运行UNITY项目常常会崩掉,开腾讯管家也会。 来源: https://www.cnblogs.com/timeObjserver/p/10939925.html

3D unity  模拟日、地、月系统

半城伤御伤魂 提交于 2020-03-15 01:51:05
3D unity 日、地、月系统 1、打开unity,创建一个新的项目。 2、创建三个shpere,可分别命名为son、earth、moon来区分,设置相对比例的大小和距离。 3、素材 到网上找太阳、地球、月球的贴图以及宇宙天空盒素材,并拖入(或导入)到 project的Assets, 把贴图拖到相应的球体上,创建material,在shader里选择天空盒 (Skybox/6Sided),分别选择相对应的天空盒贴图。 4、脚本 在Aseets内右键create一个C#Script, 注意按C#命名规则命名 ,打开这个脚本, 写入相应公转自转代码。步骤如下: C#命名规则 Pascal 规则(帕斯卡命名) 每个单词开头的字母大写(如 TestCounter). Camel 规则(大驼峰和小驼峰命名) 除了第一个单词外的其他单词的开头字母大写. 如. testCounter. Upper 规则 仅用于一两个字符长的常量的缩写命名,超过三个字符长度应该应用Pascal规则. 太阳自转: 源代码: public class zizhuan : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () {

Unity经典游戏教程之:冒险岛

爱⌒轻易说出口 提交于 2020-03-14 04:20:54
版权声明: 本文原创发布于博客园"优梦创客"的博客空间(网址: http://www.cnblogs.com/raymondking123/ )以及微信公众号"优梦创客"(微信号:unitymaker) 您可以自由转载,但必须加入完整的版权声明! 游戏简介 是一款动作冒险类游戏,由HUDSON公司发售,是一款2D横向卷轴游戏。游戏的主人公是当时游戏少年们所称赞的高桥名人与冒险岛中的名人很像。 场景搭建 1.将3张背景连接 前景层 1.将玩家,障碍,怪物,道具与胜利点放置在背景上 2.设置他们的Sorting Layer为ForeGround 3.按照他们的先后设置他们的Order in Layer 的大小 摄像机位置的限制 1.在玩家子节点下建立一个新的坐标点用来控制偏移量 ··· public Transform player, boundLeft, boundRight;//创建公有的坐标点 Vector3 pos; void Start () { pos = transform.position - player.position; } void Update () { Vector3 camPos = transform.position;//新建一个摄像机坐标点 camPos.x =player.position.x+ pos.x; if(camPos.x>

Esfog_UnityShader教程_前言

[亡魂溺海] 提交于 2020-03-12 03:25:39
   很多人在学习Unity的时候对Shader都是一知半解,作为刚入职半年的新人接触Shader的时间也并不长,正因为是新人才能体会到学习Shader时候所遇到的困难和迷茫,无奈于资料不好找,网上难得的几篇教程讲的又不够完善或者太浅太短,所以我一直以来就想写一系列UnityShader的学习教程,现在终于快过年公司放假了, 抽空准备开始着手写这个系列的教程了,在Unity这个圈子里我还是一只很菜很菜的菜鸟,感谢这半年来一路上帮助过我的人,书,以及在网上无私奉献宝贵知识的前辈们,仅以此系列向他们致敬.   这个系列的教程会不定期的更新,由于笔者工作繁忙,有时可能会一段时间不更新,还望各位谅解,本人才疏学浅,可能在大神们面前班门弄斧了,写这系列教程一来是想帮助那些准备接触Shader却不知如何入门的同学们分享自己的经验,二来是借由自己写教程来锻炼自己写技术文章的文笔和巩固自己学习的知识,查缺补漏,只有你能把你学到的知识透彻的讲给别人听的时候,你才完全掌握了它.由于我接触Unity时间并不长,接触Shader时间更短,难免会有所纰漏和错误,还望各位看官不吝赐教,批评指正. 前言    前言部分主要是讲述一下个人对学习UnityShader的一些建议,以及描述一下图形渲染的大概模型和UnityShader的工作方式.   首先要说明一点

Unity3D开发之unity和js通信交互

廉价感情. 提交于 2020-03-11 02:30:54
自己虽然最开始弄的就是webgl但是一直比ios和安卓记录的都要晚,因为一直没想到,所以这里结合某个博客加上自己的经历记录一下 一.老版方法 unity发布webplayer平台后会输出html和unity3d文件。我们的程序主要被打包在unity3d文件里,而html则是网页的界面显示。 1.Unity发送消息给JS unity想要和js交互,提供了一个函数:Application**.ExternalCall()**;此函数仅限于webplayer平台下。我们编辑发布的html文件,在里面加入我们的js脚本如下: function GetID ( id ) { alert ( "传入id:" + id ) ; } 在unity里我们在start函数里调用 Application . ExternalCall ( "GetID" , "吴彦祖" ) ; 使用浏览器打开html文件,就会出现如下弹窗: 2.JS发送消息给unity 我们在刚才的js函数里添加一句代码: function GetID ( id ) { alert ( "传入id:" + id ) ; //发送消息给unity 第一个参数:挂在脚本的物体 第二个参数:unity被调用的函数 第三个参数:函数传入的参数 u . getUnity ( ) . SendMessage ( "Main Camera" ,

Unity中的协程 简单理解

无人久伴 提交于 2020-03-10 19:11:41
在Unity中有这样一个概念——协程 我理解的协程概念,就是一个方法,但是可以将这个方法的中间过程挂起,过一段时间或者一些操作后再继续这个方法。 通常,协程的结构就是这样的: IEnumerator Test() { /*内容 内容*/ yield return 0; } 开启协程 StartCoroutine(“协程方法名“); 关闭协程 StopCoroutine(“协程方法名“); 对于一些有参数的协程,也可以这样做: 开启协程 Coroutine c=StartCoroutine(“协程方法名“); 关闭协程 StopCoroutine(c); IEnumerator 是C#的一个迭代器,你可以把它当成 指向一个序列的某个节点的指针 ,它提供了两个重要的接口,分别是Current(返回当前指向的元素)和 MoveNext()(将指针向前移动一个单位,如果移动成功,则返回true) yield 就是这个协程方法里起到协程作用的重要关键字,就是它将这个方法挂起,后面跟不同的东西会有不同的含义,目前常见如下: yiled return 0: 0可以换成任意的int类型的值,都是当前暂停一帧,从下一帧开始执行 yield return new WaitForSeconds(sec): 即这个协程方法挂起等待sec秒的时间 yield return StartCoroutine

使用AdMob和Unity [Android]

陌路散爱 提交于 2020-03-09 17:33:19
这个页面将告诉您如何在与Google AdMob/ DFP和Unity Android应用程序集成Leadbolt广告。下载SDK和示例应用程序,确保你可以编译该示例应用程序,请参见测试广告。 注册一个Leadbolt发布者账户或登录到发布商 Unity v5 和 Unity v4.6.8 下载地址: https://github.com/ 添加您的应用程序 登 录到发布商,并从“应用程序”页面中选择“创建新的应用程序”按钮,填写您的应用程序的详细信息,包括名称和平台。一旦应用程序被添加,建议您通过单击发 布门户“直接交易”申请我们的高级交易。一经批准,在发布门户下你的应用程序“直接交易”部分可见,如果不可见请使用“添加”按钮。 复制你的集成的细节 你的集成的详细信息将显示在创建应用程序的最后一页上。当你整合Leadbolt SDK到你的应用程序,这些集成的详细信息是必要的。 设置 Google Admob 的/ DFP发布商 下面的初始步骤允许 你 在Google Admob/DFP门户添加 Leadbolt SDK 。 添加一个页内广告单元 登录到 Google Admob / DFP门户网站,访问或设置你的应用程序和一个页内广告单元添加到应用程序作为Leadbolt SDK广告。 添加Leadbolt广告网络 应用和广告单元设置完毕后,点击“编辑调解”。 点击“新广告网络

unity 读取webconfig文件的SQL配置信息

核能气质少年 提交于 2020-03-09 16:53:38
由于公司变动,以前都是有ini作为配置文件的,这次要改为web的config格式作为配置文件-->xxx.config格式 unity 版本位5.6f, 查询了很多的资料,大部分都要用 Unity.Configuration, 但是不知为啥我的unity无法支持其dll文件,因为.net格式太低,后来我更改了版本,换成了2018.3.5,他可以支持.net4x 后来才发现并没有啥用,而且由于配置只需要读取最为简单的 <add key="MySql" value=“ ”/>这其中一个值即可。 因此改为了寻常读取xml的方法。 web.config如下 <?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="MySql" value="……"/> <add key="OfflineMySql" value="……"/> </appSettings> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> </configuration> unity使用其自带的System.Xml.Linq的dll方法,代码如下 using System.Collections;

Unity Ftp、Http下载资源的简例

∥☆過路亽.° 提交于 2020-03-09 15:16:59
Http下载文件: using System; using System.ComponentModel; using System.Net; using UnityEngine; public class TestDownloadBehaviour_http : MonoBehaviour { public string RemoteFileURI; public string SaveFilePath; // Start is called before the first frame update void Start() { DownloadFile(); } // Update is called once per frame void DownloadFile() { using (WebClient wc = new WebClient()) { try { wc.Proxy = null; Uri address = new Uri(RemoteFileURI); //调用DownloadFile方法下载文件 // wc.DownloadFile(textBox1.Text.ToString(), textBox2.Text.ToString()); //调用DownloadFileAsync异步下载文件 wc.DownloadFileAsync(address,