Unsolved Pack into Prefab - Bug in 0.28?

Discussion in 'World Editor' started by MysteryManGER, May 6, 2023.

  1. MysteryManGER

    MysteryManGER
    Expand Collapse

    Joined:
    May 25, 2016
    Messages:
    770
    Hello everyone,

    When I pack a group of objects in a PREFAB, the only option is to save it as "filename.prefab.json" (instead of "filename.prefab"). After saving and reloading the map everything is buggy. The prefab origin is at 0/0/0... and after duplicating and moving/rotating the prefab it disappears. Also unpacking the PREFAB don't work.

    I think the PREFAB packaging is now different from v0.27. These are the lines of a PREFAB packed with 0.27:

    Code:
    //
    //--- OBJECT WRITE BEGIN ---
    $ThisPrefab = new SimGroup() {
       canSave = "1";
       canSaveDynamicFields = "1";
          groupPosition = "137.67513333834 -556.44694166917 429.65145404522";
    
       new TSStatic() {
          shapeName = "/levels/car_jump_arena_ng/art/shapes/buildings/cjang_windmill_rotor_1.dae";
          dynamic = "0";
          playAmbient = "1";
          meshCulling = "0";
          originSort = "0";
          useInstanceRenderData = "1";
          instanceColor = "White";
          instanceColor1 = "White";
          instanceColor2 = "White";
          collisionType = "Collision Mesh";
          decalType = "Collision Mesh";
          prebuildCollisionData = "0";
          renderNormals = "0";
          forceDetail = "-1";
          position = "-0.265625 -0.156494141 78.3485413";
          scale = "1 1 1";
          rotationMatrix = "-8.74227695e-08 0.999999881 0 -0.999999881 -8.74227695e-08 0 0 0 0.999999881";
          canSave = "1";
          canSaveDynamicFields = "1";
          persistentId = "3729c513-b6dd-4a00-8adb-cfe8f5fa9042";
       };
       new TSStatic() {
          shapeName = "/levels/car_jump_arena_ng/art/shapes/buildings/cjang_windmill_door.dae";
          dynamic = "0";
          playAmbient = "1";
          meshCulling = "0";
          originSort = "0";
          useInstanceRenderData = "1";
          instanceColor = "White";
          instanceColor1 = "White";
          instanceColor2 = "White";
          collisionType = "Collision Mesh";
          decalType = "Collision Mesh";
          prebuildCollisionData = "0";
          renderNormals = "0";
          forceDetail = "-1";
          position = "3.91363525 0.343261719 -51.629425";
          scale = "1 1.01999998 1.03999996";
          rotationMatrix = "1 0 0 0 1 0 0 0 1";
          canSave = "1";
          canSaveDynamicFields = "1";
          persistentId = "c825c683-c253-43a8-9a83-abe99fe1096f";
       };
       new TSStatic() {
          shapeName = "/levels/car_jump_arena_ng/art/shapes/buildings/cjang_windmill_base.dae";
          dynamic = "0";
          playAmbient = "1";
          meshCulling = "0";
          originSort = "0";
          useInstanceRenderData = "1";
          instanceColor = "White";
          instanceColor1 = "White";
          instanceColor2 = "White";
          collisionType = "Collision Mesh";
          decalType = "Collision Mesh";
          prebuildCollisionData = "0";
          renderNormals = "0";
          forceDetail = "-1";
          position = "-0.265625 -0.156494141 78.3485413";
          scale = "1 1 1";
          rotationMatrix = "-8.74227695e-08 0.999999881 0 -0.999999881 -8.74227695e-08 0 0 0 0.999999881";
          isRenderEnabled = "false";
          canSave = "1";
          canSaveDynamicFields = "1";
          persistentId = "3102c9bb-8e0c-45af-8eae-ceddb7f52d7d";
       };
       new TSStatic() {
          shapeName = "/levels/car_jump_arena_ng/art/shapes/buildings/cjang_obstacle_light_led.dae";
          dynamic = "0";
          playAmbient = "1";
          meshCulling = "0";
          originSort = "0";
          useInstanceRenderData = "1";
          instanceColor = "White";
          instanceColor1 = "White";
          instanceColor2 = "White";
          collisionType = "None";
          decalType = "None";
          prebuildCollisionData = "0";
          renderNormals = "0";
          forceDetail = "-1";
          position = "-6.30213928 -0.12701416 82.9335632";
          scale = "2 2 2";
          rotationMatrix = "1 0 0 0 1 0 0 0 1";
          canSave = "1";
          canSaveDynamicFields = "1";
          persistentId = "d73373ab-5a14-4cb1-8d11-09d12a5127ed";
       };
       new TSStatic() {
          shapeName = "/levels/car_jump_arena_ng/art/shapes/buildings/cjang_obstacle_light.dae";
          dynamic = "0";
          playAmbient = "1";
          meshCulling = "0";
          originSort = "0";
          useInstanceRenderData = "1";
          instanceColor = "White";
          instanceColor1 = "White";
          instanceColor2 = "White";
          collisionType = "Collision Mesh";
          decalType = "Collision Mesh";
          prebuildCollisionData = "0";
          renderNormals = "0";
          forceDetail = "-1";
          position = "-6.30255127 -0.12689209 84.0322571";
          scale = "1 1 1";
          rotationMatrix = "1 0 0 0 1 0 0 0 1";
          isRenderEnabled = "false";
          canSave = "1";
          canSaveDynamicFields = "1";
          persistentId = "f93107ad-0ce3-47b1-9850-ad98cfca58e2";
       };
       new TSStatic() {
          shapeName = "/levels/car_jump_arena_ng/art/shapes/props/led_lamp/cjang_led_lamp.dae";
          dynamic = "0";
          playAmbient = "1";
          meshCulling = "0";
          originSort = "0";
          useInstanceRenderData = "1";
          instanceColor = "White";
          instanceColor1 = "White";
          instanceColor2 = "White";
          collisionType = "Collision Mesh";
          decalType = "Collision Mesh";
          prebuildCollisionData = "0";
          renderNormals = "0";
          forceDetail = "-1";
          position = "1.55841064 -2.14477539 -48.9622192";
          scale = "1 1 1";
          rotationMatrix = "-8.74227695e-08 -0.999999881 0 0.999999881 -8.74227695e-08 0 0 0 0.999999881";
          isRenderEnabled = "false";
          canSave = "1";
          canSaveDynamicFields = "1";
          persistentId = "1ab37f24-d259-4657-b056-c4edebc8cf6f";
       };
       new TSStatic() {
          shapeName = "/levels/car_jump_arena_ng/art/shapes/props/led_lamp/cjang_led_lamp.dae";
          dynamic = "0";
          playAmbient = "1";
          meshCulling = "0";
          originSort = "0";
          useInstanceRenderData = "1";
          instanceColor = "White";
          instanceColor1 = "White";
          instanceColor2 = "White";
          collisionType = "Collision Mesh";
          decalType = "Collision Mesh";
          prebuildCollisionData = "0";
          renderNormals = "0";
          forceDetail = "-1";
          position = "1.55841064 1.83050537 -48.9622192";
          scale = "1 1 1";
          rotationMatrix = "-8.74227695e-08 0.999999881 0 -0.999999881 -8.74227695e-08 0 0 0 0.999999881";
          isRenderEnabled = "false";
          canSave = "1";
          canSaveDynamicFields = "1";
          persistentId = "00dceeb1-2f52-4a25-a08c-c008e720c0b2";
       };
       new TSStatic() {
          shapeName = "/levels/car_jump_arena_ng/art/shapes/props/ladder/cjang_ladder.dae";
          dynamic = "0";
          playAmbient = "1";
          meshCulling = "0";
          originSort = "0";
          useInstanceRenderData = "1";
          instanceColor = "White";
          instanceColor1 = "White";
          instanceColor2 = "White";
          collisionType = "Collision Mesh";
          decalType = "Collision Mesh";
          prebuildCollisionData = "0";
          renderNormals = "0";
          forceDetail = "-1";
          position = "-0.887802124 -0.156066895 -51.6515198";
          scale = "1 1 1";
          rotationMatrix = "-0.999999881 8.74227695e-08 0 -8.74227695e-08 -0.999999881 0 0 0 0.999999881";
          isRenderEnabled = "false";
          canSave = "1";
          canSaveDynamicFields = "1";
          persistentId = "ac8edb5c-86db-4b07-9d9f-bcbd8009e6eb";
       };
       new TSStatic() {
          shapeName = "/levels/car_jump_arena_ng/art/shapes/props/fire_extinguisher/cjang_fire_extinguisher.dae";
          dynamic = "0";
          playAmbient = "1";
          meshCulling = "0";
          originSort = "0";
          useInstanceRenderData = "1";
          instanceColor = "White";
          instanceColor1 = "White";
          instanceColor2 = "White";
          collisionType = "Collision Mesh";
          decalType = "Collision Mesh";
          prebuildCollisionData = "0";
          renderNormals = "0";
          forceDetail = "-1";
          position = "-0.922195435 0.91809082 -50.8042603";
          scale = "1 1 1";
          rotationMatrix = "-8.74227695e-08 0.999999881 0 -0.999999881 -8.74227695e-08 0 0 0 0.999999881";
          isRenderEnabled = "false";
          canSave = "1";
          canSaveDynamicFields = "1";
          persistentId = "34987916-27c8-40b7-aefc-63f51ae162be";
       };
       new TSStatic() {
          shapeName = "/levels/car_jump_arena_ng/art/shapes/props/fire_extinguisher/cjang_fire_extinguisher.dae";
          dynamic = "0";
          playAmbient = "1";
          meshCulling = "0";
          originSort = "0";
          useInstanceRenderData = "1";
          instanceColor = "White";
          instanceColor1 = "White";
          instanceColor2 = "White";
          collisionType = "Collision Mesh";
          decalType = "Collision Mesh";
          prebuildCollisionData = "0";
          renderNormals = "0";
          forceDetail = "-1";
          position = "2.23750305 -0.17364502 80.4494629";
          scale = "1 1 1";
          rotationMatrix = "-8.74227695e-08 -0.999999881 0 0.999999881 -8.74227695e-08 0 0 0 0.999999881";
          isRenderEnabled = "false";
          canSave = "1";
          canSaveDynamicFields = "1";
          persistentId = "57e346e3-6635-41fe-b917-6627f00213ca";
       };
       new TSStatic() {
          shapeName = "/levels/car_jump_arena_ng/art/shapes/props/fire_extinguisher/cjang_fire_extinguisher.dae";
          dynamic = "0";
          playAmbient = "1";
          meshCulling = "0";
          originSort = "0";
          useInstanceRenderData = "1";
          instanceColor = "White";
          instanceColor1 = "White";
          instanceColor2 = "White";
          collisionType = "Collision Mesh";
          decalType = "Collision Mesh";
          prebuildCollisionData = "0";
          renderNormals = "0";
          forceDetail = "-1";
          position = "4.59321594 1.45007324 -50.8313599";
          scale = "1 1 1";
          rotationMatrix = "-0.29924798 0.95417577 0 -0.95417577 -0.29924798 0 0 0 1";
          isRenderEnabled = "false";
          canSave = "1";
          canSaveDynamicFields = "1";
          persistentId = "d55f3860-1b35-447c-abb9-6dff884dbc7f";
       };
       new TSStatic() {
          shapeName = "/levels/car_jump_arena_ng/art/shapes/props/Bartable/cjang_bartable.dae";
          dynamic = "0";
          playAmbient = "1";
          meshCulling = "0";
          originSort = "0";
          useInstanceRenderData = "1";
          instanceColor = "White";
          instanceColor1 = "White";
          instanceColor2 = "White";
          collisionType = "Collision Mesh";
          decalType = "Collision Mesh";
          prebuildCollisionData = "0";
          renderNormals = "0";
          forceDetail = "-1";
          position = "-0.137832642 -1.33288574 -51.6515198";
          scale = "1 1 1";
          rotationMatrix = "0.707106709 -0.707106709 0 0.707106709 0.707106709 0 0 0 0.999999881";
          isRenderEnabled = "false";
          canSave = "1";
          canSaveDynamicFields = "1";
          persistentId = "72cca57a-8c5f-4dd5-952b-d4feb5290576";
       };
    };
    //--- OBJECT WRITE END ---
    
    

    and this is the same packed as PREFAB(.json) in 0.28:

    Code:
    {"name":"test_group","class":"SimGroup","persistentId":"d125190a-495f-4489-a110-f685f71f9cd9","groupPosition":"170.90746561686 768.19406636556 420.13498687744"}
    {"class":"TSStatic","persistentId":"1817df7c-5f51-4803-9137-0a69bf5eab8f","__parent":"test_group","position":[171.65538,767.073364,364.34848],"isRenderEnabled":false,"rotationMatrix":[0.985546708,-0.169403583,0,0.169403583,0.985546708,0,0,0,0.999999881],"shapeName":"/levels/car_jump_arena_ng/art/shapes/props/Bartable/cjang_bartable.dae","useInstanceRenderData":true}
    {"class":"TSStatic","persistentId":"2f555599-4dc8-4efe-a606-a88ecb123a7c","__parent":"test_group","position":[173.996796,770.780334,364.370575],"rotationMatrix":[0.816673279,0.577100396,0,-0.577100396,0.816673279,0,0,0,1],"scale":[1,1.01999998,1.03999996],"shapeName":"/levels/car_jump_arena_ng/art/shapes/buildings/cjang_windmill_door.dae","useInstanceRenderData":true}
    {"class":"TSStatic","persistentId":"64a546c6-938f-4a2c-a4f6-c236d2251e52","__parent":"test_group","position":[172.926254,769.39093,496.449463],"isRenderEnabled":false,"rotationMatrix":[0.577100277,-0.816673219,0,0.816673219,0.577100277,0,0,0,0.999999881],"shapeName":"/levels/car_jump_arena_ng/art/shapes/props/fire_extinguisher/cjang_fire_extinguisher.dae","useInstanceRenderData":true}
    {"class":"TSStatic","persistentId":"64db323e-e262-4d3e-9a24-aa0b2f1a4100","__parent":"test_group","position":[169.715775,768.459045,365.19574],"isRenderEnabled":false,"rotationMatrix":[-0.577100396,0.8166731,0,-0.8166731,-0.577100396,0,0,0,0.999999881],"shapeName":"/levels/car_jump_arena_ng/art/shapes/props/fire_extinguisher/cjang_fire_extinguisher.dae","useInstanceRenderData":true}
    {"class":"TSStatic","persistentId":"7520fea4-2dae-4369-85b2-a6a35d9387d2","__parent":"test_group","position":[173.509201,767.389221,367.037781],"isRenderEnabled":false,"rotationMatrix":[0.577100277,-0.816673219,0,0.816673219,0.577100277,0,0,0,0.999999881],"shapeName":"/levels/car_jump_arena_ng/art/shapes/props/led_lamp/cjang_led_lamp.dae","useInstanceRenderData":true}
    {"class":"TSStatic","persistentId":"7c1643f8-7f20-427b-9eed-d097230caf2a","__parent":"test_group","position":[170.872116,767.960388,494.348541],"isRenderEnabled":false,"rotationMatrix":[-0.577100396,0.8166731,0,-0.8166731,-0.577100396,0,0,0,0.999999881],"shapeName":"/levels/car_jump_arena_ng/art/shapes/buildings/cjang_windmill_base.dae","useInstanceRenderData":true}
    {"class":"TSStatic","persistentId":"976c3f22-d032-4d66-8225-b94026204387","__parent":"test_group","position":[170.872116,767.960388,494.348541],"rotationMatrix":[-0.577100396,0.8166731,0,-0.8166731,-0.577100396,0,0,0,0.999999881],"shapeName":"/levels/car_jump_arena_ng/art/shapes/buildings/cjang_windmill_rotor_1.dae","useInstanceRenderData":true}
    {"class":"TSStatic","persistentId":"99f445a9-ea94-4d58-99bc-b6619571dc00","__parent":"test_group","position":[171.215057,770.635742,367.037781],"isRenderEnabled":false,"rotationMatrix":[-0.577100396,0.8166731,0,-0.8166731,-0.577100396,0,0,0,0.999999881],"shapeName":"/levels/car_jump_arena_ng/art/shapes/props/led_lamp/cjang_led_lamp.dae","useInstanceRenderData":true}
    {"class":"TSStatic","persistentId":"aaeef937-e4cb-4f87-a546-d7ca62b512bc","__parent":"test_group","position":[173.913055,772.076416,365.16864],"isRenderEnabled":false,"rotationMatrix":[-0.795042992,0.606553733,0,-0.606553733,-0.795042992,0,0,0,1],"shapeName":"/levels/car_jump_arena_ng/art/shapes/props/fire_extinguisher/cjang_fire_extinguisher.dae","useInstanceRenderData":true}
    {"class":"TSStatic","persistentId":"bbf0f507-8465-4e64-8141-40dadae59e54","__parent":"test_group","position":[170.363754,767.601624,364.34848],"isRenderEnabled":false,"rotationMatrix":[-0.816673219,-0.577100277,0,0.577100277,-0.816673219,0,0,0,0.999999881],"shapeName":"/levels/car_jump_arena_ng/art/shapes/props/ladder/cjang_ladder.dae","useInstanceRenderData":true}
    {"class":"TSStatic","persistentId":"f369ded7-78cb-466d-b909-58b86ec7a5f0","__parent":"test_group","position":[165.924835,764.50061,500.032257],"isRenderEnabled":false,"rotationMatrix":[0.816673279,0.577100396,0,-0.577100396,0.816673279,0,0,0,1],"shapeName":"/levels/car_jump_arena_ng/art/shapes/buildings/cjang_obstacle_light.dae","useInstanceRenderData":true}
    {"class":"TSStatic","persistentId":"fc062446-833e-4e0b-a2a0-eb6fecc80602","__parent":"test_group","position":[165.925247,764.500732,498.933563],"collisionType":"None","decalType":"None","rotationMatrix":[0.816673279,0.577100396,0,-0.577100396,0.816673279,0,0,0,1],"scale":[2,2,2],"shapeName":"/levels/car_jump_arena_ng/art/shapes/buildings/cjang_obstacle_light_led.dae","useInstanceRenderData":true}
    
    Did I miss something? Is this a bug? a feature? How can I get back the "old" PREFAB file format that works properly?

    Thank you!
     
  2. MoeMaps

    MoeMaps
    Expand Collapse

    Joined:
    Feb 16, 2021
    Messages:
    14
    I have this issue as well. Dupe and disappear
     
  3. 23Terrabytes

    23Terrabytes
    Expand Collapse

    Joined:
    Aug 1, 2022
    Messages:
    195
    Been watching this thread for a few weeks now hoping to see a solution. So I figure Ill chime in too to get this thread a bump before it gets too old, since Im also having issues with any prefabs packed after 0.28 All my older prefabs work just fine, but all new prefabs either disappear or have issues with importing and\or unpacking.
     
  4. MysteryManGER

    MysteryManGER
    Expand Collapse

    Joined:
    May 25, 2016
    Messages:
    770
    Bump. Problem still persists in 0.29.

    @devs: Please have a look at this.
     
  5. 23Terrabytes

    23Terrabytes
    Expand Collapse

    Joined:
    Aug 1, 2022
    Messages:
    195
    A little while ago I posted about this bug on the 0.29 discussion thread with no response, so I decided to make a support ticket for this issue incase its been overlooked and to try and push the bug fix along a little faster. I referenced this thread and said to reply here instead of my support ticket if possible. Who knows what this will do, I haven't gotten a response yet since I just submitted it, maybe if were lucky we will see a fix by 0.30.

    I have a couple different WIP maps going and wanted to share a few props between them as well as duplicated them a few times within the same map, where a prefab would have been the fastest and easiest solution, but due to it disappearing or having occasional issues with unpacking it pushed me to report the bug.
     
  6. Artistterrymartin

    Artistterrymartin
    Expand Collapse

    Joined:
    May 5, 2019
    Messages:
    854
    There was a change where old prefab was phased out. I forget exactly what it was but when you pack as prefab, there was an option to pack as experimental json, that is the only format used now. If it was packed with the other method, it could be what is cause the problems.
    It may be the other that is being used. I remember there being two ways to pack a prefab whereas there is one now.
     
  7. Murokmakto

    Murokmakto
    Expand Collapse

    Joined:
    Dec 24, 2023
    Messages:
    289
    Is there any news or a solution on this? I am still having this issue aswell..
     
  8. Murokmakto

    Murokmakto
    Expand Collapse

    Joined:
    Dec 24, 2023
    Messages:
    289
    Bump. Is there any recent tutorial on how to properly do prefabs? All I can find are too old and end up with the described bug above...
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice