Example #1
0
    //增加位置节点
    void AddNodeObj(ItemInfo info, ItemPosInfo posInfo, EditorSceneObj sceneObj, bool isNew)
    {
        BaseItem baseItem = getBaseItemByID(info.itemID);

        if (baseItem == null)
        {
            return;
        }
        //加载资源
        GameObject obj = AssetDatabase.LoadAssetAtPath <GameObject>("Assets/" + baseItem.model + ".prefab");

        obj      = Instantiate(obj) as GameObject;
        obj.name = info.itemName;
        obj.transform.SetParent(sceneObj.rootObj.transform);
        obj.isStatic = true;
        if (posInfo != null)
        {
            obj.transform.position    = posInfo.pos;
            obj.transform.eulerAngles = posInfo.rotate;
            obj.transform.localScale  = (posInfo.scale == Vector3.zero)? Vector3.one:posInfo.scale;
        }
        else
        {
            obj.transform.position    = Vector3.zero;
            obj.transform.eulerAngles = Vector3.zero;
        }
        sceneObj.itemObj.Add(obj);
        if (isNew)
        {
            UserLog.AddNodeSceneLog(m_allAssetName[selectDataIndex], info.itemID, sceneObj.itemObj.Count - 1);
        }
    }
    /// <summary>
    /// 生成单类物体的光照信息  多个位置
    /// </summary>
    /// <param name="objs"></param>
    /// <param name="id"></param>
    static ObjLightMapDataGroup createObjLightData(EditorSceneObj objs, long id, Texture2D lightTex)
    {
        ObjLightMapDataGroup dataGroup = new ObjLightMapDataGroup();

        dataGroup.id = id;
        List <ObjLightMapData> objPosMapData = new List <ObjLightMapData>();

        for (int i = 0; i < objs.itemObj.Count; i++)
        {
            GameObject      posObj  = objs.itemObj[i];
            ObjLightMapData mapdata = getObjLightMapData(posObj, lightTex);
            objPosMapData.Add(mapdata);
        }
        dataGroup.objLightDatas = objPosMapData.ToArray();
        return(dataGroup);
    }
Example #3
0
    void AddSingleItemObj(ItemInfo info)
    {
        GameObject objParent = new GameObject(info.itemName);

        objParent.transform.position = Vector3.zero;
        EditorSceneObj sceneObj = new EditorSceneObj();

        sceneObj.rootObj = objParent;
        sceneObj.itemObj = new List <GameObject>();
        itemObjs.Add(sceneObj);

        for (int j = 0; j < info.itemPos.Count; j++)
        {
            //加载资源
            AddNodeObj(info, info.itemPos[j], sceneObj, false);
        }
    }