Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Help  Avoid writing Obi data to scene file
#1
Is there any way to avoid writing Obi data to the scene file? It's bloating my scene file and the Unity YAML merge tool cannot deal with the file across version control i.e.) it cannot resolve conflicts.
Reply
#2
(06-03-2020, 11:41 PM)local306 Wrote: Is there any way to avoid writing Obi data to the scene file? It's bloating my scene file and the Unity YAML merge tool cannot deal with the file across version control i.e.) it cannot resolve conflicts.

Obi 5.0 and up does no longer store actor data in the scene. Instead, separate assets (known as ‘blueprints’) are used, and can be shared across multiple actor instances. This was designed to solve the exact problem you have, and a few related others.

Consider updating to the latest version. Keep in mind that 5.x is only compatible with unity 2019.
Reply
#3
(08-03-2020, 11:48 AM)josemendez Wrote: Obi 5.0 and up does no longer store actor data in the scene. Instead, separate assets (known as ‘blueprints’) are used, and can be shared across multiple actor instances. This was designed to solve the exact problem you have, and a few related others.

Consider updating to the latest version. Keep in mind that 5.x is only compatible with unity 2019.

I am using Obi 5.1 in Unity 2019.2.16f1. There is something writing a tonne of vert data to the scene file for an element using Obi cloth. When I get rid of the Obi actor and save the scene, my file size goes from 111 MB to 220 KB.
Reply
#4
(09-03-2020, 05:52 PM)local306 Wrote: I am using Obi 5.1 in Unity 2019.2.16f1. There is something writing a tonne of vert data to the scene file for an element using Obi cloth. When I get rid of the Obi actor and save the scene, my file size goes from 111 MB to 220 KB.

Hi,

The only serialized fields in ObiCloth are the properties exposed in the inspector - a few booleans and floats- and a list of particle indices (one integer per particle). The cloth renderer only serializes a enum. No vertex/mesh/constraint/particle data is serialized by either.

While it could be that the particle indices list of your object is so huge that it takes up 111 Mb, it's very unlikely.

I opened up a scene with a single cloth object in it, here's what the serialized version looks like:

Code:
MonoBehaviour:
 m_ObjectHideFlags: 0
 m_CorrespondingSourceObject: {fileID: 0}
 m_PrefabInstance: {fileID: 0}
 m_PrefabAsset: {fileID: 0}
 m_GameObject: {fileID: 1757093062}
 m_Enabled: 1
 m_EditorHideFlags: 0
 m_Script: {fileID: 11500000, guid: 206ce0b7d5b3944cdbc83ba88739df98, type: 3}
 m_Name:
 m_EditorClassIdentifier:
 m_CollisionMaterial: {fileID: 0}
 solverIndices: 630300006403000065030000660300006703000068030000690300006a0300006b0300006c0300006d0300006e0300006f030000700300007103000072030000730300007403000075030000760300007703000078030000790300007a0300007b0300007c0300007d0300007e0300007f030000800300008103000082030000830300008403000085030000860300008703000088030000890300008a0300008b0300008c0300008d0300008e0300008f030000900300009103000092030000930300009403000095030000960300009703000098030000990300009a0300009b0300009c0300009d0300009e0300009f030000a0030000a1030000a2030000a3030000a4030000a5030000a6030000a7030000a8030000a9030000aa030000ab030000ac030000ad030000ae030000af030000b0030000b1030000b2030000b3030000b4030000b5030000b6030000b7030000b8030000b9030000ba030000bb030000bc030000bd030000be030000bf030000c0030000c1030000c2030000c3030000c4030000c5030000c6030000c7030000c8030000c9030000ca030000cb030000cc030000cd030000ce030000cf030000d0030000d1030000d2030000d3030000d4030000d5030000d6030000d7030000d8030000d9030000da030000db030000dc030000dd030000de030000df030000e0030000e1030000e2030000e3030000e4030000e5030000e6030000e7030000e8030000e9030000ea030000eb030000ec030000ed030000ee030000ef030000f0030000f1030000f2030000f3030000f4030000f5030000f6030000f7030000f8030000f9030000fa030000fb030000fc030000fd030000fe030000ff030000000400000104000002040000030400000404000005040000060400000704000008040000090400000a0400000b0400000c0400000d0400000e0400000f040000100400001104000012040000130400001404000015040000160400001704000018040000190400001a0400001b0400001c0400001d0400001e0400001f040000200400002104000022040000230400002404000025040000260400002704000028040000290400002a0400002b0400002c0400002d0400002e0400002f040000300400003104000032040000330400003404000035040000360400003704000038040000390400003a0400003b0400003c0400003d0400003e0400003f040000400400004104000042040000430400004404000045040000460400004704000048040000490400004a0400004b0400004c0400004d0400004e0400004f040000500400005104000052040000530400005404000055040000560400005704000058040000590400005a0400005b0400005c0400005d0400005e0400005f040000600400006104000062040000630400006404000065040000660400006704000068040000690400006a0400006b0400006c0400006d0400006e0400006f040000700400007104000072040000730400007404000075040000760400007704000078040000790400007a0400007b0400007c0400007d0400007e0400007f04000080040000810400008204000083040000
 m_SelfCollisions: 0
 _distanceConstraintsEnabled: 1
 _stretchCompliance: 0
 _maxCompression: 0
 _bendConstraintsEnabled: 1
 _bendCompliance: 0
 _maxBending: 0
 _aerodynamicsEnabled: 1
 _drag: 0.05
 _lift: 0.05
 m_ClothBlueprint: {fileID: 11400000, guid: 83efefad6f0844671bef34958537796b, type: 2}
 _volumeConstraintsEnabled: 1
 _compressionCompliance: 0
 _pressure: 1
 _tetherConstraintsEnabled: 1
 _tetherCompliance: 0
 _tetherScale: 1.2
 m_renderer: {fileID: 0}

The renderer:
Code:
MonoBehaviour:
 m_ObjectHideFlags: 0
 m_CorrespondingSourceObject: {fileID: 0}
 m_PrefabInstance: {fileID: 0}
 m_PrefabAsset: {fileID: 0}
 m_GameObject: {fileID: 1757093062}
 m_Enabled: 1
 m_EditorHideFlags: 0
 m_Script: {fileID: 11500000, guid: 1c11d42a3c977407fa40f26f519abb13, type: 3}
 m_Name:
 m_EditorClassIdentifier:
 tangentSpaceUpdate: 2

Could you share your scene? If possible, send it to support(at)virtualmethodstudio.com so that we can take a look at it.
Reply