Unity入门:利用Unity制作ppt
2017-03-03 22:11
711 查看
Unity入门:利用Unity制作ppt
1、新建一个unity项目,在底部的assets下右键,import packeage,导入character controller模块,引入第一人称控制器。
2、把底部的assets/standard assets/character controllers中的first person controller.prefab拖到左上角的hierarchy栏中。点击三角,可以看见first person controller是由一个camera和一个模型组成的。
3、由于本身first person controller内部就有一个camera,于是删去一开始创建的那个Main camera,camera就是游戏运行时的视图。点击first person controller,在最右边的inspector的transform中的position可以调整位置,将其调整为0,0,0,同时也将其内部的main camera位置调整为0,0,0,双击main camera,就能看到其视野范围。之后在hierarchy中右键,创建一个3D object的Cube,将其位置调整为0,0,5,于是cube就出现在了视野中,点击最上面中间的控制器运行,就能够看到cube并且可以鼠标控制视角方向了。
4、但此时是处于下落状态,所以需要一个“地板”的物体来支撑,不过推荐在first controller的inspector中的character motor 脚本更改gravity值为0来实现停用重力。
5、之后可以创建出一个房间来容纳ppt画面,利用cube的位置、旋转和缩放实现。注意cube的长宽应是4:3或16:9,适应ppt的长宽。
6、之后在assets窗口中右键,create创建一个material,将材质球拖到每个墙中即可。在材质球的inspector中,将shader由standard改为particles–alpha blended,这样“墙”就变为了白色,
7、之后把ppt的图片拖到unity的assets中,然后再拖到墙上即可,如果需要ppt有动态展示效果,可自行编写脚本,动图支持3dsMAX等导入。
8、将main camera 的clear flags改成solid color,并调整为白色。运行后效果如下:(图片内容源自互联网)
9、为了使ppt看得更清楚,这里加上一个点击ppt就能放大到视角前的功能,需要写一些代码。
10、首先,将这些ppt所在的墙的名称进行更改,便于索引,在hierarchy中更改如改为ppt1,ppt2和ppt3。之后,新建一个camera,目的是检测正确的位置,调整camera,使一张ppt正好正对着完全显示,记下其位置、旋转和缩放数据,同理记下其他ppt。
11、之后写一个脚本,代码如下:
12、代码的作用是:利用射线检测的原理,当点击鼠标左键时,检测射线撞击到了哪个物体(相当于眼睛看到鼠标点击了哪个物体)。得到点击的物体对象,如果它的名字是ppt1,那么视角转换到ppt1面前,同理ppt2和ppt3也一样,转换的同时,player和camera的CharacterMotor以及MouseLook脚本全部使其失效,避免鼠标键盘操作移动ppt的视角,之后如果点击鼠标右键,则回到最初的视角,并启用CharacterMotor以及MouseLook。
后续
最后把项目导出至exe文件就可以使用了。
利用unity的切换场景功能可以实现更加高端的ppt展示方式,比如动画,演示互动等。 虽说用unity制作ppt有些大材小用,但实际上,从ppt图片变成unity项目并不需要太多时间,而且这也可能是一种展示方式的进步。
1、新建一个unity项目,在底部的assets下右键,import packeage,导入character controller模块,引入第一人称控制器。
2、把底部的assets/standard assets/character controllers中的first person controller.prefab拖到左上角的hierarchy栏中。点击三角,可以看见first person controller是由一个camera和一个模型组成的。
3、由于本身first person controller内部就有一个camera,于是删去一开始创建的那个Main camera,camera就是游戏运行时的视图。点击first person controller,在最右边的inspector的transform中的position可以调整位置,将其调整为0,0,0,同时也将其内部的main camera位置调整为0,0,0,双击main camera,就能看到其视野范围。之后在hierarchy中右键,创建一个3D object的Cube,将其位置调整为0,0,5,于是cube就出现在了视野中,点击最上面中间的控制器运行,就能够看到cube并且可以鼠标控制视角方向了。
4、但此时是处于下落状态,所以需要一个“地板”的物体来支撑,不过推荐在first controller的inspector中的character motor 脚本更改gravity值为0来实现停用重力。
5、之后可以创建出一个房间来容纳ppt画面,利用cube的位置、旋转和缩放实现。注意cube的长宽应是4:3或16:9,适应ppt的长宽。
6、之后在assets窗口中右键,create创建一个material,将材质球拖到每个墙中即可。在材质球的inspector中,将shader由standard改为particles–alpha blended,这样“墙”就变为了白色,
7、之后把ppt的图片拖到unity的assets中,然后再拖到墙上即可,如果需要ppt有动态展示效果,可自行编写脚本,动图支持3dsMAX等导入。
8、将main camera 的clear flags改成solid color,并调整为白色。运行后效果如下:(图片内容源自互联网)
9、为了使ppt看得更清楚,这里加上一个点击ppt就能放大到视角前的功能,需要写一些代码。
10、首先,将这些ppt所在的墙的名称进行更改,便于索引,在hierarchy中更改如改为ppt1,ppt2和ppt3。之后,新建一个camera,目的是检测正确的位置,调整camera,使一张ppt正好正对着完全显示,记下其位置、旋转和缩放数据,同理记下其他ppt。
11、之后写一个脚本,代码如下:
using UnityEngine; using System.Collections; public class pptcontrol : MonoBehaviour { public GameObject camera1; public GameObject player1; public G ad0b ameObject hitted; void Start () { camera1 = GameObject.FindGameObjectWithTag ("MainCamera"); player1=GameObject.FindGameObjectWithTag("Player"); } void Update () { if (Input.GetMouseButton (1)) { camera1.transform.position=new Vector3(0.0f,0.0f,0.0f) ; camera1.transform.rotation = Quaternion.Euler(0,0,0); player1.GetComponent <CharacterMotor>().enabled=true; player1.GetComponent<MouseLook>().enabled=true; } if (Input.GetMouseButton(0)){ Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hitinfo; if (Physics.Raycast (ray, out hitinfo)) { hitted = hitinfo.collider.gameObject; print (hitted.name); if(hitted.name=="ppt2"){ camera1.transform.position=new Vector3(0.0f,0.1f,-1.1f) ; camera1.transform.rotation = Quaternion.Euler(0,0,0); not_move_not_look(); print ("turning ppt2");} if (hitted.name=="ppt1"){ camera1.transform.position=new Vector3(-1.752f,0.126f,-1.0564f) ; camera1.transform.rotation = Quaternion.Euler(0,90,0); not_move_not_look(); print ("turning ppt1"); } if (hitted.name=="ppt3"){ camera1.transform.position=new Vector3(2.0346f,0.12603f,1.0564f) ; camera1.transform.rotation = Quaternion.Euler(0.0f,-90.0f,0.0f); print ("turning ppt3"); not_move_not_look(); } } }} void not_move_not_look(){ player1.GetComponent <CharacterMotor>().enabled=false; player1.GetComponent<MouseLook>().enabled=false; } }
12、代码的作用是:利用射线检测的原理,当点击鼠标左键时,检测射线撞击到了哪个物体(相当于眼睛看到鼠标点击了哪个物体)。得到点击的物体对象,如果它的名字是ppt1,那么视角转换到ppt1面前,同理ppt2和ppt3也一样,转换的同时,player和camera的CharacterMotor以及MouseLook脚本全部使其失效,避免鼠标键盘操作移动ppt的视角,之后如果点击鼠标右键,则回到最初的视角,并启用CharacterMotor以及MouseLook。
后续
最后把项目导出至exe文件就可以使用了。
利用unity的切换场景功能可以实现更加高端的ppt展示方式,比如动画,演示互动等。 虽说用unity制作ppt有些大材小用,但实际上,从ppt图片变成unity项目并不需要太多时间,而且这也可能是一种展示方式的进步。
相关文章推荐
- Unity中利用NGUI制作简易字体
- 利用LaTeX制作个人简历的入门笔记
- unity 利用ugui 制作技能冷却效果
- 利用PPT,10秒制作公众号头
- 制作 JS 广告的简易入门(二)利用 CSS3 技术制作广告
- 我的Unity(10)一点一滴 利用UI制作摇杆控制物体移动
- 我的Unity(5)一点一滴 利用贴图制作弹痕
- Unity学习小结5 - 利用BMFont制作美术字及要点注意
- java入门实例之小试牛刀--利用Scanner制作个人简历
- unity加kinect2.0拍照和利用RPC图片传输制作照片墙问题
- 利用Unity制作“表”
- ROLL A BALL (Unity 3D 入门) 游戏制作指导 - 滚珠游戏介绍
- PPT竞赛课件制作教程-PPT利用触发器制作摘苹果游戏课件...
- 【unity】利用sqlite制作排行榜
- Unity利用CardBoardVR制作(二)一个简易的全景相册和视频
- 利用unity 制作贪吃蛇小游戏
- ROLL A BALL (Unity 3D 入门) 游戏制作指导 - 移动游戏对象
- java入门实例之小试牛刀--利用Scanner制作个人简历
- Unity手机开发之巧妙利用纹理制作滚动背景
- 利用VBA编程制作互动效果的PPT