unity4.3.4firedrillonline项目首次整合问题总结

零。资源导入后把所有资源模型拖到场景中去,并reset Transform,使场景展现原有样子。

一。资源导入之后发现项目场景是黑的,添加灯光之后场景中大部分仍然是黑的(并没有光照的效果)

可能原因:场景模型使用了skyshop插件

  1,然后添加GameObject-> CreatOther下面的Sky和Sky Manage

  2,将Sky中的sky脚本下的HDR选为要使用的天空盒,除了HDR选项其他取消勾选(因为要使用unity自带的天空盒)

  3,使用unity默认天空盒  Edit->RenderSetting在sky Material选择材质

二。导入之后树木等材质/贴图丢失

可能原因:资源导入时材质/贴图丢失或者损坏,找到材质/贴图文件重新导入(替换)

三。视角调整,灯光添加

该项目中,游戏运行之后主相机自动寻找Target游戏对象,所以适当调整Target的位置以及相机的角度。

需要添加两个平行光,调整颜色,强度,阴影,层级

四。场景初步检查

查看场景中是否有常规错误,比如树长在马路上。

五。自动寻路与场景烘焙

注意事项:

  1,由于unity5.6之前版本点击烘培(Bake)后会把选中的部分全部重新烘焙一边,比较费时间,所以把所有该烘培的根据需要全部勾选完成之后在进行烘培(之后有问题再修改)。不需要烘焙的地方不要烘焙。

  2,烘培时在需要烘培的对象的inspector右上角的Static勾选为Navigation Static(或者Window->Navigation打开Navigation面板勾选Navigation Static,效果是一样的),不过反正要打开Navigation 面板就用后者吧..OffMeshLink Generatic选项不要勾选(这个是控制不连续寻路的,比如说两个烘培过的plane中间有一段没有烘培过的距离然后在jump distance设置距离后就可以跳过去。因为场景不是一整块地形,所以这个最好不要勾选,勾选后可能会导致一些部分烘培时不能很好地连接上)

  3,烘焙参数与层级:烘焙参数用默认就可以,Radius:0.3,Height:0.5,Layer默认有Default层(室内烘焙为这一层),Not Walkable层,Jump层
根据需要添加烘焙层,该项目草地以及建筑外平台为ren层,行车的地方为shiwai层(烘焙结束后可以看到不同的层烘焙颜色
是不一样的,Default层时浅蓝色)。
  4,脚本控制可寻路层级:Default层2^0,Not Walkable为2^1,Jump为2^2,以此类推。根据这个用脚本来控制角色是否可以在某层移动。现假设
有四层,则有1+2+4+8=15,若要求角色不可以在Default层走,则将数值设为15-2^0=14。当然这个数值是在角色的NavMeshAgent
组件下,如 this.GetComponent<NavMeshAgent>().walkableMask =14;MaskWalkable即为设置的角色可寻路层级。
注意:******烘焙完成后要将烘焙完的游戏对象Inspector面板右上角的Layer设为相应的寻路层级******
Tip:假如发现有些地方烘焙没有连接上(确定场景模型没有太大问题,比如墙体跟地面做成一个整体)可是在相应位置创建Plane或者Cube将
其连接,如果为不同层级连接处还要设置Plane/Cube的层级。之后将这些Plane/Cube设为不可见并放到同一个空对象下统一管理。
能走的地方烘焙,不能走的不要烘,比如说马路牙子,比如说电梯扶手。

  烘焙完成后不能自动寻路问题总结:

  (1)烘焙场景上添加了collider,可以触发射线碰撞检测。

  (2)该烘焙过的场景的Layer在寻路层级上

  (3)该游戏对象是否可以在该场景上所设置的层级上移动
六。添加安全出口UI

在该项目里这个只要挂一个脚本,(也就是动态添加一个组件)挂在出口模型的父对象上。脚本如下:

public class AddExitUI : MonoBehaviour
{
    public GameObject SafeInOutButton;
    private GameObject Exitfather;
    void Awake()
    {
        Exitfather = this.transform.gameObject;
        foreach ( Transform child in Exitfather.transform)
        {
            if (child.gameObject.GetComponent<UpOrDownWindPortSet>())
            {
                child.gameObject.AddComponent<UpOrDownWindPortSet>();
            }
            child.gameObject.AddComponent<UpOrDownWindPortSet>().safeInOutPort_UI = SafeInOutButton;

        }
    }
}

七。楼层控制

该版本没有考虑多栋建筑楼层分别控制。

  1,基本控制:该项目里楼层控制是在Loucengmessage脚本里实现的,只需要适当修改下楼层数以及UI显示的楼层信息就可以。

  2,楼号控制:

    (1)导入楼号模型,删掉多余,调下位置

    (2)修改名称,注意大小写,与代码匹配

    (3)添加Collider,否则无法触发点击事件

    (4)依次添加loucengmessage脚本

八。Clone游戏对象

不能clone游戏对象的可能原因与不能寻路类似

  (1)clone地点(鼠标点击地点)是否有collider接受射线碰撞

  (2)脚本中使用的Tag决定是否可以克隆,所以要为场景中的游戏物体设置相应的Tag

九。smoke粒子添加

首先在AllScenes下添加一个smoke空对象(这个也要与脚本匹配大小写),然后根据层数创建子对象,然后根据每层需要创建粒子系统

这里注意一下粒子系统离地面高度,用shape控制粒子系统发射形状(预设的box形状就可以),q、w、e、r控制transform,Max Particles控制最大发射数量,Emission

控制发射频率,Start Speed控制粒子移动速度。

十。目标位置调整

营救成功需要有一个mubiao空对象,用来记录成功后被营救人员以及玩家的位置,设置position.y比地面低2.8

十一。小地图shader问题

重新导入丢失的shader文件,在UIroot中选中小地图的的材质,然后将shader文件拖入材质中丢失的地方。调整target位置,使主建筑位于小地图中间位置。调整target时,注意target下的upanddowncamera脚本的Ymin小于其y值,否则不能上下移动摄像机。

时间: 2024-12-21 01:08:07

unity4.3.4firedrillonline项目首次整合问题总结的相关文章

java S2SH项目框架整合搭建实例教程

原创整理不易,转载请注明出处:java S2SH项目框架整合搭建实例教程 代码下载地址:http://www.zuidaima.com/share/1787220771113984.htm 现在开发的一个项目使用S2SH框架,配置环境用了一两天,现在把当时配置环境时写的文档整理下发出来,也算加强点记忆. 1 开发环境 ?         MyEclipse5.5 ?         JDK 1.6 ?         Java EE 5.0 ?         Tomcat6.0 ?      

django之创建第11个项目-页面整合

目的:将如下众多html页面整合到一个index.html页面中. 百度云盘:django之创建第11个项目-页面整合 用下面的方式实现: <!DOCTYPE html> <head> <meta charset="UTF-8"> <title>站点主页</title> <!--去掉超链接中的下划线--> <style>a{TEXT-DECORATION:none}</style> <

maven web项目中整合ssm框架(连接Mysql数据库)

前面说完怎么样创建maven web项目,这篇继续向web项目中整合进ssm(spring+springmvc+mybatis)的框架. 先发个目录图片,让萌新们知道下面提到的文件是创建在什么地方. 1.web.xml文件 修改如下: <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/

做好Unity4.x开发项目规划

1. 是否要用lua 2. (对于需操作的游戏)客户端游戏如何做战斗验证 下面列举小坑吧.不建议都绕开,毕竟没有那么多时间做前期调研的. 对应版本Unity4.x 1. 客户端程序层面 总的来说C#超级给力的,不过别玩脱了 1) mono虚拟机gc Unity的mono虚拟机使用不分代的gc算法,临时对象积攒起来,导致重量级GC游戏频繁卡顿. Unity官方:认真review每帧20B以上,以及一次2K以上的GC Alloc的行为.传闻:Unity5会改进. 推荐阅读:Gamasutra: We

Spring(一):概述,IOC(Bean管理),整合Web项目,整合JUnit单元测试

1 Spring框架的学习路线 Spring第一天:IOC容器(Bean管理),Spring与Web项目整合 Spring第二天:AOP(面向切面编程),Spring的JDBC模板 Spring第三天:Spring的事务管理,SSH整合开发 2 Spring的框架概述 2.1 什么是Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and

java S2SH项目框架整合搭建实例教程(转载)

现在开发的一个项目使用S2SH框架,配置环境用了一两天,现在把当时配置环境时写的文档整理下发出来,也算加强点记忆. 1 开发环境 ?         MyEclipse5.5 ?         JDK 1.6 ?         Java EE 5.0 ?         Tomcat6.0 ?         Struts2.1.6 ?         Spring2.5.6 ?         Hibernate3.3.1 2 为ssh做好准备 2.1下载包 ?         Strut

activiti和SSH项目做整合

最近因公司的业务需求,需要使用工作流来做我们业务中的流程审批工作,so 就安排我做了这个工作,发现整合的时候有一些问题,及时的记录下来分享给大家. 介绍: 一.如果你的web项目只是单纯的web项目那么只需要将对应的jar包放到lib下构建一下即可 二.如果你的web项目是maven项目那么这里就需要在pom.xml中配置一下依赖包了,我们的项目就是maven项目所以这里重点介绍一下 1.在pom.xml <dependencies></dependencies>这个节点里面加入依

SSM项目与Shiro项目的整合(单体式项目)

1.项目的包结构: 2.jar包,配置文件及工具类 2.1pom.xml的配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=&qu

首次整合struts2+spring 提交表单后报的500错误

spring+struts2整合,做了一个用户登陆的测试程序,附下配置文件片段  <constant name="struts.objectFactory" value="spring"/>  <package name="struts-config" namespace="/" extends="struts-default">   <action name="lo