准备 在创建好项目目录的基础上 导入一个第三方的资源包,在Project面板里面 右键---->Import Package---->Custom Package---->easy_touch.unitypackage 导入完成后,会发现菜单栏多了一个Hedgehog Team Hedgehog Team---->Easy Touch---->Add Easy Touch for C# 创建摇杆 在Hierarchy面板里面 右键---->创建一个空节点joystick…
说到装饰器,就不得不说python自带的三个装饰器: 1.@property 将某函数,做为属性使用 @property 修饰,就是将方法,变成一个属性来使用. class A(): @property def pfunc(self): return self.value @pfunc.setter def pfunc(self,value): self.value = value @property def pfunc1(self): print('this is property') if…
虽然最近Unity2018版本推出了自己的瓦片地图,但是这个瓦片地图有点BUG,在场景内把瓦片地图铺好做成预制体,动态生成的时候居然丢失了碰撞体,于是我决定还是使用Tiled软件绘制地图并使用Tiled2Unity插件导入项目 Tiled下载地址 Tiled2Unity下载地址 给瓦片地图添加碰撞体 打开一个已经画好的地图(画的丑别介意), 现在我需要给树根加上碰撞体,防止角色走到上面去(角色的碰撞体在脚掌) 打开图块编辑器 选择一个图块,可以看到图块碰撞编辑器有几种工具 这里我们选择矩形工具,…
shader和Material的基本关系 Shader(着色器)实际上就是一小段程序,它负责将输入的Mesh(网格)以指定的方式和输入的贴图或者颜色等组合作用,然后输出.绘图单元可以依据这个输出来将图像绘制到屏幕上.输入的贴图或者颜色等,加上对应的Shader,以及对Shader的特定的参数设置,将这些内容(Shader及输入参数)打包存储在一起,得到的就是一个Material(材质).之后,我们便可以将材质赋予合适的renderer(渲染器)来进行渲染(输出)了. 所以说Shader并没有什么…
1.创建一个3D工程 2.构造项目文件目录 3.保存场景为game_scene到文件夹scenes中 4.创建一个Plane平面类型的GameObject节点和一个Sphere球体类型的GameObject节点 5.给Plane贴上图片,Sphere贴上材质,可以设置球的材质的Shader为Mobile/Diffuse 6.运行,发现球在空中静止,因为没有添加受力体,也就是刚体组件Rigidbody,添加后运行,球从空中掉到平面上,前提是两者都已经有Collider碰撞器组件,否则只要一方没有C…
1.使用unity的MovieTexture播放视频在物体上,对象只能在电脑上 2.移动端播放全屏视频 Handheld.PlayFullScreenMovie(),视频文件必须放置在StreamingAssets文件夹下 3.Unity的其他特殊文件夹?? 4.Unity实例化物体(destObject,position,rotation,parent)和(destObject,position,rotation),前者会先让预制物体实例化为parent的子物体,并且使其scale值乘以父物体…
Unity的3d游戏开发中,经常遇到需要将模型的某一部分(比如武器),单独做碰撞处理的情况. 导入模型后,给武器部分添加MeshCollider,MeshCollider的Mesh通常包含在模型里,如图: 勾选MeshCollider的Convex以及Inflate mesh后,在场景中能看到生成的绿色网格碰撞器. 但是运行后,会发现这个Collider并不随着模型动画一起运动. 不知道是不是问题太小白的原因,网上很少有相关问题的讨论,不少相关的问题都没有答案. 最终在csdn上翻到一篇文章,解…
Unity中使用摇杆控制 本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/50957100 作者:cartzhang 一.说起摇杆 XBox的摇杆控制器,不知道何种原因,它拒绝在我电脑上工作. 别人给安装驱动,他们都好好的,在这里就是不识别. 只找到了一个数动的就和着使用. 为啥要研究摇杆啊? 因为这边在VR开发中,每次使用VR设置启动的时间较长,又因为有各种硬件,有枪 头盔…
Unity中使用WebView @(设计) 需求,最近游戏中需要引入H5直播页面和更新比较频繁的赛事页面,需求包括:加密传参数.和Unity交互,在Unity框架下其实有几种方案: 内置函数Application.OpenURL()接口 引入的Apollo自带的OpenUrl(引入了LBS X5内核) 不过实际需求中不在使用浏览器自身的导航栏,而是全屏显示并且使用自己的导航系统,这个就有点纠结,因为上述两种打开之后都会有默认的导航条,这种情况下只能寄希望引入第三方组件来解决这个问题,比如Uniw…
一直以来都想试着自己翻译一些东西,现在发现翻译真的很不容易,如果你直接把作者的原文按照英文的思维翻译过来,你会发现中国人读起来很是别扭,但是如果你想完全利用中国人的语言方式来翻译,又怕自己理解的不到位,反而与作者的愿意相悖.所以我想很多时候,国内的译者也是无奈吧,下次再看到译作也会抱着一些感同身受的态度去读.这是我第一次翻译整篇文章,能力有限,望见谅,翻译不好的地方也希望大家指出来. 其实ComputeShader在Unity中出现已经有蛮长的一段时间了,因为自己一直对Shader比较感兴趣,所…
简介 由于项目特殊需求,需要在unity中使用一些OpenGL的东西来绘制图形(PS:其实就是有一个拖尾算法只有OpenGL版本~~~懒得改了,直接在unity中使用OpenGL算了).所以琢磨咯下如何在unity中使用OpenGL,刚找到点入门级的调用,藉此分享一下. 关于Unity和OpenGL 这里不多过的介绍概念知识,unity在脚本中预留了这样一些功能: 1.OnPostRender函数(PS:这个函数只有挂在摄像机上才生效,可以在摄像机做渲染前做进一步操作) 2.GL接口(PS:开放…
这篇文章很不错的问题,推荐阅读英文原版: Introduction to Coroutines Scripting with Coroutines   这篇文章转自:http://blog.csdn.net/huang9012/article/details/38492937 协程介绍 在Unity中,协程(Coroutines)的形式是我最喜欢的功能之一,几乎在所有的项目中,我都会使用它来控制运动,序列,以及对象的行为.在这个教程中,我将会说明协程是如何工作的,并且会附上一些例子来介绍它的用法…
http://blog.csdn.net/candycat1992/article/details/42127811 写在前面 这一篇是在Digital Tutors的一个系列教程的基础上总结扩展而得的~Digital Tutors是一个非常棒的教程网站,包含了多媒体领域很多方面的资料,非常酷!除此之外,还参考了Unity Cookie中的一个教程.还有很多其他参考在下面的链接中. 这篇文章旨在简要地说明一下常见的各种优化策略.不过对每个基础有非常深入地讲解,需要的童鞋可以自行去相关资料. 还有…
原地址:http://www.unity蛮牛.com/thread-19974-1-1.html 编的话:感谢做编程的IT朋友,帮我翻译文章,我又稍稍做了些修改.给点儿掌声哩.欢迎大家多多评论呦. 我挑出的关键词有(方便大家阅读):易于移植到其他平台.3d应用.资源缩放.网格.Alpha渲染模式. <ignore_js_op> Unity is an extremely powerful game engine with the capabilities to tackle just abou…
欧拉角的定义 在写这篇博客之前,我搜索了网上很多关于欧拉角的定义,发现大部分引用自维基百科的定义,我这里也引述一下: 维基百科定义 莱昂哈德·欧拉用欧拉角来描述刚体在三维欧几里得空间的取向.对于任何参考系,一个刚体的取向,是依照顺序,从这参考系,做三个欧拉角的旋转而设定的.所以,刚体的取向可以用三个基本旋转矩阵来决定.换句话说,任何关于刚体旋转的旋转矩阵是由三个基本旋转矩阵复合而成的. 对于在三维空间里的一个参考系,任何坐标系的取向,都可以用三个欧拉角来表现.参考系又称为实验室参考系,是静止不动…
写在前面: 先说一下为什么决定写这篇文章,我也是这两年开始学习3D物体的光照还有着色方式的,对这个特别感兴趣,在Wiki还有NVIDIA官网看了相关资料后,基本掌握了渲染物体时的渲染管道(The rendering pipe-line)流程,以及各种空间坐标系(MVP),但是在用Unity的Shaderlab写shader的时候,对于具体怎么实现各种着色有很大的疑问,决定苦心钻研一下,过了几个月吧,现在对写shader还是比较熟练的,也解决了之前的疑惑,写这篇算是一篇笔记,以后可能用到,或者初学…
本章我们将依然讲解Unity中的Attribute,继续命名空间在UnityEngine里的. PropertyAttribute,这个特性主要来控制变量或者类在Inspector里面的显示方式.和PropertyDrawer类挂钩,具体用法我将在之后开一系列讲解UnityEditor的文章中讲解. Range,这个特性很好理解.给值类型一个范围, 代码如下: 在监视面板里,我们将会看到10的初始值,只要一动滑条,你的值就被限制在0-2之间了. RequireComponent,自动添加所需的c…
今天主要来讲一下Unity中带Menu的Attribute. 首先是AddComponentMenu.这是UnityEngine命名空间下的一个Attribute. 按照官方文档的说法,会在Component的菜单下面生成对应的菜单栏.选择预制或者GameObject,再点击菜单项,自动添加该Component. 下面我们来试试,我在Editor文件夹下面新建了一个OhGod.cs的文件,取完名字我就后悔了,于是我修改了类名,代码如下: 完美!我们来看看Component菜单...什么也没有多!…
1.在unity中创建一个Image作为滚动条视图的背景: 2.在Image下创建一个空物体,在空物体下创建unity自带的Scroll View组件: 3.对滑动条视图的子物体进行调整: 4.添加滚动条视图内容,在内容父物体上添加组件Grid Layout Group和 Content Size Fitter: Grid Layout Group:控制所有的子物体的大小及排序 Content Size Fitter:控制滚动条视图容器的大小适应多个子物体 5.运行发现可以垂直水平滚动视图,取消…
[简介] 常见的 Unity GC 知识点总结出来的思维导图 Unity 官方文档,正巧在博客园发现了已经有位大神(zblade)把原文翻译出来了,而且质量很高~,译文地址 在这里.下面我就可耻地把译文搬运了过来,作为上面思维导图的知识点补充. [介绍] 在游戏运行的时候,数据主要存储在内存中,当游戏的数据不在需要的时候,存储当前数据的内存就可以被回收再次使用.内存垃圾是指当前废弃数据所占用的内存,垃圾回收(GC)是指将废弃的内存重新回收再次使用的过程. Unity中将垃圾回收当作内存管理的一部…
ARPG:动作型角色扮演类游戏 大多数的ARPG游戏都是使用摇杆操作,以第三人称摄像机的方式来跟随主角,实际上人物只走八个方向,上,下,左,右,左上,左下,右下,右上 控制角色移动的思路1: 在ARPG游戏中,主角人物在摇杆下控制行走;2: 主角人物遇到障碍物(碰撞器)将不会穿越过去;3: 摇杆控制主角人物8个方向的行走;4: 使用CharacterController 角色控制器组件: 让你在受制于碰撞的情况下很容易的进行运动,而不用处理刚体,实际上没有刚体的物理特性.角色控制器不受力的影响,…
Tab商城实例 UIToggle 和 UIToggledObjects+ Box Collider(实现商城功能必备) 1.创建两个个UI Sprite,Sprite1和Sprite2 2.给Sprite1和Sprite2都添加UI Toggle组件和UI Toggled Objects组件,设置UI Toggle组件中的Group值一样,归为同一组,这样只能有一个被选择,就像男女只能选一个,再勾选Sprite1的Toggle组件的Starting State,设置为默认的Tab 3.再给Spr…
最近在研究Unity中关于资源打包的东西,网上看了一堆资料,这里做个整合,说整合,其实也就是Ctrl-C + Ctrl-V,不是原创 首先为了尊重原创,先贴出原创者的文章地址: http://blog.csdn.net/kenkao/article/details/24290063 http://blog.csdn.net/janeky/article/details/17652021 http://blog.csdn.net/janeky/article/details/17666409 ht…
龙骨 龙骨是Egret公司的一个用来做动画的软件,本文分享一下如何在Unity2D中使用龙骨导出的2D动画 导出动画 在龙骨中文件->导出,导出动画数据和纹理到Unity的项目中,如果打包了的话就在Unity的项目的目录下解压,解压后我们可以看到3个文件 Animation_ske.json(骨骼配置) Animation_tke.json (图集配置) Animation_tex.png (图集图片) 简单来讲,动画的数据在骨骼配置文件里,图集配置文件记录了图片的位置和路径 向Unity添加龙…
C#开发Unity游戏教程之Unity中方法的参数 Unity的方法的参数 出现在脚本中的方法,无论是在定义的时候,还是使用的时候,后面都跟着一对括号“( )”,有意义吗?看起来最多也就是起个快速识别方法的作用吧.既然C#的语法规定方法就应该这么写,肯定是有一定道理的.如果是上升到战略意义的道理,连作者也不是很明白,但是作者知道这对括号里可以添加“参数”. Unity中参数的作用 要说明参数的作用,就必须从方法说起.方法可以处理变量中的数据,进而影响游戏对象的行为逻辑,这是本章前面一直在强调的.…
在对内存泄漏有一个基本印象之后,我们再来看一下在特定环境——Unity下的内存泄漏.大家都知道,游戏程序由代码和资源两部分组成,Unity下的内存泄漏也主要分为代码侧的泄漏和资源侧的泄漏,当然,资源侧的泄漏也是因为在代码中对资源的不合理引用引起的. 代码中的泄漏 – Mono内存泄漏 熟悉Unity的猿类们应该都知道,Unity是使用基于Mono的C#(当然还有其他脚本语言,不过使用的人似乎很少,在此不做讨论)作为脚本语言,它是基于Garbage Collection(以下简称GC)机制的内存托…
分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 车轮碰撞体 (Wheel Collider)专门用于创建汽车或其他移动交通工具. 车轮碰撞体是一种针对地面车辆的特殊碰撞体.它有内置的碰撞检测.车轮物理系统及有滑胎摩擦的参考体.除了车轮,该碰撞体也可用于其他的游戏对象. 二.相关属性 1.Mass 质量.该项用于设置车轮碰撞体的质量. 2.Radus 半径.该项用于设置车轮碰撞体半径大小. 3.Suspension Distance 悬挂距离.该项用于设置车轮碰撞体…
NGUI精灵实例 1.创建Unity项目工程和文件目录,保存场景 2.创建一个精灵NGUI---->Create---->Sprite,发现它的UI Sprite组件的贴图属性只支持Atlas图集,所以要把纹理图片先做成图集才能放进Sprite里面 3.制作一个图集NGUI---->Open---->Atlas Maker---->(new)---->在Project视图里面选择要打包为图集的纹理贴图,会自动加到atlas名单里---->Create---->…
当前Unity最新版本5.6.3f1,我使用的是5.5.1f1 场景搭建 1: 导入人物模型, 手持一把枪;2: 导入碎片模型;3: 创建一个平面;4: 创建一个障碍物;5: 导入人物模型;6: 配置一个十字瞄准器, 设想机对准的中心就是瞄准的中心, 屏幕中心;7: 配置一个第一人称的摄像机,做人的眼睛; 开枪射击 1: 鼠标左键按下开火;2: 从摄像机位置开始,根据摄像机的正前方,在一定的射击距离内如果碰撞到了某个物体,那么就表示这个物体被子弹射击;3: 播放射击的子弹碎片: 在射击碰撞点产生…
数据结构通俗来讲就是用某个对象去存储数据集合,比如要存储100个整数,要用什么样的数据类型能把它们存储好. Jason处理,服务器对接,配置文件的使用,Unity和Jason之间相互的转换. Array 数组 1: 类型[] 名字 = new 类型[数量]{“初始化的值”, “”, ''”}; 如果有初始值也可以省略大小;2: 优点: (1)内存连续,速度快; 3: 缺点: (1)大小固定,容易访问越界; Array实例 1.创建Unity项目和文件目录,保存场景 2.创建一个空节点GameOb…