当前位置:   article > 正文

Unity基础学习_unity f1c1和f1有什么区别

unity f1c1和f1有什么区别

Unity版本:2021.2.0f1c1
这个版本的terrian不知道怎么添加texture

1.基础知识

  1. scene面板,场景面板
  2. game面板,游戏实际运行时的场景。
  3. console面板,程序出问题时可进行调试的地方。
  4. project面板,项目面板
  5. hirerarchy面板,场景资源面板
  6. inspector面板,组件面板
    游戏对象都是由组件组成的,组件决定了游戏对象的大小,颜色,形状等。组件可以理解为游戏对象的属性。
  7. prefab,预制(克隆),在Assets中创建,拖到Hierarchy面板。
  8. static GameObject Instantiate():常用于对预制体进行克隆。
  9. static void Destory():常用于销毁物体。

2.一些小操作

  • 移动视角:按住右键WASD,QE,E是向上,Q是向下。
  • 快速定位物体:hierarchy面板选中物体,scene面板按F自动锁定物体。
  • 改布局:右上角default那可改布局,一般改成2by3。
  • 摄像机对其当前视图:GameObject→Align with View。或ctrl+shift+F。
  • Unity脚本与VS的C#匹配:Edit→Perference→Extentional tools→External script Editor。

3.创建地形

1.如何创建:

创建地形:GameObject→3D Object→Terrain


4.摄像机使用

1.常用属性:

  • Culling Mask:消隐遮罩,确定哪些层的物体会被显示。一般结合物体的Layer使用。
  • Field of View:视野。
  • Clipping Planes:裁剪面。摄像机采入的场景是有一定范围的,类似一圆台。有near和far两个参数,调整之后,场景会看起来像被裁剪一样。
  • Viewport Rect:规范视口矩形。规范相机输出画面所站game画面的位置与大小。

2.如何让摄像机一直跟随物体,即游戏画面跟随游戏物体移动?

将摄像机设为物体的子物体。


5.碰撞检测

void OncollisionEnter(Collision co)
{
}
  • 1
  • 2
  • 3

关于上述方法的一些总结


6.鼠标

1.鼠标常用操作

  • void OnMouseEnter():鼠标进入
  • void OnMouseExit():鼠标移出
  • void OnMouseDown():鼠标点击
  • void OnMouseUp():鼠标抬起
  • void OnMouseDrag():鼠标拖拽

7.GUI

GUI:Unity为开发者提供的完备的图形化界面引擎,包括游戏界面、文本框 、输入框、按钮等。

1.Button:

  • GUI Label:标签
  • GUI RepeatButton:激活按钮
  • GUI TextField:单行文本框
  • GUI PasswordField:密码框
  • GUI TextArea:文本域
  • GUI Toggle:开关
private string str=" ";
void OnGUI()
{
   //GUI.Button返回的是bool类型
   if(GUI.Button()){}
   //GUI.RepeatButtton()可用于长按一个按键的情况
   if(GUI.RepeatButton()){}
   //一般定义一个字符串来实时刷新文本框的内容
   str=GUI.TextArea(position,str)
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

TextField和PasswordField

2.GUI不包含Button定义的问题

  • 代码没问题,先改编码格式试试,往往出现奇怪的问题都是编码格式的问题,再看看是否引入了using UnityEngine;是否继承了MonoBehaviour
  • 是不是你的文件名就起了GUI ,然后类名也是GUI ,后面再用GUI 肯定显示没定义阿

3.GUI布局

因为不同电脑分辨率不同,一般使用GUILayout布局
线性布局:

  1. 水平线性布局:
    BeginHorizontal()
    EndHorizontal()
  2. 垂直线性布局:
    BeginVertical()
    EndVertical()

8.阴影烘焙

要求对象不动,且场景已保存


9.Application常用方法

static void LoadLevel(int index)
static void LoadLevel(string name)
static void CaptureScreenshot(string fileName)//截屏
static void OpenURL(string url)
static void Quit()
  • 1
  • 2
  • 3
  • 4
  • 5

1实现场景切换

  1. 创建多个场景
  2. 对场景们添加脚本
  3. 打开File→BulidSettings,将场景拖入Scenes in Build中

10.射线

void upDate()
{
	if (Input.GetButtonDown(0))//鼠标左键按下
	{
		//从摄像机到鼠标点击的位置
		Ray ray=Camera.main.SreenPointToRay(Input.mousePosition);
		//获得射线的碰撞信息
		RaycastHit hitInfo;
		//发射射线,并当发生碰撞的时候,将信息存储到hitInfo中
		if(Physics.Raycast(ray,out hitInfo))
		{
		//销毁碰到的游戏物体
			Destroy(hitInfo.collider.gameObject);
		}
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/106866
推荐阅读
相关标签
  

闽ICP备14008679号