一.Static GameObjects 关于静态对象的信息往往可以预先在编辑器里计算,不需要实时计算,进而优化性能,明显降低DrawCall. 各种Static说明: Lightmapping: 用于生成光照贴图对场景进行优化. Occluder and Occludee: 渲染优化,对象的可见性跟距离Camera的远近有关,是关于unity3d中与遮挡剔除技术有关的. Batching: 批处理,渲染优化,将多个Gameobject的网格合并; Navigation: 用于烘焙导航网格. O…
上一篇博客已经详细的介绍GI了,接下来我们讲点实际的,怎么烘焙场景及注意事项. 一.Light Property: Function: Type 当前灯光的类型.有四种类型:Directional, Point, Spot and Area. Range 灯光照射的距离 (只有Point和Spot光源有这个属性). Spot Angle 聚光灯照射范围所张开的角度(Spot light only). Color 光的颜色 Mode 指定光的模式. 三种模式 Realtime, Mixed and…
如果你的DispatcherServlet拦截的是*.do这样的URL,就不存在访问不到静态资源的问题 如果你的DispatcherServlet拦截了"/"所有的请求,那同时对*.js,*.jpg的访问也就被拦截了. 我们在进行springMVC开发时,必定会在jsp页面引入js.img和css等文件. 大多数人会将这些分类存放在WebRoot文件下新建的文件夹下面. 同时,会在web.xml文件中配置拦截所有请求.这样就造成了页面无法访问到js.img和css文件夹中的文件了 方法…
光影流年,花影阡陌.光与影交织的岁月教育我们,不会使用光照的程序员不是个好美术. 一.概述 点击 Window > Lighting > Settings 会弹出Lighting窗口,这个就是设置全局光照的窗口. 这个Lighting窗口划分了三个区域: 1.Scene:设置适用于整个场景而不是单个GameObjects.这些设置控制灯光效果和优化选择. 2.Global maps:显示所有lightmap资产文件生成的GI照明过程. 3.Object maps:预览当前选中的GameObje…
代码: [MenuItem("Tools/Delete",false,1)]    static void Delete()    {        GameObject[] go = Selection.gameObjects;        foreach (GameObject g in go)        {            //GameObject.DestroyImmediate(g);            Undo.DestroyObjectImmediate(…
Project(工程.项目):工程是把游戏开发当前所需要的资源归类管理用的. Console控制台:日志.报错.调试,右上角,消息过滤 Assets:资源,存储游戏中一切用到的资源 Library:临时库文件 ProjectSettings:项目设置.项目控制 Temp:临时文件夹 UnityPackageManager:资源包 工程迁移: Assets.ProjectSettings.UnityPackageManager,这三个文件夹必须拷贝走 如果报错,先删掉Library和Temp,再重…
代码: [MenuItem("Tools/GetChance", false, 1)]    static void GetChance()    {        if (Selection.gameObjects.Length > 0)        {            Debug.Log(Selection.activeGameObject.name);              Debug.Log(Selection.gameObjects.Length);    …
扩展编辑器实际上就是在unity菜单栏中添加一些按钮,可以一键执行一些重复性的工作. 一.添加按钮 1.简单使用MenuItem特性 using UnityEngine; using UnityEditor; public class Tools { [MenuItem("Tools/test")] static void Test() { Debug.Log("test"); } } 2.路径设置 在方法上添加MenuItem特性,在MenuItem的括号中传入路…
P10: 设置断点步骤02,在Project窗口右键(是在下图中的红色区域,点右键)选择[Sync Mono Develop Project],打开MonoDevelop编辑器 P11: "步骤05 在Unity编辑器中运行游戏,......",是点击下图中的红色部分来运行的…
版权声明:本文为博主原创文章,转载请注明出处. 游戏和电影一样,是通过每一个镜头的串联来实现的,而这样的镜头我们称之为“场景”.一个游戏一般包含一个到多个场景,这些场景里面实现了不同的功能,把它们组合起来就变成一个完整的游戏了.  在电影里面,每个镜头会包含布景,然后还会有演员在表演,摄像机将表演的画面记录下来,然后就变成了电影.同样的,在Unity游戏里面也同样存在相机,它的作用也是将游戏的画面展示在游戏设备的显示屏上面.所不同的是,Unity游戏里面,不论是布景还是人物,所有的东西我们都称之…
Flask 学习(四)静态文件 动态 web 应用也需要静态文件,一般是 CSS 和 JavaScript 文件.理想情况下你的服务器已经配置好提供静态文件的服务. 在开发过程中, Flask 也能做好这个工作. 静态文件引用 我们先来看下普通的 html 引用静态文件,如 css(js也同样,就不多加示例了),以下为一简单实例,直接打开html:…
2个月前还在忙碌的找实习工作,看见招聘信息上面有一条熟悉扩展Unity编辑器,配合美工编程. 自己动手写完这个代码时候,发现写代码就像弹钢琴多么神奇. TestEdit类: using UnityEngine; using System.Collections; using UnityEditor; [CustomEditor(typeof(Test))] public class TestEditor : Editor { void OnSceneGUI() { Test test = (Te…
[Unity]13.3 Realtime GI示例 摘要: 分类:Unity.C#.VS2015 创建日期:2016-04-19 一.简介 使用简单示例而不是使用实际示例的好处是能让你快速理解光照贴图和光影效果相关的概念和基本设置办法,这样可避免实际复杂场景中其他因素的干扰.一旦你熟悉了这些基本用法,在实际场景中依然是这样用. 本例子最终实现的效果如下: 二阅读全文 posted @ 2016-05-19 06:21 rainmj 阅读(319) | 评论 (0) 编辑   [Unity]13.…
分类:Unity.C#.VS2015 创建日期:2016-03-26 一.简介 本节要点:了解Unity编辑器的菜单和视图界面,以及最基本的操作,这是入门的最基础部分,必须掌握. 二.启动界面 双击桌面上的快捷键,它就会自动启动Unity. 1.Getting started选项卡 启动Unity以后,在开始学习Unity之前,最好先播放一下"Getting started"选项卡中的视频介绍,了解有哪些可用的参考源和资料.该视频播放截图如下: 2.Project选项卡 如果你原来对U…
http://www.jianshu.com/p/7b9498e58659 Unity ShaderLab学习总结 Why Bothers? 为什么已经有ShaderForge这种可视化Shader编辑器.为什么Asset Store已经有那么多炫酷的Shader组件可下载,还是有必要学些Shader的编写? 2014-0718-1607-11-33.png 因为上面这些Shader工具/组件最终都是以Shader文件的形式而存在. 需要开发人员/技术美术有能力对Shader进行功能分析.效率评…
Unity的编辑器可以通过写脚本进行界面定制,包括添加功能菜单,今天写游戏Demo用到了记录一下. 为Unity添加子菜单 示例程序 [AddComponentMenu("Defend Homeland/GridNode")] public class GridNode : MonoBehaviour { ...... } 子菜单预览 相应地在Unity的Component菜单下就会有我添加的脚本 在编辑器中执行函数 示例代码 //构建地图 [ContextMenu("Bui…
一.简介 最近马三为公司开发了一款触发器编辑器,对于这个编辑器策划所要求的质量很高,是模仿暴雪的那个触发器编辑器来做的,而且之后这款编辑器要作为公司内部的一个通用工具链使用.其实,在这款触发器编辑器之前,已经有一款用WinForm开发的1.0版触发器编辑器了,不过由于界面不太友好.操作繁琐以及学习使用成本较高,所以也饱受策划们的吐槽.而新研发的这款编辑器是直接嵌入在Unity中,作为Unity的拓展编辑器来使用的.当然在开发中,马三也遇到了种种的问题,不过还好,在同事的帮助下都一一解决了.本篇博…
Unity Shader 学习之旅 unityshader图形图像 纸上学来终觉浅,绝知此事要躬行 美丽的梦和美丽的诗一样 都是可遇而不可求的——席慕蓉 一.渲染流水线 示例图 Tips:什么是 GPU 加速计算? 1.1Draw Call CPU过Draw Call来g告诉GPU开始一个渲染过程.一个Draw Call会指向本次调用需要渲染的图元列表. 通俗的讲我们可以把CPU理解成一群专家,他们有着超强和快速的计算能力,能解决各种各样的问题.GPU则是许许多多个流水线上的工人,尽管它们只能做…
先给一个大致今天学习的图,然后后面是细节 1.下载Unity :官网下载需要版本 2.Unity安装:一定不要有中文路径:一台电脑可以安装不同版本的Unity,但是要安装在不同的文件夹下: 3. 新建工程文件 New:是新建工程: Open:打开已有Unity工程; 注意:Unity的工程文件路径也不要有中文,工程名也不要有中文: Unity中重要的六个面板: Scene:面板对场景中游戏物体位置,方向,大小进行编辑的一个面板: 手型:移动视角使用: 方向:移动场景内游戏物体的位置: 旋转:控制…
本篇文章是对Unity Shader入门精要的学习笔记,插图大部分来自冯乐乐女神的github 如果有什么说的不正确的请批评指正 目录 渲染流水线 流程图 Shader作用 屏幕映射 三角形遍历 两大渲染测试 混合 CPU.GPU.图形接口和驱动的关系 CPU和GPU之间的通信 CPU和GPU并行工作的秘密:命令缓冲区 显示流畅的方法 着色器语言 ShaderLab Shader选用 顶点片元着色器 Unlit Shader 结构 一个简单的Shader 库文件 调试 注意点 3D数学 空间 渲…
unity 编辑器扩展简单入门 通过使用编辑器扩展,我们可以对一些机械的操作实现自动化,而不用使用额外的环境,将工具与开发环境融为一体:并且,编辑器扩展也提供GUI库,来实现可视化操作:编辑器扩展甚至也可以"补充"IDE缺失的一些内容,让IDE更加人性化. 主要内容 MenuItem无界面操作 窗口 优化内置操作 简单工具窗口 Gizmos改造场景显示 一.MenuItem无界面操作 在 assets文件夹下创建Editor文件夹,创建一个新的c#脚本: using System.Co…
通过把不同的游戏物体放在不同的Layer里面能对不同类的游戏物体进行很方便的控制,如果某些游戏物体创建后你不想再改动,如地面 装饰 什么的, 你可以通过点击Layer下拉菜单把它们锁定了 也可以通过控制Layer下拉菜单中的眼睛图标来设置是否 显示 或 隐藏 layer里的物体 这里需要注意的是,Unity中 Layer 最多有25个,不过对我们来说已经非常够用了.…
想当年刚学Unity的时候,这个问题困扰了我好几天,因此来分享一下当初解决问题的思路. 我们通过Unity构建场景的过程中,经常发现一个现象,就是物体在拖进场景中后,我们会发现物体是反的,通过改变物体的rotation属性后,得到了正确的方向,可物体的坐标系又变得和默认坐标系(右上角系统自带的坐标系)不一样了,这样就给后续的脚本工作(通常是控制(Transform)脚本和生成(Intantiate)脚本)带来了困扰,因为脚本写作的过程中是按照世界坐标系来的,物体自己的坐标系和系统坐标系不一样了就…
unity  基础学习   transform 1.unity采用的是右手坐标系,X轴右手为+,Y轴向上为+,Z轴朝里为+; 但是我们从3D MAX中导入模型之后,发现轴向并没有遵从这个原理, 其实是他里面的矩阵搞乱了,真的这种情况,我们给他加一个父物体就行了! 点击菜单栏 GameObject->Create Empty,然后把我们的模型作为他的子物体 就OK了! 如果我们从3D MAX中做了一个位移动画,但是到了unity中发现它的尺寸太大 了,如果我们修改他们的Scaling的值的话,只能…
最近在做一个模型展示的项目,我的想法是根据滑动屏幕的x方向差值和Y方向的差值,来根据世界坐标下的X轴和Y轴进行旋转,但是实习时候总是有一些卡顿.在观察unity编辑器下的旋转之后,发现编辑器下的旋转非常流畅.仔细观察之后发现unity编辑器下的旋转运算模式如下图所示,红色箭头方向为触控滑动方向,黑色箭头为模型旋转的轴. 了解原理之后就是实现相关功能,具体实现还是粘代码吧.代码如下 using System.Collections; using System.Collections.Generic…
序言:你是否想过单纯使用 CSS 也可以制作一款游戏?甚至可以双人对决!这是一篇非常有趣的文章,作者详细讲解了使用纯 CSS 制作四子连珠游戏的思路以及使用奇淫巧技解决困难问题的方法.因为案例本身比较复杂,而本人水平有限,翻译必有不恰当之处,欢迎留言评论. 原文:How the Roman Empire Made Pure CSS Connect 4 Possible 翻译:nzbin 实验是学习新技巧.思考新想法.并突破自身极限的有趣的方式."纯 CSS"演示很早就有了,但是随着浏览…
本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Native相互调用 Android JNI学习(四)——JNI的常用方法的中文API Android JNI学习(五)——Demo演示 思维导图如下: image.png 本文主要是结合JNI的常用接口文档进行的翻译主要是帮助我们更好的理解JNI中常用的API.具体如下: 一.Interface Func…
Unity编辑器扩展chapter1 unity通过提供EditorScript API 的方式为我们提供了方便强大的编辑器扩展途径.学好这一部分可以使我们学会编写一些工具来提高效率,甚至可以自制一些小的插件应用的项目工程中去,达到复用的目的.今天首先创建一个新场景生成的菜单项,生成的场景已经绑定好需要的游戏对象及脚本. Tips:1.官方API 2.编辑器扩展脚本都需放在Editor文件夹下,Editor的层级和数目没有要求 EditorUtil.cs :编辑器扩展类,向外部提供编辑器扩展方法…
Silverlight游戏设计(Game Design):(十四)练习用游戏素材资源的获取及相关工具使用心得 通过前6节的Demo制作演示,大家应该已经相当熟悉这款Silverlight-2D游戏场景编辑器了:通过它我们可以构建出各种类型的游戏,这也让广大的Silverlight游戏爱好者们变得蠢蠢欲动,近一段时间里有很多朋友询问我游戏素材资源是如何获取的,那么本节我将向大家分享这方面的经验与心得,漂亮的游戏素材配合上不断的游戏编码练习,在成就感中提升自身的游戏设计能力,让我们一同努力吧! 推荐…
MarkDown 编辑器学习 是一种简单快键的文字排版工具,可以用于编写说明文档,鉴于其语法简洁明了,且其渲染生成的样式简单美观,很多开发者也用它来写博客,已被国内外很多流行博客平台所支持.生成的文件后缀名为.MD,亦可以导出生成HTML或PDF文件. 常用语法备忘 (一)标题 说明:在段落首用#申明标题,根据#数区别标题级别,Markdown一共有6级标题,对应于HTML中的<h1>-<h6>标签,不同级别的标题除了大小区别外,样式也存在差异. 格式:#表示一级标题,##表示二级…