Unity3D创建简单漫游-下

uke 的头像

修改视角控制键为右键

16. 打开Project区域中的StandardAssets下的CameraScripts下的MouseLook脚本,在

在 Quaternion originalRotation;

void Update ()

{

if (axes == RotationAxes.MouseXAndY)

{

// Read the mouse input axis

中添加一行代码修改为

Quaternion originalRotation;

void Update ()

{

if(Input.GetAxis ("Fire2")==0) return;

if (axes == RotationAxes.MouseXAndY)

{

// Read the mouse input axis

如何取消浏览窗口上的右键菜单

只要设置Unity对象的参数即可禁止右键菜单的显示,如下:

<object id="UnityObject" classid="clsid:444785F1-DE89-4295-863A-D46C3A781394"

    width="600" height="450"

codebase="http://webplayer.unity3d.com/download_webplayer/UnityWebPlayer.cab#version=2,0,0,0">

    <param name="src" value="MyDataFile.unity3d" />

    <param name="disableContextMenu" value="true" />

    <embed id="UnityEmbed" src="MyDataFile.unity3d" width="600" height="450"

        type="application/vnd.unity" pluginspage="http://www.unity3d.com/unity-web-player-2.x"

        disableContextMenu="true" />

</object>

植物效果设置

17. 对于单面片的植物效果,需要设定其材质为Transparent/VertexLit类型,并为其添加公告板脚本

设定前

设置材质类型为Transparent/VertexLit类型,如下

给单面片植物添加公告板脚本的方法是先选择该植物,然后点击菜单component下的scripts下的camera Facing Billboard即可,如下

设置材质类型和添加公告板脚本后,如下

如果没有该脚本组件,可以打开脚本编辑器,拷贝如下代码到脚本中,保存到Assets\Scripts下,命名为CameraFacingBillboard.cs即可

using UnityEngine;

 using System.Collections;

  

 public class CameraFacingBillboard : MonoBehaviour

 {

    public Camera cameraToLookAt;

 

void Start()

 {

 cameraToLookAt = Camera.main;

 }

  

    void Update() 

    {

        Vector3 v = cameraToLookAt.transform.position - transform.position;

        v.x = v.z = 0.0f;

        transform.LookAt(cameraToLookAt.transform.position - v); 

    }

 }

18. 对于十字交叉的植物,需要将其材质设定为Nature/Vegetation Two Pass unlit类型

设置前的效果

设置后的效果

水面效果的设置

19. 创建一个网格面片

20. 给该水面面片设置水材质和水脚本,如

即可

烘培光影贴图的处理

21. Unity3D光影烘培的要求

U3D的光影贴图使用的是3Dmax中的标准材质的自发光贴图通道来存储光影贴图相关参数,如

22. 给每个物体都附上贴图,如果是纯色物体,也付给纯色贴图

23. 打光后,选择要烘培的物体

设置输出路径

添加烘培输出的贴图类型

添加“LightingMap”类型

设置烘培贴图大小和目标贴图位置为“自发光”

设置烘培材质,选择“输出到源”

点击“渲染”即可

24. 标准材质贴图的烘培光影处理

a) 物体据有标准材质

b) 烘培渲染后,物体具有两个贴图

c) 导出Fbx即可

25. 多重子材质贴图的烘培光影处理

a) 物体据有多重子材质贴图

b) 渲染烘培后每个子材质都据有两个贴图

c) 选择该物体,执行“多维材质2标准材质.ms”脚本,将该多维材质物体按其材质数量分解为标准材质的多个物体,新物体的名字以“原多维材质物体名字~其材质名称”命名,如

点击“开始转换”,则将该物体从多维材质物体按期子材质分解为多个具有标准材质的物体

d) 将全部的具有多维材质类型的物体分解完成后,即可导出

26. 多个物体使用同一贴图的烘培光影处理

因为我们在导入fbx文件到Unity3D编辑器中的时候,使用的都是按贴图来生成材质文件,所以多个物体使用同一贴图时会发生错误,修改其中任何一个的材质设置时,其他的使用该贴图的物体都会受到影响,解决的方法便是在Unity3D编辑器中生成一个具有该贴图的新材质,然后重新付给当前物体。

27. 在U3D编辑器中修改物体的材质类型为光影贴图

设置物体的材质类型为Lightmapped/Diffuse

根据物体的名称将对应的光影贴图拖动到Lightmapp域,其中标准材质物体的光影贴图名称是“其物体名称LightingMap.tga”;从多维材质类型转换过来的物体的光影贴图名称是“其物体名称中~符合前的部分LightingMap.tga”

如何制作连续加载的场景漫游

28. 场景被分解为多个部分,起始场景比较小,启动后,提示继续下载其他场景,下载一个显示一个

 

本书转自:http://wenku.baidu.com/view/88d1c99951e79b89680226a2.html
版权归原作者所有