Unity入门:利用Unity制作ppt
来源:互联网 发布:网络安全保密心得体会 编辑:程序博客网 时间:2024/05/21 05:21
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、之后写一个脚本,代码如下:
using UnityEngine;using System.Collections;public class pptcontrol : MonoBehaviour { public GameObject camera1; public GameObject player1; public GameObject 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入门:利用Unity制作ppt
- 【unity】利用sqlite制作排行榜
- 【Unity】unity 日历制作
- Unity中利用NGUI制作简易字体
- 利用unity 制作贪吃蛇小游戏
- Unity入门
- Unity入门
- Unity入门
- unity入门
- unity入门
- Unity入门
- unity入门
- Unity入门
- unity打开Excel/Word/PPT
- Unity手机开发之巧妙利用纹理制作滚动背景
- 我的Unity(5)一点一滴 利用贴图制作弹痕
- 【Unity】3.2 利用预设(Prefab)制作可复用的组件
- ROLL A BALL (Unity 3D 入门) 游戏制作指导
- 渲染流程记录
- Android 基础学习笔记之从头开始篇
- POJ 1163 The Triangle【DP】递归和递推
- CSS 选择器学习小记
- 深入理解Java内存模型系列(六)——final
- Unity入门:利用Unity制作ppt
- String,StringBuffer,StringBuilder三者区别
- gdb调试多进程和多线程
- Genymotion镜像下载慢解决方法
- POJ3252-Round Numbers
- 洛谷 1144 最短路计数
- 详细整合SSM以及整理所需要的jar包
- virtualbox中的linux共享文件的步骤
- Flink-CEP论文与源码解读之状态与状态转换