Unity基本操作
主要内容:
- C#学习
- Unity项目
- 打砖块:BreakBricks
- Unity操作
Unity操作:
调试
在某函数内进行`Debug.Log(...)`可实现调试检测,例如:
```
public class Player : MonoBehaviour {
// Use this for initialization
void Start () {
Debug.Log("Hello");
}
// Update is called once per frame
void Update () {
Debug.Log(" World");
}
}
//在控制台查看调试信息
<h2 id="2">碰撞体</h2>
前提:碰撞两者都有碰撞器 Collider ,至少一物体有刚体 Rigidbody(详细前提见 [Unity-Manual-Colliders](https://docs.unity3d.com/Manual/CollidersOverview.html) )
// 碰撞触发检测
private void OnCollisionEnter(Collision collision)
{
print(collision.collider); //获取碰撞体+碰撞器类型
print(collision.collider.name); //碰撞体名称
print(collision.collider.tag); //碰撞体标签
}
// 碰撞结束检测
private void OnCollisionExit(Collision collision)
print("OnCollisionExit");
// 碰撞持续检测
private void OnCollisionStay(Collision collision)
print("OnCollisionSaty");
<h2 id="3">触发器</h2>
存在于碰撞体collider页面栏,勾选is Trigger 则表示物体为触发器(可以穿过),否则物体为碰撞体。
<h2 id="4">视角</h2>
游戏视角的移动
<h3 id="4.1">键盘视角平移</h3>
对`Main Camera`创建脚本,在`Update`内调用:`transform.Translate()`实现视角移动
<h2 id="5">光照贴图</h2>
灯光是实时计算的(默认设置:`Light|Mode|Realtime`),对不变动的灯光进行贴图可以节省资源,在`Windows|Rendering|Lighting Setting` 打开了`Lighting Setting` 页面点击 `Generate Lighting` 实现灯光贴图。
<h2 id="6">游戏对象</h2>
关于Gameobject的一些列操作
<h3 id="6.1">访问对象</h3>
在脚本内创建一个字段,例如子弹`bullet`:`public Gameobject bullet;`,在Unity页面通过将`Prefab`赋到脚本内`bullet`一栏,从而实现在脚本内通过`bullet`字段访问到`Prefab`。
<h3 id="6.2">实体化游戏对象</h3>
实例化用到了`GameObject.Instantiate(m_object, m_transform.position,m_transform.rotation)`
- GameObject.Instantiate():创建实体化函数
- m.object:所创建的预制体
- m_transform.position,m_transform.rotation:预制体位置及旋转角度,默认下为`transform.position,transrotation`说明地址为脚本所在对象的位置;也可自行修改
用法:
//创建对象 b 接收实体化的预制体 bullet
GameObject b = GameObject.Instantiate(bullet, transform.position, transform.rotation);
<h3 id="6.3">得到组件</h3>
//rgd 得到对象 b 的刚体组件
Rigidbody rgd = b.GetComponent();
<h3 id="6.4">对象的移动</h3>
<h2 id="7">交互类</h2>
<h3 id="7.1">鼠标输入</h3>
`Input.GetMouseButtonDown()`:读取鼠标按下情况,括号内容即为鼠标不同状态:
- 0:左键
- 1:右键
<h3 id="7.2">键盘输入</h3>
`Input.GetAxis("")`:返回键盘输入的浮点数值
- Horizontal:读取键盘AD左右移动的值(反映在Unity中的X方向)
- Vertical:读取键盘WS上下移动的值反映在Unity中的Y方向)
用法:`float h = Input.GetAxis("Horizontal");`
Unity基本操作的更多相关文章
- unity基本操作二
一:error1,先断网再启动点击Manual Activation点击Save License生成相应的alf文件2,联网打开https://license.unity3d.com/manual上传 ...
- Unity基本操作一
1,使对象进入摄像机镜头内align with view 2,太阳光 创建点point light,调节Intensity改变光照强度,上面的Range改变光照范围. 3,Animation选中Pla ...
- 【Unity游戏开发】SDK接入与集成——小白入门篇
一.简介 通常一款游戏开发到后期,一般都会涉及到第三方SDK的接入与集成,对于不熟悉SDK接入的同学来说,接SDK每次都是云里雾里,而熟悉SDK接入的同学又觉得不断地重复做接入SDK工作这样没有成就感 ...
- Unity游戏开发面试基础知识
面试第一次知识总结: 一.Unity基本操作 1.unity提供哪几种光源? 点光源.平行光.聚光灯.区域光. 2.物体发生碰撞的必要条件什么? 两个物体必须有碰撞体Collider组件,一个物体上必 ...
- 通过C#脚本实现旋转的立方体
一.介绍 目的:通过一个简单的例子(鼠标点击,使立方体旋转和变色)熟悉Unity中C#脚本的编写. 软件环境:Unity 2017.3.0f3 . VS2013. 二.C#脚本实现 1,启动Unity ...
- unity最基本操作
1. 2017.1.0 2017.1.1 2017.2.0 2017.3.4 5.5.3 p4 小版本号高出现bug可能性更小:一台电脑可以安装多个版本的unity,但是需要安装在不同路径:安装 ...
- 【Unity】2.0 第2章 Unity编辑器和基本操作
分类:Unity.C#.VS2015 创建日期:2016-03-26 本章要点: 1.掌握Unity 5.3.4编辑器视图和菜单项及其含义,这是入门的最基础部分,必须掌握. 2.了解最基本的操作,先学 ...
- Unity学习-软件的基本操作(二)
基本操作 1:Scene中 以小手显示,平移画布,与鼠标中键一样 2:平移 游戏对象,组件的 Position属性 也可设置 3:旋转 游戏对象,组件的 Rotation属性 也可设置 4:缩放 游戏 ...
- 关于一些初学Unity的基本操作和自己的理解
1.Scene面板操作: A.按住鼠标右键,拖动鼠标,可以旋转 B.鼠标滚轮前后滑动,前进后退 C.按下鼠标滚轮,拖动鼠标,可以拖动场景 D.在场景中选中物体,按F键或者在Hierarchy面 ...
随机推荐
- fread快读+fwrite快速输出
定义数组 char buf[1<<23],*p1=buf,*p2=buf,obuf[1<<23],*O=obuf; 读入 #define getchar() (p1==p2&a ...
- Linux学习笔记(二) 文件管理
了解 Linux 系统基本的文件管理命令可以帮助我们更好的使用 Linux 系统,以下介绍几个常用的文件管理命令 1.pwd pwd 是 Print Working Directory 的简写,用于显 ...
- Code128条形码如何计算其宽度?如何得出其校验位?
原文链接 Code128条形码是一个非常高密的字母数字条码,能够存储需要的编码数据,它可以编码所有128个ASCII码字符,它使用最少的空间. 在Code128符号体系中,每个数据字符编码都是由11个 ...
- react入门----事件监听
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Vue2.0如何实现父组件与子组件之间的事件发射与接收
关于vue2.0的事件发射和接收,大家都知道$dispatch和$broadcast在vue2.0已经被弃用了,取而代之的是更加方便快捷的方式,使用事件中心,组件通过它来互相通信,不管组件在哪一个层都 ...
- ansible roles例子
#理解 changed_when failed_when become become_user ansible_become ansible_become_user static #检查group_v ...
- 树上启发式合并(DSU on tree)
//heavy-light decomposition style .//http://codeforces.com/blog/entry/44351 int cnt[maxn]; bool big[ ...
- hdu_1024_糖果大战_201404021640
糖果大战 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- JNA调用库文件
最近项目中要集成厂商的卡口摄像头,需要通过jna调用库函数接收卡口相机抓拍的过车数据.本文记录了Java调用C语言动态库(jna)的调用方式.回调函数.结构体等. JNA全称Java Native A ...
- HDU——1576 A/B
A/B Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...