Unity基础
unity
unity 3大场景
Asset Scene Component
Asset :资源导入导出
右击资源,选择导出Unity包
导入可以直接将只有复制到Asset文件夹
创建场景
File->New Scene
第一个启动的场景:
File->Build Setting 里面第一个
游戏都是由多个场景构成
GameObject
Create Empty创建一个GameObject
写有些就是要完成的就是编写Component
右键->Create->C# Script就可以创建脚本了
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour {
public int a = 2;
public int[] intArry;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
Debug.Log("Hello Unity");
}
}
Prefab
Select Prefab
将Hierarchy中的文件拖动到Asset里面,就可以生成一个预制,然后拖动到Scene里就可以使用了,预制可以多次使用,一次修改可以影响多个相同的预制对象,使用Apply确认应用到同一预制对象
预制? 预制保存用Apply
取消预制:GameObject->Break Prefab Instance
Tag和Static
Tag:可以用于标记标签
Static:
Nothing:没有任何属性;
Everyting:所有的都是静态的,Unity可以优化;
LightMap Static:光照阴影是固定不变的;
Occluder Static: 遮挡静态
Batching Static:
Navigation Static:
Occludee Static:
Off Mesh Link Generation:
Reflection Probe Static:
c#编码中出现的变量可以直接在Unity里面进行调节
private,protected是不暴露的
private int p; // private,protected是不暴露的
想要私有变量被访问到写法
// 想要私有变量被访问到写法
[SerializeField]
private string player;
不想将这个字段暴露,使用这个[HideInInspector]
[HideInInspector]
public string name; //不想将这个字段暴露,使用这个[HideInInspector]
定义结构体添加[System.Serializable]标签后也能够访问到
// 定义结构体添加[System.Serializable]标签后也能够访问到
[System.Serializable]
public class customStruct
{
public int a = 2;
public int[] intArry;
public List<string> kk;
}
public class NewBehaviourScript : MonoBehaviour {
public customStruct cus; // 结构体
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// 定义结构体添加[System.Serializable]标签后也能够访问到
[System.Serializable]
public class customStruct
{
public int a = 2;
public int[] intArry;
public List<string> kk;
}
public class NewBehaviourScript : MonoBehaviour {
public customStruct cus; // 结构体
public int a = 2;
public int[] intArry;
public List<string> kk;
public Color c; //颜色
public AnimationCurve curve; //曲线
public Gradient g; // 渐变
// private,protected是不暴露的
private int p;
// 想要私有变量被访问到写法
[SerializeField]
private string player;
[HideInInspector]
public string name; //不想将这个字段暴露,使用这个[HideInInspector]
// Use this for initialization
void Start () {
if (intArry != null)
{
Debug.Log(intArry.Length);
}
Debug.Log(kk.Count);
}
// Update is called once per frame
void Update () {
}
}
效果如下:
Scene与Game窗口使用
Scene
旋转 位移 缩放
Shift+F 快速定位
Shift+Ctrl+f 当前视角与主相机视图对齐
点击三个方向的坐标轴切换视角
Persp 透视视角
Iso正交视图2d投影
以不同的方法渲染:
Shaded
Wireframe
Shadow Cascades
Render Paths
Alpha Channel 透明度
Overdraw
Mipmaps
Gizmos:游戏中的提示信息
Game
分辨率调整
Maximize On Play 运行时最大化
Mute audio 静音
State 信息,性能统计
编辑器内搜索
资源搜索
直接搜索
按类型搜索
按Tag搜索
场景搜索
直接搜索名字
场景内搜索中包含的材料,比如搜索那些组件包含了粒子系统,mesh,
一些重要的设置
Edit->Project Settings 对于文件夹里的Project Setting文件夹的设置文件
QualitySettings:勾选变成绿色的小勾后即显示设置成功
Fast和Simple比较常用与手机游戏
Good以上为PC
Editor Settigns:
Version Control: Hidden Meta Files;Asset Server(Unity自己的版本控制);Visible Meta Files(svn可以使用,meta文件保存有关参数设置,合作时需要共享,单机个人开发可以不需要);
(开发需要上传的文件:Library不需要上传,ProjectSettings需要上传,Asset需要上传,Temp不需要上传)
Asset Serialization:
Mode :Mixed;Force Binary(推荐,如果选择Asset文件打开由2进制);Force Text(多人合作选择Text,由yaml语言书写,更加清晰明白);设置不会影响后面的发布,发布都是使用Binary发布的
Unity基础的更多相关文章
- unity 基础之InputManager
unity 基础之InputManager 说一下unity中的InputManager,先截个图 其中Axes指的是有几个轴向!Size指的是有几个轴,改变Size可以添加或者减少轴! Name指 ...
- unity 基础学习 transform
unity 基础学习 transform 1.unity采用的是右手坐标系,X轴右手为+,Y轴向上为+,Z轴朝里为+; 但是我们从3D MAX中导入模型之后,发现轴向并没有遵从这个原理, 其实是 ...
- Unity基础6 Shadow Map 阴影实现
这篇实现来的有点墨迹,前前后后折腾零碎的时间折腾了半个月才才实现一个基本的shadow map流程,只能说是对原理理解更深刻一些,但离实际应用估计还需要做很多优化.这篇文章大致分析下shadow ma ...
- Unity 基础
Unity 基础是unity入门的关键.他将讲解Unity的界面, 菜单项,使用资源,创设场景,并发布版本. 当你读完这段,你将理解unity是怎么工作的,如何有效地使用它,并且完成一个基本的游戏. ...
- NET笔记——IOC详解和Unity基础使用介绍
说起IOC,可能很多初学者不知道是用来做什么的,今天正好有点时间,就来扫扫盲,顺便巩固下自己. IOC全称是Inversion Of Control,意为控制反转(这些自然百度也有),可什么是控制反转 ...
- IOC详解和Unity基础使用介绍
说起IOC,可能很多初学者不知道是用来做什么的,今天正好有点时间,就来扫扫盲,顺便巩固下自己. IOC全称是Inversion Of Control,意为控制反转(这些自然百度也有),可什么是控制反转 ...
- unity基础命令
获取所挂脚本元素的组件: rd = GetComponent<Rigidbody>(); 获取其他元素的组件: rd = GameObject.Find("Player" ...
- 【Unity Shader学习笔记】Unity基础纹理-法线贴图
1 高度纹理 使用一张纹理改变物体表面法线,为模型提供更多细节. 有两种主要方法: 1.高度映射:使用一张高度纹理(height map)来模拟表面位移(displacement).得到一个修改后的法 ...
- Unity基础知识学习笔记二
1,object Instantiate(object original,Vector3 position,Quaternion rotation) 克隆原始物体,并返回克隆物体. ...
- Unity基础知识学习笔记一
1,Unity 4.5.4这个版本,在打包ios应用程序的时候.会生成一个xcode工程,但是这个工程无法在xcode6上变异,无法生成ios8上发布.所以unity在ios8发布3天内就发了4. ...
随机推荐
- [DDD]學習筆記 第15章 精煉(Distillation)
核心領域(Core-Domain) 為了使領域模型成為企業真正的資產, 模型中的關鍵核心部份需要足夠靈活和充分利用來創建應用程序的功能; 簡而言之, 核心領域是系統中最有價值的部份. 濃縮模型, 將最 ...
- SQL命令行操作
命令行操作(mysql.exe) 0.登录 : mysql -u root -p 1.显示数据库列表: show databases; 2.选择数据库: ...
- NLog学习笔记二:深入学习
配置文件 NLog所有的配置信息都可以写到一个单独的xml文件中,也可以在程序代码中进行配置. 配置文件位置 启动的时候,NLog会试图查找配置文件完成自动配置,查找的文件依次如下(找到配置信息则结束 ...
- C#之Clone
因为类的实例是引用类型,要想用原有的类中的实例的数据的话,既要想创建原对象的一个副本的话,只能用clone方法. Clone方法分为深clone和浅clone 在C#中提供了浅clone的方法,即为M ...
- Ubuntu 网速显示,ssh配置
安装: sudo apt-get install python3-psutil curl git gir1.2-appindicator3-0.1git clone https://github.co ...
- iframe跨域上传图片
方案一:用jquery的$.post异步提交,然后把返回来的值用jquery填充到隐藏域中.可是$.post不支持跨域. jQuery.ajax()支持get方式的跨域,这其实是采用jsonp的方式来 ...
- oracle多表查询和子查询练习
--1.列出至少有三个员工的所有部门和部门信息. SELECT D.DEPTNO, D.DNAME, D.LOC, T.COUNTS FROM DEPT D, (SELECT DEPTNO, CO ...
- c#语言自增自减运算符深入剖析
C语言的++和--对于初学者来说一直都是难题,甚至很多老手也会产生疑惑; 最大的问题在于 ++可以放在变量后面,也可以放在前面; 如 i++; ++i; 自减运算符与++原理一样,只是变量变价为减而已 ...
- vue2.0高仿饿了么better-scroll
首先安装better-scroll npm i better-scroll -S goods页面模板 <template> <div class="goods"& ...
- 框架: namespace和use的区别以及使用注意项
我们在使用框架的时候,总会使用到namespace和Use这两个东西,我们先来看它们存在的意义 namespace:是指我们当前类中,所在的位置.使用namespace关键字的话,我们就可以达到效果: ...