Unity基本操作

摘要:
主要内容:C#学习Unity项目砌砖:BreakBricksUnity操作Unity操作:调试冲突触发视角键盘视角转换光地图游戏对象访问对象实例化对象获取移动交互式鼠标输入键磁盘输入调试组件对象的调试。函数中的Log(…)”可以实现调试检测,例如:“`publicclassPlayer:MonoBehavior{//Usethis

主要内容:

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基本操作》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CentOS增加硬盘response的响应头相关方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Unity中嵌入网页插件Embedded Browser2.1.0

背景 最近刚换了工作,新公司不是做手游的,一开始有点抵触,总觉得不是做游戏自己就是跨行了,认为自己不对口,但是慢慢发现在这可以学的东西面很广,所以感觉又到了打怪升级的时候了,老子就在这进阶了。 一进公司他们使用H5开发,做一款地形信息系统的软件,基于Unity开发,但是所有页面都是Js写的,所以我第一件事要做的是实现Unity嵌入网页,并实现交互。 在这里...

UE4/Unity绘制地图基础元素-面和体

前言 绘制地图基础元素-线(上篇) 绘制地图基础元素-线(下篇) 搞定地图画线之后,接下来就是绘制面和体了: 面作为地图渲染的基本元素之一,在地图中可以代表各种形式的区域,例如海面、绿地等。面数据通常以离散点串形式存储,因此渲染时最关注的是如何将其展现为闭合的图形。 体可以理解为带有高度的面,在地图中代表各种建筑,通常是由其顶部面数据和高度数据处理得到。...

unity3D游戏开发十四之NGUI一

转:http://blog.csdn.net/kuloveyouwei/article/details/23676039 在Unity中,可以使用代码控制其自身所携带的GUI来实现图形界面的搭建。但是这些组件的搭建效率很低,而且已经无法满足现在市场对图形用户界面美感的要求,所以,引入了NGUI来增加所要开发的图形用户界面的美感。NGUI是一个功能强大的UI...

关于Unity中的新手编码技巧

写代码遇到报错,问题怎么办?怎么查看unity代码的接口?函数参数不记得了怎么办? 解决方法: 1.选择不懂的函数或类,按F12,跳转到代码的定义,自己去看就可知道了。 2.有的时候,选择一个函数,按F12想跳转去看定义,结果跳不过去,这是因为还有一些名字和它一样但是参数不一样的函数在定义附近,编译器不知道要跳转到哪个函数给你看,就出错了。  这时候就先跳...

【Unity优化】图形优化系列02:CPU优化

CPU在渲染管线中的工作 1)检测需要被绘制的对象 2)准备发送给GPU的指令 3)向GPU发送指令 多线程渲染 0)Unity 包含三种线程类型:主线程、渲染线程、工作线程 1)主线程:大部分的CPU工作,和部分渲染任务 2)渲染线程:专门用于CPU向GPU发送指令 3)工作线程:执行单独的任务(比如剔除、网格蒙皮) 4)不是所有平台都支持多线程渲染 多...

[zz]使用unity制作雨滴涟漪效果

之前看了以前版本的unity3d demo AngryBots ,觉得里面的下雨效果不错,刚好前段时间学习了,写出来跟大家分享下,直接开始。 使用自带动画系统制作下雨效果。 先制作下雨的雨滴涟漪 步骤1: 在 project中新建文件夹,命名为rainFX。将图片素材RainStreak及Ripple导入到rainFX文件夹中,创建一个plane,改名...