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面 ...
随机推荐
- HDU - 2044 - 一只小蜜蜂...(dp)
题意: 如题 思路: 仔细观察图 1-4和3-6其实是一样的答案,那么所有的方案都可以相减,意思为全部转化为从1开始 剩下的就是观察规律,仔细观察5号,能到5号蜂房的只有3和4,3和4到5号蜂房只有一 ...
- page对象的使用及常见方法
page对象的使用及常见方法 制作人:全心全意 page对象代表JSP本身,只有在JSP页面内才是合法的.page对象本质上是包含当前Servlet接口引用的变量,可以看作是this关键字的别名. p ...
- Mac 当xampp里mysql无法启动的解决办法
sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start
- 使用HTML5 Canvas API
一.检测浏览器支持情况 HTML5 Canvas的确是一个好东西,但是并不是所有浏览器都支持HTML5 Canvas的,这就要求我们在使用HTML5 Canvas前要检查浏览器是否支持这玩意儿. 在创 ...
- 添物零基础到大型全栈架构师 Java实战及解析(实战篇)- 概述
实战篇是在基础之上,进一步提升的内容.通过实战篇可以深入理解Java相关框架和库的使用,能够独立开发小模块,或者按照架构师的指导进行代码编写和完善. 主要讲解核心框架和库的使用和使用场景介绍.通过 ...
- POJ——T3417 Network
http://poj.org/problem?id=3417 Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 5294 A ...
- P3372 【模板】线段树 1 洛谷
https://www.luogu.org/problem/show?pid=3372 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.求出某区间每一个数的和 ...
- Spring MVC 4实现RESTFul WebServices的CRUD实例和使用RestTemplate进行请求(全注解形式配置Web和Filter)
在这篇文章中,我们将使用Spring4 MVC编写一个CRUD RESTful Web服务,写一个REST客户端RestTemplate来使用这些服务.我们也将利用外部客户端测试的服务. 下面将展示核 ...
- Android开发:Eclipse中SqliteManager插件使用
通常开发Android的时候要使用到数据库操作,会遇到下面小问题: 数据库文件在哪?怎样訪问或操作? 能够通过:打开DDMS->File Explorer看到的sqlite数据库在eclipse ...
- Python中range和xrange的异同之处
range 函数说明:range([start,] stop[, step]).依据start与stop指定的范围以及step设定的步长,生成一个序列. range演示样例: >> ...