Unity3D官方案例1-星际航行游戏Space Shooter
【1】学习中的使用的类
1.Input:使用此类读取常规游戏设置中的轴,访问移动设备的多点触控和加速度。
本例使用到的方法:
GetAxis(string axisName):获取键盘和操纵杆的输入,用于连续移动。在Unity中Edit > Project Settings > Input获取axisName。
本例使用的axisName:“Horizontal”“Vertical”,获取水平和垂直方向的输入。
bool GetButton(string buttonName):获取虚拟按键的输入,用于单次输入。buttonName与axisName相同。
bool GetKeyDown(string name):获取按下键位后反馈的结果,通常与秘钥代码KeyCode连用。
2.Rigidbody:通过物理模拟控制物体的位置。
本例使用的属性:
public Vector3 velocity:刚体的速度矢量。
public Quaternion rotation:刚体的旋转。接收四元数,通常与Quaternion.Euler一起使用。
Vector3 angularVelocity:刚体的角速度矢量,本例中与Random.insideUnitSphere连用表示刚体以一个随机角度旋转。
3.Mathf:常用数学函数的集合类。
本例使用的方法:float Clamp(float value, float min, float max):把值限制在最大值和最小值之间,超出范围按照给定的最大值和最小值显示。本案例用于固定游戏的边界。
4.Quaternion:表示旋转的四元数。
本例使用的方法:
Quaternion Euler(float x, float y, float z):接受X、Y、Z轴旋转角度的值为菜蔬,并返回一个Quaternion对象。
5.Object:Unity所有可引用对象的基类。
本例使用的方法:
Object Instantiate(Object original, Vector3 position, Quaternion rotation):实例化一个克隆对象。
void Destroy(Object obj, float t = 0.0F):删除游戏对象。
6.Collider:所有碰撞器的基类。
本例使用的方法:void OnTriggerExit(Collider other):当碰撞器离开触发器时,调用此方法。
本例使用的属性:string tag:获取碰撞体的标签,通常用来标志和查询游戏对象。
7.Random:用于生成随机数据的类。
本例使用的属性:Vector3 insideUnitSphere返回球半径内随机一点的矢量
本例使用的方法: float Range(float min, float max):返回最小值和最大值之间的浮点数。
8.Transform:对象的位置,旋转和缩放。通常与position属性连用,表示游戏对象的位置。
9.AudioSoruce:3D中音频源的表示.通常用 Play, Pause and Stop来控制音频的动作。
10.Text:绘制字体数据到屏幕的默认图形。其text属性通常与Text组件中的内容关联。
11.Debug:开发游戏时简化调试的方法的类.本例中用其Log方法想控制台输出内容。
【2】学习中用到的组件
1.rigidbody 刚体:用于通过脚本为飞船添加作用力。其中常用的选项是Use Gravity,作用是为物体添加或删去重力。
组件内选项:angular drag:角速度阻力,决定物体旋转的持续性,如果需要一直旋转则将去设为0.
2.Mesh Colleder 网格碰撞器:使飞船和障碍物发生碰撞,并触发事件.需要勾选Is Trigger和Convex(凸面)选项,使其设为触发器。
备注:unity5以后不再支持非Kinematic刚体的非Convex网格碰撞体。
3.Material 纹理:初始为Default Material,可选其他模式。本例选择unlit中的Texture,意为不受光照影响的shader。
4.Capsule Collider胶囊碰撞体:形状形似胶囊,适合放在长条椭圆形物体上。
5.Audio Source音频组件:设置音频的效果
组件内选项:
Play on Wake表示音频在唤醒时自动播放。
AudioClip:音频的来源。
Loop:是否循环。
【3】unity中的对象
1.camera 摄像机:Projection选项为摄像机的投影方式,Orthographic为正交投影,通常用于2D游戏或者2D UI。
2.quad:边长为1个单位的正方形平面
【4】处理技巧
1.使用纹理图片时,应对比着图片的尺寸进行放大,比如1024*2048的图片,操作时在Transform中的Scale选项的XY值按照1:2设置。
2.添加了类之后,如果其中的公共属性未赋值,会报出NullRenferenceException错误,此时需要在了类的上面添加可序列化属性[System.Serializable]。
转载于:https://www.cnblogs.com/Mr-QingZi/p/10240978.html
Unity3D官方案例1-星际航行游戏Space Shooter相关推荐
- Unity官方案例之星际航行游戏(Space Shooter)学习总结
这几天我学习了<Unity官方案例精讲>的Space Shooter部分,这个案例作为刚刚学习Unity的入门还是不错的,这是整个案例的代码. 下面对我觉得比较常见的几个用法进行一下总结. ...
- 【初阶】unity3d官方案例_太空射击SpacingShooter 学习笔记 显示分数时,如何让函数之间相互交流...
[初阶]unity3d官方案例_太空射击SpacingShooter 学习笔记 显示分数时,如何让函数之间相互交流 一.关于 显示分数时,如何让函数之间相互交流 这是一个非常好的逻辑问题 1 思路:主 ...
- unity 彩带粒子_[Unity3D] 官方案例——粒子系统制作火焰效果
1. 导入资源 打开素材里面的Shuriken场景,然后通过菜单GameObject->Particle System创建一个粒子系统对象,并将物体移至火把位置,此时效果如下: 2. 设置粒子系 ...
- 将Unity官方射击游戏 Space Shooter 改为实时对战小游戏,使用天梯实时对战服务(NanoLink)
将Unity官方射击游戏(Space Shooter)改为实时对战小游戏,使用天梯实时对战服务(NanoLink) io 类型游戏如此热门,有没有蠢蠢欲动? 如何让自己的游戏快速实现可实时联机对战? ...
- python游戏-space shooter
第一步:构建基本框架 当前需要达到基本的模型: 2.构建屏幕大小,可移动敌人与可移动游戏角色. # pygame template - skeleton for a new python projec ...
- Unity3D星际航行游戏完整开发过程
一.准备工作 1.第一步 添加飞船:导入包--新建场景并保存场景--删除Done--Models倒数第二个拖入Main场景并命名为player--Transform(设置reset)--加组件(Add ...
- [Unity3D]Unity3D官方案例SpaceShooter开发教程
1.先导入SpaceShooter的环境资源,将Models下的vehicle_playerShip放到Hierachy窗口,改名为Player.Rotation x改为270,为Player添加me ...
- Unity3D官方案例 - 2DGame - 帽子接球
1.创建场景 2.创建Background和Foreground工作层 3.添加静态景物 1.导入静态图片 2.创建静态景物 1.创建sprite:sky 2.设置Position,纹理与层级 Sor ...
- 星际航行游戏流程(Unity 初学者)
第一节 创建工程 1.创建3D项目工程 创建一个文件夹,命名为_Scene 新建场景,然后保存[CTRL+S],将其命名为myscene 2.设置游戏窗口的大小 400*600 选择文件菜单,单击Bu ...
最新文章
- [企业化NET]Window Server 2008 R2[3]-SVN 服务端 和 客户端 基本使用
- springboot 请求路径有后缀_springboot指定访问url接口后缀:*.do或*.action
- 利用webSocket使网页和服务器通信
- English:daydayup
- 网络故障排除连载之七:设备兼容性故障排除
- CodeForces - 1455E Four Points(数学+几何)
- 第01讲:必知必会,掌握 HTTP 基本原理
- 关于单链表的头插法和尾插法
- PoE交换机不供电了该怎么办?
- 06-图1 列出连通集
- JAVA不能满屏_java – 全屏幕视频,不拉伸视频
- linux下C语言实现守护进程
- 浅谈压缩感知(十一):凸优化
- Allwinner(全志)V3s Camera sensor Support List
- python有道云笔记_Python自动同步有道云笔记到Hexo
- “抖快”拯救不了服装业,起死回生仍需依靠数字化
- 下载jupyterlab中的文件夹
- android高德地图关键字搜索,关键字搜索-POI搜索-示例中心-JS API 示例 | 高德地图API...
- TM1638模块驱动(stm32,可以显示led灯,数码管,按键操作)(包含全部功能)
- js中数组的几种循环方式
热门文章
- [禅悟人生]心不动才能真正认清自己
- “筑巢引凤”亦“固巢养凤”:上海科创办领导与人才代表彭垚云端共话人才引育
- msde2000修改服务器名,MSDE2000数据库怎么修改SA口令?
- 安装Ubuntu 20.04后要做的几件事(换源,精简,定制)
- 从零开始(温故而知新)
- 数据库原理——实验二《数据查询》
- 新浪小编为您介绍留声机的古与今
- 001,Python微信接龙脚本与腾讯会议定时挂网课脚本
- 仿淘宝购物车demo 增加和减少商品数量
- uni-app使用countdown插件实现倒计时