编辑器控制特效播放 Unity的动画编辑器不能预览粒子系统的播放,为了方便预览特效,设想制作一个预览特效的工具,通常一个特效有三种组件: - Animation - Animator - ParticleSystem 其中Unity编辑器在编辑器模式下会控制粒子的播放,所以这里控制特效播放的功能只能在播放模式下使用. 代码 using UnityEngine; using UnityEditor; using System; public class EffctPlayBackWin : Edi…
前言 很久没说过Unity了,现在说一下Unity用代码控制音频播放 准备工作 1.需要播放的音频 2.给需要加声音的对象加Audio Source组件 3.新建Play脚本,并绑定需要播放声音的对象 代码 [SerializeField] private AudioSource audioSource = null; [SerializeField] private List<AudioClip> AudioClips = null; /// <summary> /// ///…
       一般在游戏中,主角或者怪物会受到减速效果,或者攻击速度减慢等类似的状态.本身动作减速的同时,衔接在角色上的特效也需要改变相应的播放速度.一般特效有三个游戏组件:   关键点就是改变Animator,Animation和Particle System的Speed这个速度变量.就可以随意的控制特效的播放速度了. 代码如下: using UnityEngine; using System.Collections; public class EffectSpeedControl : Mon…
Unity VR编辑器――如上帝般创建VR内容在GDC的一个活动中,Unity首席设计师Timoni West展示了最新的Unity VR编辑器的原型系统,让你如上帝般创建VR应用,从一片空白场景开始,在几分钟内完成了整个的虚拟场景创建.http://www.manew.com/thread-49427-1-1.html 这是我一直设想的我们的一点美家VR体验时的类似场景,戴上眼镜,手在空中滑动或者点击就可以完成相应DIY替换交互 Project Soli 能像蝙蝠一样“看到”你的手势 | 爱范…
编辑器 Special Folders Hidden Folder(start with .) Standard Assets:第一批加载的文件 Editor:只在编辑下才能使用, Plugins Resources:原生资源 Editor Default Resources Gizmos:Gizmos资源 StreamingAssets:自定义资源 编辑器功能扩展-EditorWindow 自定义一个编辑器窗口界面 Unity的编辑器的UI操作都很难用,继承EditorWindow 在OnGU…
Swift实战-豆瓣电台(九)简单手势控制暂停播放 全屏清晰观看地址:http://www.tudou.com/programs/view/tANnovvxR8U/ 这节我们主要讲UITapGestureRecognizer和MPMoviePlayerController 知识点 UITapGestureRecognizer 关联storyboard上的UITapGestureRecognizer @IBOutlet var tap:UITapGestureRecognizer=nil //注意…
(一)问题的提出: OpenCV有一个很简单的播放视频文件并加载滑动条的程序,但是如何用MFC对话框来创建一个有滑动条控制的播放器呢,网络上四处搜索都没有代码可以参考,下的都是些骗子链接文件,很过分,一点参考价值都没有,怎么办? (二)解决的思路: 1.自己进行研究,不指望网络有现成的馅饼,因为那里多了去的陷阱,很可恶. 2.要解决的关键问题是slider滑动条控件如何与视频播放实时结合在一起: ①主窗体的OnHScroll()响应函数负责响应slider滑动条的变化,这样就轻松搞定slider…
今天在研究Android中实现Android 4.2.2源码中的Music应用的源码,关于通过耳机按键控制音乐播放的实现,有点好奇,就仔细分析了一下源码, 主要由 MediaButtonIntentReceiver 这个类来实现. 在AndroidManifest.xml中有如下Receiver的注册: <receiver android:name="com.huawei.imax.music.MediaButtonIntentReceiver" > <intent-…
最近突然想起了一个学长的一个利用手机控制ppt播放的一个创意,并想将其在windows phone7上实现一下. 经过几天的努力已经可以控制ppt的播放,暂停,上一张,下一张了,并且电脑会将当前ppt的截图发送到手机端这里. 在代码的编写过程中,参考了IT黄老邪的Windows Phone开发(46):与Socket有个约会进行服务端与wp客户端的socket通讯的编写,并加入了键盘消息模拟,服务端截屏,图片发送,与客户端的图片接受. 代码如下: WP客户端 1.新建Windows Phone应…
用Unity3D也算是好久了,但是每次做项目总还是能学到新的东西.这次做一个TPS的项目就遇到了这样一个问题,如何同时在上下半身播放不同的动画?解决方法其实是很简单,但由于对于动画资源的了解不足导致问题不断,最后是彻彻底底的研究了一遍Unity3D的动画系统(Legacy),虽然4.0出了新的动画控制系统,使用了一下功能相比原来确实强大不少,但还是将这次对于原先的动画系统的学习总结记录下来,毕竟这些动画的概念与策略是通用的,而且因为4.0在mac上目前貌似还没有破解所以项目还是得在3.5上做.相…
Vi / Vim编辑器-编辑器工作模式.vi编辑操作 推荐一个很好的学习指南:http://www.oschina.net/translate/learn-vim-progressively 一.编辑器的三种工作模式 Vi / Vim是全屏幕编辑器,正因为这种特性,通常Vi分为三种模式:一般模式.编辑模式.命令行命令模式. (1)     一般模式Normal Mode(common Mode, c-Mode) Vi处理文件时,进入该文件就是一般模式,此模式中输入的任何字符皆被视为指令.可以用方…
实现Kinect控制幻灯片播放很简单,主要思路是:使用Kinect捕捉人体动作,然后根据识别出来的动作向系统发出点击向前,向后按键的事件,从而使得幻灯片能够切换. 这里的核心功能在于手势的识别,我们在开发之前需要定义怎么样的手势算是向前或者向后切换幻灯片.手势和姿势识别在我的Kinect开发入门第九,第十,十一篇文章有详细介绍.本文仅讨论主要思路及关键代码部分. 通过姿势实现PPT控制 姿势(pose)识别是通过关节点与关节点之间的相对位置关系来进行判断,相对来说比较容易,只需要通过某一帧骨骼关…
Extending the Editor Unity允许你使用自己定制的inspectors和Editor Windows扩展编辑器,并且你可以使用定制的Property Drawers定义属性集在inspector中如何展示,这一块讲述如何使用这些特性. Editor Windows 你可以在你的app中创建任意数量的定制窗口.它们的表现就像Inspector,Scene或者其它内置的窗口.这是给你的游戏添加一个子系统用户接口的绝佳方式.[比如地图编辑器] 做一个自定义的Editor Wind…
Custom Editors 加速游戏制作过程的关键是为哪些频繁使用的组件创建自定义的编辑器,为了举例,我们将会使用下面这个极其简单的脚本进行讲解,它的作用是始终保持一个对象注视某一点. public class LookAtPoint : MonoBehaviour { public Vector3 lookAtPoint = Vector3.zero; void Update () { transform.LookAt (lookAtPoint); } } 这个脚本会让一个对象保持面向世界空…
1. 插件扩展 1.1. 命名空间 using UnityEditor; using UnityEngine; //非必需,常用到 1.2. 使用语法 [MenuItem("Assets/My Test")] private static void Test() { Debug.Log("Hello World!") } 语法说明 [MenuItem("path $t", Is, Priority)] private static void Te…
你可以决定宏参数在 Confluence 编辑器中如何进行显示的. 在默认的情况下,在宏占位符下尽可能显示能显示的所有参数: 你可以控制这里显示的参数数量,通过这种控制你可能尽量的为编辑者提供有效的信息. 例如,在 Confluence 的经过宏中有 2 个参数,title 和 icon.我们考虑到 title 是最有意义的参数,因此我们配置了经过宏显示了 title 参数的具体值. 让我们假设一个编辑用户添加了一个警告宏到编辑页面中.然后给了标题名称为 'The title of the wa…
Unity编辑器扩展教程(二) 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 一 Brief Introduction -- 简介 二 ScriptableWizard -- 脚本化向导 1- - DisplayWizard -- 显示器向导 2- - ScriptableWizard Messages Sent -- 脚本化向导的信息传递 3- - DisplayProgressBar -- 进度条…
Unity编辑器扩展教程 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 一 Brief Introduction -- 简介 二 Create MenuItem -- 创建菜单项 1- - Create Level 1 Menu -- 创建一级菜单 2- - Create Level 2 Menu -- 创建二级菜单 3- - Create Level 2 Menu in System Menu --…
将Test1脚本挂在摄像机上 ​ 如图展示 ​ 下面我们需要在代码中动态的编辑它,请在你的Project视图中创建一个Editor文件夹,把MyEditor放进Editor文件夹中 ​ 在OnInspectorGUI中绘制控件 EditorGUI和EditorGUILayout可创建编辑器控件 注意:在编辑器中修改mRectValue和texture的内容,运行项目和关闭unity重新打开,不会保存 需要将Test1依附的对象拖成预制体,每次修改需要Apply一下预制体 ​…
扩展Inspector界面 继承自Editor,添加CustomEditorAttribute,传入定制的类型 定制显示的类型要求: 类型中所有的public 字段都会自动暴露给Inspector编辑器 类型中非public 字段,可通过使用SerializeFieldAttribute来暴露给Inspector 使用HideInspectorAttribute可隐藏字段 Unity消息接口: private void OnEnable(); private void OnDisable();…
这应该unity5才出的新功能了,今天看文档时刚巧看到了,就来尝试了一下. 效果如图: shader 的编辑器扩展分为2种方法: 是通过UnityEditor下的ShaderGUI类来实现的,形式比较近似于我们一般对unity编辑器的扩展方式. 是通过直接在shader代码上通过unity为我们预定义好的一些命令来扩展. 个人比较推荐使用第一种方法,第二种在尝试时发现 ①是第二种控件的种类有限.限制还特别多,变量申请的不对的话,有时也不报错,不利于维护. ②是文档里还有错误+没说清楚的地方. ③…
sublime text 2,支持unity shader关键字高亮显示,智能提示功能.这个脚本编辑器的售价是70美元,不过作者很厚道地给了我们永久的免费试用期. 1)下载sublime text 2,链接地址http://www.sublimetext.com/2,sublime text 3是beta版,当然下载哪个自己选择. 2)安装步骤不详述. 3)sublime text 2支持很多语言和脚本,但是默认是不支持unity shader,所以需要安装相应的语言插件包. a)打开subli…
时间缩放状态下,比如 Time.timeScale 缩小为 0 或者 0.000001 等极小值时,若想将特效的播放速度放大相同的倍数,即修改 ParticleSystem.playbackSpeed / Time.timeScale,非循环播放特效仍然无法正常播放(这可能是 Unity5.3.1的问题),依然高速瞬间播完,但是对于无限循环播放类型的特效没有影响,目前解决的方式就是给在时间缩放状态下的特效添加脚本,在 Update 里面,每帧运行 ParticleSystem.Simulate(…
关卡编辑器 关卡编辑器插件开发日记 1. Apply to Prefab [替换Prefab] if (GUILayout.Button("Apply Collider To Prefab")) { PrefabUtility.ReplacePrefab(simActor.Preview, PrefabUtility.GetPrefabParent(simActor.Preview), ReplacePrefabOptions.ConnectToPrefab); } 2. 获取Scen…
Inspector视图中的get/set使用 get  set使用起来很方便,但编辑时,在Inspector视图中问题就来了,因为get/set的属性即使是public了,但是在Inspector视图中依然不显示 我偏偏就像在编辑器应set的操作怎么办?我想做的是在set里面加一个自己写的方法 MyEditor4放在Editor目录下 ​ Test4挂在任意游戏对象上 ​ 如图所示,在编辑器模式下用鼠标修改width的值,log输出说明了get set已经响应了 ​…
最近在学习状态机, 想自己实现一个可视化编辑器, 需要将多个状态之间用线条连接起来, 效果如下: 代码如下: Material m;Vector2 start;Vector2 end;Color color = Color.red; void OnEnable () { m = new Material (Shader.Find ("GUI/Text Shader")); } void OnGUI () { m.SetPass(0); GL.LoadPixelMatrix (); GL…
Unity支持自行创建窗口,也支持自定义窗口布局,在Project视图中创建一个Editor文件夹,在文件夹中创建一条脚本 自定义窗口需要让脚本继承EditorWindow在设置MenuItem,此时在Unity导航菜单栏中GameObject-window就可创建一个自定义窗口​ EditorWindow.GetWindowRect()和EditorWindow.GetWindow()都可以创建一个窗口,前者可以规定窗口的区域,后者通过鼠标动态的延伸窗口.参数1表示窗口的对象,参数2表示窗口的…
https://answers.unity.com/questions/1225328/imported-animated-object-and-slider-tutorial.html using UnityEngine; public class NewBehaviourScript : MonoBehaviour { //Animation 需要将动画调为Legacy, //自建的动画可以在Inspector面板下调为Debug模式,勾选上Legacy就可以了 //public Anima…
public static List<T> GetAssetsWithScript<T>(string path) where T:MonoBehaviour { T tmp; string assetPath; GameObject asset; List<T> assetList = new List<T> (); string[] guids = AssetDatabase.FindAssets ("t:Prefab", new s…
public static void ClearConsole() { var assembly = System.Reflection.Assembly.GetAssembly(typeof(UnityEditor.ActiveEditorTracker)); var type = assembly.GetType("UnityEditorInternal.LogEntries"); var method = type.GetMethod("Clear"); me…