Unity入门知识
参考书:《Unity3D 游戏开发》
● scene图中按F键:放大,居中当前选中的物体
● 坐标轴:红-x轴,绿-y轴,蓝-z轴
● 逐帧运行程序:
● OnGUI:可以用来画界面
● 高级控件 or 低级控件?
● Label控件也可以贴图
● 只有脚本的公有变量才可以在编辑器中直接赋值。Texture、String等
● 游戏界面可以由若干个窗口组成,而每个窗口又由若干个视图组成。创建窗口时需要设定他的显示区域,在窗口中可以添加任意组件,前提是组件的显示区域必须在窗口当中,否则无法显示。另外,窗口中的所有控件都采用相对坐标,相对窗口左上角的坐标。
● 改变默认GUI的样式:
1、在 Project 中新建一个 GUISkin,叫做 BeautifulSkin,设置好各个项。
2、脚本中定义一个全局变量 var mySkin : GUISkin;
3、在OnGUI函数中画界面时,调用 GUI.skin = mySkin; 设置当前使用的皮肤
4、在编辑器中,对脚本的 mySkin 变量赋值为 BeautifulSkin。
● 自定义风格组件?
● GUILayout?
● 实际上,在开发2D游戏时,不能使用GUI来实现。GUI的渲染效率比较低,并且也无法使用Unity引擎中独具特色的功能,比如物理引擎、粒子系统等。
● 建议初学者使用JS进行入门阶段学习,但是进阶阶段推荐使用C#,因为C#在编辑思想上更符合Unity引擎的原理。
● MonoDevelop脚本编辑器并不是Unity公司开发的,它是一个开源项目,任何人或公司都可以使用。由于该编辑器具有强大的跨平台功能,并且使用起来非常方便,所以很快就被Unity公司作为核心脚本开发环境来使用。
● MonoDevelop不仅可以编辑脚本,也可以调试脚本。
● FixedUpdate的调用时间设置:Edit -> Project Settings -> Fixed Timestamp
● 使用脚本来调用游戏对象的方式有2种,它们是:1、可以将脚本绑定在一个游戏对象上,2、也可以在代码中动态绑定脚本和删除脚本。任何一个对象都可以绑定多个脚本,并且这些脚本互不干涉,各自完成各自的生命周期。
● 创建游戏对象有2种:1、将模型预先放入 Hierachy视图中,然后在视图中任意拖动该模型在3D世界中的位置,运行游戏后该模型就会出现在Game视图中。
2、在代码中动态创建和删除对象,这种比较灵活。
● 获取对象的方式:1、名字 2、标签 3、通过标签获取多个对象
● 添加组件时,可以使用AddComponent方法。由于组件自身没有对应的删除方法,需要用父类执行Object.Destroy()方法才能删除它。其中该方法的参数为需要删除的游戏对象或游戏组件。在删除某一对象时,将连带将该对象的所有组件一并删除。
● Unity3.5 不支持 c#命名空间,不知道4.5是不是支持了。
● “这里需要注意的是js脚本必须放在 Standard Assets 中文件夹中,否则无法编译通过”?
● Unity提供了3种光源,点光源、聚光灯、平行光。它们可以模拟自然界中任何一种光。
● 因为摄像机照射的面正是游戏显示的内容,所以可在摄像机上绑定一个Skybox组件,用于在Game视图中直接显示天空盒子贴图。需要注意的是,如果游戏中只存在一个摄像机对象,这样添加天空盒子没有任何问题,但是如果游戏中存在多个摄像机对象,在摄像机之间进行切换后天空盒子贴图的位置就会出出问题,因为贴图资源只是相对于当前摄像机对象的,多个摄像机对象无法模拟同一个天空盒子。
● 在游戏场景中直接添加天空盒子。
● 自定义菜单项?
● 修改了预设的,所有对象都会跟着改变。
● 可以通过创建一个空的GameObject然后绑定audio来实现播放音乐。
Unity入门知识的更多相关文章
- Httpd服务入门知识-http协议版本,工作机制及http服务器应用扫盲篇
Httpd服务入门知识-http协议版本,工作机制及http服务器应用扫盲篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Internet与中国 Internet最早来源于美 ...
- unity入门—五分钟制作一个理论上的游戏
unity入门 前言:这可不是标题党,虽然都是基础的操作,不过含括了基本的流程,比起脑海中的五花八门的画面,入门还是这个现实一点. 这里插两句,unity国外官网下载会推荐你看一个简短的视频,国内官网 ...
- [置顶] Mysql存储过程入门知识
Mysql存储过程入门知识 #1,查看数据库所有的存储过程名 #--这个语句被用来移除一个存储程序.不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程 #SELECT NAME FROM ...
- Unity入门
Unity入门 用unity做一个最简单的交互.(相当于Hello World)仅仅要最后能执行就算入门了. 第一步,要先用三维制作软件制作出我们须要的场景. 这儿使用的是Max2012(软件大小3. ...
- 移动H5开发入门知识,CSS的单位汇总与用法
说到css的单位,大家应该首先想到的是px,也就是像素,我们在网页布局中一般都是用px,但是近年来自适应网页布局越来越多,em和百分比也经常用到了.然后随着手机的流行,web app和hybrid a ...
- H5移动端开发入门知识以及CSS的单位汇总与用法
说到css的单位,大家应该首先想到的是px,也就是像素,我们在网页布局中一般都是用px,但是近年来自适应网页布局越来越多,em和百分比也经常用到了.然后随着手机的流行,web app和hybrid a ...
- Java web 入门知识 及HTTP协议详解
Java web 入门知识 及HTTP协议详解 WEB入门 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资 ...
- Java基础入门知识
Java编程入门知识 知识概要: (1)Java入门基本常识 (2)Java的特性跨平台性 (3)Java的编程环境的搭建 (4)Java的运行机制 (5)第一个Java小程序入门 (1)Java ...
- zabbix入门知识
zabbix入门知识 zabbix中文手册 https://www.zabbix.com/documentation/3.4/manual/ 1.zabbix介绍 Zabbix 是一个企业级的分布式开 ...
随机推荐
- 《用格式化(fprintf和fscanf函数)的方式读写文件》
//用格式化(fprintf和fscanf函数)的方式读写文件 [用格式化的方式向文件中写入数据]#include<stdio.h>#include<stdlib.h> int ...
- poj1141 区间dp+路径
//Accepted 176 KB 47 ms //感谢大神们为我们这群渣渣铺平前进的道路!! //用scanf("%s",s)!=EOF WA到死 #include <cs ...
- JSON.parse()和JSON.stringify() 的用法区别
parse用于从一个字符串中解析出json对象,如 var str = '{"name":"huangxiaojian","age":&qu ...
- hdu 2096
PS:做不出前面几道题...很不爽..扒拉了几下找了简单题来做.... #include "stdio.h" int cal(int a); int main(){ int a,b ...
- UIkit框架之UIalert(iOS 9之后就不用这个了)
IOS中UIAlertView(警告框)常用方法总结 一.初始化方法 - (instancetype)initWithTitle:(NSString *)title message:(NSString ...
- BZOJ 4562 食物链
我们需要拓扑一下. #include<iostream> #include<cstring> #include<cstdio> #include<algori ...
- Qt中使用随机数
新建Empty qmake project,命名为UseRand UseRand.pro SOURCES += \ main.cpp QT += core main.cpp #include < ...
- 钱币兑换问题_完全背包&&拆分&&母函数
ps:原来用新浪,可是代码的排版不是很好,所以用博客园啦,先容许我把从八月份开始的代码搬过来,从这里重新出发,希望这里可以一直见证我的成长. Time Limit: 2000/1000 MS (Jav ...
- 最熟悉的陌生人:ListView 中的观察者模式
RecyclerView 得宠之前,ListView 可以说是我们用的最多的组件.之前一直没有好好看看它的源码,知其然不知其所以然. 今天我们来窥一窥 ListView 中的观察者模式. 不熟悉观察者 ...
- 用Xshell访问 虚拟机里的kali
1.vim /etc/ssh/sshd_config 2.PermitRootLogin without-password复制 3.把一个PermitRootLogin without-passwor ...