UNITY - 技术教程文章

Unity Spine Skeleton Animation 2D骨骼动画 For Game 介绍

欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌。 首先我们来看到底什么是骨骼动画:在早期的机器上,渲染本身已经占用了很多CPU资源,因此,对于渲染,往往采取的是一种空间换时间的策略,以避免在模型的渲染中继续加重CPU的负担。帧动画模型在这种条件下应运而生。比较著名的帧动画格式是Quake2所采用...

unity小工具 创建常用文件夹【代码】【图】

当我们新建一个unity工程时候,并不会赠送我们一整套的资源文件夹目录,需要我们自己去手动创建,十分麻烦还有可能写错.这里介绍一个小工具用来创建常用文件夹 在unity中创建一个脚本,直接上代码using UnityEngine; using System.IO;#if UNITY_EDITOR using UnityEditor; #endifpublicclass NewBehaviourScript : MonoBehaviour { #if UNITY_EDITOR[MenuItem("Tools/CreateFolder #&_b")]privatestaticvoid GenerateFolder(){string p...

Unity3D Shader图像扭曲过场效果【代码】【图】

把脚本挂在摄像机上using UnityEngine; using System.Collections;[RequireComponent(typeof(Camera))] public class PostEffectTwist : MonoBehaviour {public Material ma;void OnRenderImage(RenderTexture src, RenderTexture dest){Graphics.Blit (src, dest, ma);} } 创建一个材质,再创建一个ShaderShader "Hidden/NewImageEffectShader" {Properties{_MainTex ("Texture", 2D) = "white" {}_Angle ("Rotation", Float) = ...

Obj格式解析以及在Unity3D下导入测试【代码】【图】

目前基本实现了导入 四边面模型: 全三角面模型(测试单一材质,所以重新分了下UV): 这里介绍下obj格式:obj格式是waveFront推出的一种3D模型格式,可以存放静态模型以及一些诸如曲线的附加信息。其格式以文本形式存放,所以解析起来比较方便,它的大体格式如下:# WaveFront *.obj file (generated by CINEMA 4D)mtllib ./test.mtlv -100.00000000000000 -100.00000000000000 -100.00000000000000 v -100.00000000000000100.0000...

C#开发Unity游戏教程之使用脚本变量【图】

C#开发Unity游戏教程之使用脚本变量使用脚本变量本章前面说了那么多关于变量的知识,那么在脚本中要如何编写关于变量的代码,有规章可循吗?答案是有的。本节会依次讲解变量的声明、初始化、赋值和运算。 Unity脚本中声明变量要想在脚本中使用变量,就必须先声明(declare)。这就意味着,需要先告诉Unity,有这样一个变量存在,然后才可以在Unity中使用这个变量。那么,该如何将这个变量存在的事实告知Unity呢?答案就是声明。实际...

【Unity3D】使用MD5值,确保本地Sqlite数据库内容没有被篡改【代码】【图】

Sqlite的应用场景在判断是否使用存储格式为Sqlite模式的标准,我们的标准是内容只读。也就是说,除非发布者修改Sqlite内容,玩家只有读取的权限。换个角度说,Sqlite里面的数据都是游戏基础配置数据,比如游戏的关卡(不包括玩家取得的成就)、怪物的血量、装备的模板数据对于如何使用Sqlite,请参考我的另外一篇文章《Unity本地数据存储---Sqlite和JSON》问题重现OK,既然我们选择了Sqlite作为存储手段之一,那么我们也嘚重视起安...

unity,List元素第一个成员最好是string类型

例如List<CmyObj> m_list=new List<CmyObj>(); class CmyObj{  string m_name;  int m_value;}class CmyObj{  int m_value;   string m_name;} 以上两种CmyObj的定义方式导致m_list在inspector上显示效果不同。第一种显示效果列好。 原文:http://www.cnblogs.com/wantnon/p/5307814.html

【Unity笔记】UGUI物体的渲染顺序

①不同Camera的Depth。(大在前,小在后)②同Camera的SortingLayer。(下在前,上在后)③同SortingLayer下的Order in Layer。(大在前,小在后)④同Order in Layer下的Z轴。(小在前,大在后) 注意:如果是多个Canvas的渲染先后顺序 http://blog.csdn.net/huutu/article/details/43636241调Canvas下面有一个Sort Order值,默认为0,越大越在后面。创建任意UGUI元素时自动生成一个Canvas物体,Canvas下的所有物体从上往下渲染,...

Unity ML-agents 一、初次尝试【代码】【图】

前言曾在高二寒假的时候,跟表哥在外面玩,当时他问我有没有想过以后要做什么,我愣了一下,回答不上来。是的,从没想过以后要做什么,只是一直在完成学校、老师安排的任务,于是那之后半年,我一直在思考,大学要学什么。在大二下期中之后,我觉得自己还是对游戏更感兴趣,便想到以后想做游戏。于是,高考后填志愿,填的都是计算机专业。在大一的时候,自学了一段时间的 Unity,到大二在实验室接触强化学习之后,就想着用 RL 来做...

重学Unity-资源加载方式

感谢每一个前人栽树,让后面的人可以乘凉。使用unity开发游戏的过程中,资源的加载一直都是需要重点关注的。unity一共提供了5种资源加载的方式,分别是1.Resources(只能加载Resources目录中的资源),2.AssetBundle(只能加载AB资源,当前设备允许访问的路径都可以),3.WWW(可以加载任意处资源,包括项目外资源(如远程服务器)),4.AssetDatabase(只能加载Assets目录下的资源,但只能用于Editor),5.UnityWebRequest(可以加...

【Unity 3D】学习笔记三十一:游戏元素——地形元素【图】

地形元素一般情况下,为了使游戏更具有美观性,会在游戏地形上放置很多的元素,这些元素是与地形分开的。主要包括:树木,草地,自定义网格模型。树元素首先导入系统提供的树木标准资源包,在project视图中,点击鼠标右键,然后从菜单中选择import-----tree creator。接着在地形菜单里点击第五个按钮,添加树模型。然后点击edit trees按钮,将弹出如下列表:add tree:添加一个树模型edit tree:编辑一个树模型remove tree:删除树...

unity 文件移动注意 AB打包文件名注意小写

1, 移动文件时 最好在编辑器下进行移动 。 出错:直接在文件夹下移动代码,由于和预制件有依赖,导致预制件挂接的代码丢失 2.目前 AssetBundle.BulidAssetbundles打包生成的资源名全部是小写的! 原本大写的string打包后查询前要全转为小写原文:https://www.cnblogs.com/sun-shadow/p/8494338.html

【Unity】1.2 HelloWorld--测试桌面和Android游戏能否正常运行【代码】【图】

分类:Unity、C#、VS2015 创建日期:2016-03-23 一、简介这一节先搞一个最简单的Unity游戏,目的是为了验证Unity的桌面游戏开发环境和Android游戏开发环境是否有问题。实现的功能是: 将该游戏部署在桌面计算机上,运行窗口中显示一个“Hello World!”。 将该游戏部署在Android x86模拟器中,运行界面上显示一个“Hello World!”。 二、设计步骤1、新建项目 运行Unity,选择“New”,输入项目名HelloWorld,选择“3D”: 单击【Cre...

unity, StartCoroutine and StopCoroutine

startCoroutine("func",1.0f)可以用stopCoroutine("func")来停。startCoroutine(func(1.0f))不能用stopCoroutine("func")来停。 参考:http://forum.unity3d.com/threads/stopcoroutine-not-working.32609/http://answers.unity3d.com/questions/891122/how-to-stop-coroutine-with-parameters.html原文:http://www.cnblogs.com/wantnon/p/5155266.html

Unity 3d新手上路

作为一位unity新手,初学遇到了不少坑,而且不知道怎么找,发觉网上关于unity的文档好少,还是我暂时没找到。现在说说void OnTriggerEnter(Collider e),这个函数是我加在一个Gameobject上面用于触发事件的,和其他的开发不同,unity隐藏大量的预制变量,比如这个函数中,gameObject是添加这个脚本的对象,e是与之发生碰撞的对象,特此记录。但愿快点入门原文:http://www.cnblogs.com/mengnan/p/4954066.html

BGP ECMP环境中community属性是如何传递的【代码】【图】

需求:R1发布环回口地址1.1.1.1给R2携带团体属性1111:1111,R3发布环回口地址1.1.1.1给R2携带团体属性1111:1111,R4发布1.1.1.1给R2不携带团体属性,测试在R2发送给R5的BGP路由表象中1.1.1.1是否携带团体属性值1111:1111? AS规划:R1 AS 100R2 AS 200R3 AS 300R4 AS 400R5 AS 500拓扑环境:R1配置:<R1>dis ip int b *down: administratively down (s): spoofing (l): loopback Interface Physical Protocol IP A...

unity优化

一、程序方面  01、务必删除脚本中为空或不需要的默认方法;  02、只在一个脚本中使用OnGUI方法;  03、避免在OnGUI中对变量、方法进行更新、赋值,输出变量建议在Update内;  04、同一脚本中频繁使用的变量建议声明其为全局变量,脚本之间频繁调用的变量或方法建议声明为全局静态变量或方法;  05、不要去频繁获取组件,将其声明为全局变量;  06、数组、集合类元素优先使用Array,其次是List;  07、脚本在不使用时...

Unity3d发布apk文件并在Android虚拟机中运行的操作流程【图】

总的流程分为以下6个步骤:1、安装java_jdk2、配置java环境变量3、更新android的sdk4、从Unity3d中发布出apk文件5、创建android虚拟机并运行6、将apk文件安装到android虚拟机中 (为方便新手,在下面对每个步骤的具体操作及可能遇到的问题详细提一下)1、安装java_jdk官网(www.java.com),免费,我安装的文件的名字是jdk-7u10-windows-i586.exe,版本有新旧,你下载到的版本号可能与我不同,不碍事; 2、配置java环境变量右键我的...

unity 属性面板的绘制【代码】【图】

最终效果: using System; using System.Collections; using System.Collections.Generic; using UnityEditor; using UnityEngine;[CustomEditor(typeof(BaseAttribute))] //需要重写的类 public class MyTouchJoystick : Editor {BaseAttribute baseAttribute;bool isShowBackSetting;bool isShowForwardSetting;void OnEnable(){//获取当前编辑自定义的Inspector的对象baseAttribute = (BaseAttribute)target;}//自定义检视面板pu...

Unity内存申请和释放【代码】【图】

转自:http://www.jianshu.com/p/b37ee8cea04c1.资源类型GameObject, Transform, Mesh, Texture, Material, Shader, Script和各种其他Assets。2.资源创建方式静态引用,在脚本中加一个public GameObject变量,在Inspector面板中拖一个prefab到该变量上,然后在需要引用的地方Instantiate;Resource.Load,资源需要放在Assets/Resources目录下;AssetBundle.Load, Load之后Instantiate。 3. 资源销毁方式GameObject.Destroy(gameObje...

[Unity3D] 使用Microsoft Edge浏览器的朗读模式录制游戏配音【图】

一:准备工具①  Microsoft Edge最新版浏览器  ②  Adobe Audition(任意版本)  ③ Unity3D(任意版本)  ④  要阅读的内容文字(Txt文档) 二:录制内容①将电脑立体声混音启动并设为默认②打开Adobe Audition   编辑→音频硬件设置→将三大项声音输入选择为刚刚启动的立体声混响应用确认然后点击第二条音轨R按钮录音备用,准备录音  ③录制声音  打开Microsoft Edge浏览器将TXT文档(要阅读的内容)拖进地址栏回车...

【Unity】12.5 Navmesh Obstacle组件【代码】【图】

开发环境:Win10、Unity5.3.4、C#、VS2015 创建日期:2016-05-09 一、简介在大多数游戏情景中,可行进的区域往往不是完全不变的。比如被破坏的路、桥等将不再允许通过。那么,如何控制行进物体呢?有两种解决办法。 第一种解决办法是分层控制,然后动态更改可行进层,比如对于不同的桥,分别用不同的层来控制。但是这种处理有一个局限性,比如一个游戏场景中包含很多桥的情形,每个桥都有自己的通行或禁止状态,那么如果分层控制,那...

Unity3d 联通沃商店接入问题【图】

Caused by: java.lang.RuntimeException: Can‘t create handler inside thread that has not called Loope 解决办法: 原文:http://www.cnblogs.com/123ing/p/3939968.html

c#的unity【代码】

1.引用对象2.在app.config中进行配置 <?xml version="1.0" encoding="utf-8" ?> <configuration><configSections><section name="unity"type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration" /></configSections><unity configSource="unity.config" /></configuration> 这里unity的配置是在unity.config中进行配置的。代码如下:<unity xmlns="http://schemas.m...

unity, texture import settings【图】

如果图片带透明通道,则若勾选Alpha Is Transparency,图片会呈现透明的预览效果。 但Alpha Is Transparency勾选与否是否影响shader的输出效果目前我还不太清楚。对于myAdditive.shader(见:http://www.cnblogs.com/wantnon/p/4457058.html)的输出效果而言,没有差别。原文:http://www.cnblogs.com/wantnon/p/4457099.html

Unity官方案例进阶--Roll a ball【代码】【图】

经过上一次的学习,我又想改进一下这款 Roll a ball 游戏,首先这款游戏只有胜利没有失败,所以我想定义一个条件来控制它的输赢,因此我想到了如下的方案:**使我们的玩家控制 Player 在规定时间内达到一定的分数就胜利,反之则失败** 任务目标这里只是大概的目标内容,还有一些细节会在后面完成的时候体现出来。完成 PickUp 的随机刷新出现,每隔3秒刷新一个做一个倒计时器用于显示游戏剩余时间控制分数和时间,若玩家在规定时间内...

Unity -----一些可能存在的错误【代码】【图】

关于Unity中的资源管理,你可能遇到这些问题张鑫8 个月前原文链接:关于Unity中的资源管理,你可能遇到这些问题 - Blog在优化Unity项目时,对资源的管理可谓是个系统纷繁的大工程。鉴于Unity独特又绝(cao)妙(dan)资源打包的AssetBundle管理机制,不同资源的属性适合于不同的存储和加载方式。此外,要处理好成百上千个资源之间的相互依赖关系也非易事。谁说良好的资源管理不是个艺术呢?:)—————————————————...

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(14)-系统小结【代码】【图】

原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(14)-系统小结不知不觉已经过了13讲,(本来还要讲多一讲是,数据验证之自定义验证,基于园友还是对权限这块比较敢兴趣,讲不讲验证还是看大家的反映),我们应该对系统有一个小结。首先这是一个团队开发项目,基于接口编程,我们从EasyUI搭建系统的框架开始,开始了一个样例程序对EasyUI的DataGrid进行了操作,并实现Unity的注入到容器,使程序 的性能大大提升,代...

Android下重启Unity3d开发的游戏【代码】

前面项目中遇到一个问题,就是游戏更新完成之后重启游戏,按理说这个在android下面很简单没什么难度,可是自己对android不太熟悉,然后unity3d这里又有个坑,所以写这篇博客记录下来,希望能帮助到其它需要的人首先在android下面我们一般会选择重启Activity,但是U3D的不unityplayeractivity 只要调用finish就会调用到他的退出消息,导致进程直接被关掉,从而无法重启,所以我后面加了一个闹钟解决了这个问题,也许对于android熟悉的...

Unity 依赖注入

这只是一些非常简单的示例,用于演示如何使用 Unity 进行依赖注入及 AOP。本文不会对 IoC,DI,AOP 等进行过多介绍。依赖注入使用 Unity 进行依赖注入,分为五个步骤:创建容器、注册对象或类型(Register)、注入、解析(Resolve)及 Dispose。 创建容器1IUnityContainer container = new UnityContainer(); RegisterRegister 用于向容器中注册对象或对象类型,只有在容器中正确注册的类型或对象才能在之后被解析出来。注册主要分...