Release Notes.txt 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560
  1. ==================
  2. Version 3.26 July 17, 2018
  3. Fixe for NRE when using MeshBaker packer and null textures
  4. Fix bug for missing build target Tiezen in 2018.2
  5. Fix bug importing PVRT compressed meshes which don't support GetPixelBilinear
  6. Added search filter for LOD levels
  7. Introduced maxAtlasWidth and maxAtlasHeight which can be set independantly for horizontal vertical packing
  8. Added horizontal vertical texture packing
  9. BatchBakerPrefab changes
  10. Fixes bug where more materials could be assigned than submeshes
  11. Baked meshes are saved as part of the prefab
  12. Bake does a better job of cleaning up unused materials
  13. Added a bake that only updates meshes and materials
  14. Added log level
  15. ==================
  16. Version 3.25 April 26, 2018
  17. Created a TextureBlender for MetallicRoughness
  18. Rewrote the texture blenders for MetallicSpecular and Metallic
  19. Fixed bug with only one texture in atlas if textures for different properties had different tiling.
  20. Added non texture property average classes so that an average value can be used if not using consider non texture properties
  21. Fixed issues iwth blending non texture properties with the Standard shader.
  22. Refactor
  23. Cleaned up creating of temporary textures used in atlas creation. They are not created on a per atlas basis immediately before use and disposed of immediately afterward.
  24. Created TextureCombinerPackerOneTextureInAtlas for handling the case of only one texture in atlas.
  25. Removed code from other TextureCombinerPackers for handling one texture in atlas cases.
  26. ==================
  27. Version 3.24.3
  28. Removed references to Procedural Texture which were removed in Unity2018
  29. ==================
  30. Version 3.24.2
  31. Support for meshes larger than 64k
  32. Big refactor of the texture combining pipeline
  33. ==================
  34. Version 3.24.1
  35. Rewrite of the TextureBlenderStandardMetallic
  36. Fix bug where mesh was not assigned to prefab when generating skinned meshes with the MultiMeshBaker and assigning to a prefab
  37. Refactored Texture Combining pipeline.
  38. Refactored BlendTextureProperty system. Encpsulated code in a separate file.
  39. Replaced simple bool allTexturesAreNullAndSameColor flags with more informative CreateAtlasForProperty
  40. Fixed problems when merging atlas rectangles that would occasionally generate strange UV map problems
  41. Moved everything related to atlas merging into its own file
  42. ==================
  43. Version 3.24.0
  44. Fixed bug where normal map format is not restored if texture is uncompressed
  45. Added TexturePackerHorizontal, TexturePackerVertical which stack textures in atlas so that textures in atlas can tile horizontally and vertically
  46. Removed creation of report when using list shaders in scene
  47. ==================
  48. Version 3.23.3
  49. Fixes error when baking skinned meshes in Unity 2017.2. that generated error about skinned meshes lacking skinning information.
  50. ==================
  51. Version 3.23.2
  52. Added integrity check to TextureCombiner so it checks if can find tiled rect after generating atlas
  53. Fixed bug combining materials that have different tiling on different maps when using 'consider UVs' that would generate 'can't find tiled rectangle' error
  54. Fixed bug when baking skinned mesh prefabs where prefab would not be built and scene object was destroyed making it impossible to add bones
  55. Fixed bug when building for Android or Tizen and ASTC compression that would cause pixelated quality in atlases
  56. ==================
  57. Version 3.23.1
  58. Baking children for a grouper now works correctly if there is no TextureBakeResult
  59. Fixed errors using Unity 2017 with Crunch compression
  60. Fixed errors using when baking objects with different materials and no TextureBakeResult
  61. Fixed bug that caused TextureBlenders to use Fallback when other blenders match shader
  62. ==================
  63. Version 3.23.0
  64. Improved 'Consider Mesh UVs' can now be applied with different value to each result material
  65. Added version number to TextureBakeResults to fix backward compatibility issues.
  66. Refactored TextureBakeResults so that only resultMaterials is used in all cases. _resultMaterial is depricated
  67. Fixed bug with Unity 5.4 + with TexturePacker.MeshBakerTexturePackerFast creating black textures
  68. Fixed bug with MeshBakerGrouper so that it will include bakers with only one source object if desired
  69. _MetallicGlossMap color if no texture is 0,0,0,1 to fix issues with alpha=0 in map
  70. Fixed bug when using GroupByStandardShaderMode which would not compare correctly
  71. Added write texture to TGA code (not yet integrated with UI)
  72. Refactored "Build Source To Combined Mapping" to use new Consider Mesh UVs
  73. ==================
  74. Version 3.22.2
  75. Fixed bug where submeshes with zero length triangle arrays could be created causing dynamic batching errors
  76. Fixed bug where submesh triangles not being serialized correctly and causing errors with ShowHide
  77. Fixed auto generation of multiple materials to handle standard shader modes
  78. ==================
  79. Version 3.22.1
  80. Fixed bug where many submeshes were created if no TextureBakeResult and all source objs share a material
  81. Fixed bug where UV2 could contain NAN values if using 'copy UV2 to separate rects' and a source mesh has no UV2 channel.
  82. Refactored platform defines so they all exist only in the MBVersion
  83. ==================
  84. Version 3.22
  85. Fixes so Mesh Baker will work with Unity 2017
  86. `
  87. ==================
  88. Version 3.21
  89. Modified texture packer to support distributing textures across multiple atlases if total packing exceed atlas size
  90. Editor window can split atlases when listing shaders in scene
  91. Texture Baker can distribute across atlases when using the multiple materials feature
  92. ==================
  93. Version 3.20
  94. Added include cells with only one renderer checkbox to MeshBakerGrouper
  95. Changed clustering to use render bounds center instead of gameobject pivot
  96. Fixed drawGizmos for pie clusters so it matches what is clustered
  97. Made agglomerativeClustering cancelable
  98. Massive performance improvment for agglomerativeClustering
  99. Fixed bug with blendshapes if more than one blendshapes
  100. Fixed TextureCombiner indexOutOfBounds that occurs if the shader has no texture properties
  101. ==================
  102. Version 3.19.5 May 26, 2017
  103. Fix bug in Unity 5.5+ which generated a compile error in import.
  104. ==================
  105. Version 3.19.4 May 19, 2017
  106. Cleaned up Mesh Baker Menu
  107. Added link under Windows for opening Mesh Baker window
  108. Changed numbering of newly created bakers to match Unity's convention
  109. Renamed 'Material Bake Result' to 'Texture Bake Result'
  110. Set the MeshBakerGroup default algorithm to 'Agglomerative' and improved default settings
  111. MeshBakerGrouper detects if there are already child bakers with objects in list of objects to combine
  112. Set default _considerNonTextureProperties to false to speed up atlas creation
  113. Fixed NullPointerException when running texture bake as a Coroutine on a platform that doesn't support it
  114. Optimize after bake is never called at runtime
  115. Updated Manual & API docs
  116. ==================
  117. Version 3.19.3 March 27, 2017
  118. Added #IF UNITY_EDITOR to mesh optimization code since it uses UnityEditor. Fixed build error
  119. Added fix for rounding error with Vector2 which could cause "Cannot find merged rectangle" errors
  120. Added fix for builing for WAS, reflection classes don't exist
  121. ==================
  122. Version 3.19.2 March 13, 2017
  123. Fixed bug with blend shapes if using the same Mesh Baker multiple times
  124. Fixed bug with GroupByFilterStandardShaderMode so groups correctly
  125. Fixed bug if using a mesh with no UVs and using the 'consider UVs' feature would get Can't find merged rect error
  126. ==================
  127. Version 3.19.1 Febuary 15, 2017
  128. Fixed bug with creating temporary bake results
  129. Added conditional version code for LOD groups only for 5.1 and greater
  130. Added conditional version code for mesh.Optimize for 5.6 and greater
  131. Speed up for agglomerativeClustering
  132. ==================
  133. Version 3.19 December 31, 2016
  134. - Modified 'can bake without baking textures first'. Now collects all materials and maps each mat to its own submesh
  135. - Removed limitation where first mesh must have all materials
  136. - Fixed bug with MeshCombiner checking objsInCombined list if user has deleted some of these
  137. - Batch Prefab Baker calls .ClearMesh before trying to bake so combiner isn't contaminated by previous bakes
  138. - TextureCombiner creates temporary textures for missing textures earlier in the pipeline. Fixes bugs with
  139. consider mesh UVs if some materials don't have textures.
  140. ==================
  141. Version 3.18 December 8, 2016
  142. - Agglomerative clustering
  143. - Fixed error when no clusters.
  144. - Add button to trigger creating clusters.
  145. - Add progress bar
  146. - Added feature for recenter verts to bounds center
  147. - Fixed bug when deleting parts of combined mesh would leave bones
  148. - Added optimize after bake
  149. - Batch prefab baker will create new meshes if targets are same as source.
  150. - Can use tools for adding objects to remove objects from bakers in a bulk operation
  151. - Cluster grouper can group by LOD level
  152. ==================
  153. Version 3.17 November 22, 2016
  154. - New Agglomerative cluster type in the MeshBakerGrouper
  155. - Performance improvements when adding and deleting bones. Uses HashSets instead of traversing lists
  156. - Added a "select objects to be combined" convenience button
  157. - Added ability to sort objects to be combined along an axis. Usefull for transparent shaders
  158. - Can populate rows in batch prefab baker from prefab instances in scene
  159. - A number of minor fixes
  160. ==================
  161. Version 3.16.3 October 25, 2016
  162. - Added regular expression field for filtering game objects to be added in the add objects to bakers window
  163. - Fixed bug with "list shaders in scene" which generate exceptions if a file is modified
  164. - MeshBakerGrouper does not create bakers if there are no objects or only one object in a cell
  165. ==================
  166. Version 3.16.2 October 8, 2016
  167. - Added support for the new Texture Import API in Unity 5.5
  168. ==================
  169. Version 3.16.1 September 16, 2016
  170. - Added support for blend shapes
  171. - Mesh Baker can now convert 'optimized' meshes to be readable
  172. - New UV2 option. If source objects have custom UV2 layout, this can be preserved when copying to combined mesh
  173. ==================
  174. Version 3.16.0 September 6, 2016
  175. - Fixed bug with "Open Tools For Adding Objects" window. Texture baker tab would hang.
  176. - Fixed Bake Meshes in Place Bug if folder path is not set and bake is clicked
  177. - Fixed bug where MeshBakerGrouper bug can include renderers not in texture baker
  178. - Converted texture baking to a coroutine so texture baking at runtime can take place across several frames.
  179. - Fixed bug and refactored the _considerUVs option that merges textures.
  180. ===================
  181. Version 3.15.1 August 18, 2016
  182. - Fixed bug preventing MultiMeshBaker from displaying.
  183. ===================
  184. Version 3.15.0 August 9, 2016
  185. - Fixed bug with merge overlapping textures where textures would map to wrong parts of the atlas.
  186. - Cleaned up variable naming in merge overlapping textures code
  187. - Refactored merge overlapping textures
  188. - Added fields to MB3_TextureBakeResults for samplingEncapsulatinRect, sourceMaterialTiling, samplingRectMatAndUVTiling, srcObjName
  189. - Improved comments in the code.
  190. - Removed unused variable references to get rid of warnings.
  191. ====================
  192. Version 3.14.0 July 15, 2016
  193. - Added multi object editing support to the MB3_MeshBaker and MB3_TextureBaker
  194. - Added support for TextureBlenders to provide better blending of non-texture properties such as _Color with textures
  195. - Updated the manual
  196. ====================
  197. Version 3.13.1 April 27, 2016
  198. - Added button to the batch prefab baker to automate creating prefabs
  199. - Improved the BoneWeightCopier script to copy normals, position and tangent as well.
  200. =====================
  201. Version 3.13.0 April 13, 2016
  202. - Changed Fix out of bounds UVs to 'Consider Mesh UVs'
  203. - Added candy striping to multiple materials section of the inspector
  204. - Changed 'Consider Mesh UVs' so it works for UVs that are not out of bounds. Only parts of source textures that are used are copied to atlas
  205. - Added a feature for Merging UV rectangles in the atlas if the source rectangles overlap and it would be more efficient to use a combined
  206. rectangle than two separate rectangle
  207. ======================
  208. Version 3.12.3 Feb 20, 2016
  209. Fixed bug where GroupBy filters are not found if an assembly cannot be loaded
  210. Added UV2 unwrapping parameters to user interface.
  211. Fixed bug with multiple materials and out of bounds UVs doesn't work if "out-of-bounds-uvs" is checked.
  212. ======================
  213. Version 3.12.2 Dec. 9, 2015
  214. - Fixed bug with the Mesh Baker Grouper. It was adding multiple objects multiple times which created errors when baking.
  215. - Added button to the batch prefab baker to automate creation of result prefabs.
  216. ======================
  217. Version 3.12.1 Nov. 20, 2015
  218. - removed two references to UnityEditor in the runtime scripts and a variable not used warning.
  219. ======================
  220. Version 3.12.0 Nov. 20, 2015
  221. - Mesh Combiner API now handles combining objects with no Texture Bake Result if all objects use the same material
  222. - Bones are not duplicated in bones array if bones are shared.
  223. - Updated TextureCombinerFast shaders. These ones work much better
  224. - Fixed bug with TextureCombinerFast normal maps being converted to Unity format twice
  225. - Added UV3 and UV4 channels for Unity 5
  226. - Added a script for applying same bone weights to the seams of skinned meshs to make customization of character meshes easier
  227. ======================
  228. Version 3.11.1
  229. - Fixed bug using Mesh Baker without first baking textures that caused materials to be Instanced.
  230. ======================
  231. Version 3.11.0
  232. - Includes a new Mesh Baker Texture Packer Fast option to pack textures on using the GPU instead of the CPU
  233. ======================
  234. Version 3.10.3
  235. - added a MaxAtlas size field to replace the code that tried to predict based on platform
  236. - added code to grabe the _Color property from the first material
  237. ======================
  238. Version 3.10.2
  239. - Fixed bug preserve lightmapping.
  240. ======================
  241. Version 3.10.1
  242. - Fixed serious bug where meshes with tiling UVs would not be detected
  243. - Modified editor functions so it is easier to customize bake behaviour
  244. ======================
  245. Version 3.10
  246. - Improved handling of missing textures in Standard shader. Much better code for choosing reasonable colors
  247. - Fixed typo on "Search For Meshes" tab
  248. - Increased the size of space in atlas for missing textures to 16x16 to help with color bleeding
  249. - Fixed missing SpecGlossMap in names to look for
  250. - Fixed bug where tag and layer are not set the first time objects are added to a baker
  251. ======================
  252. Version 3.9
  253. - Meshes are cached after being analyzed improves performance
  254. - Added group by option for already added to baker
  255. - Added filter option for already added to baker
  256. - Mesh Baker tries to use a default color if there is no texture
  257. - Fix so Mesh Baker works from plugins folder
  258. - Fix for outOfBoundsUVs report false positive
  259. ======================
  260. Vesion 3.8.1
  261. - Minor fix stops errors creating new baker caused by uneeded debug statement.
  262. ======================
  263. Vesion 3.8
  264. - Fixed bug setting normal map for _Normal and _DetailBumpMap
  265. - Can set normal map treatment for custom shader properties
  266. - Can easily add custom filters to the group by
  267. - Doesn't create atlas if all source textures are null
  268. - Progress bar for list material in scene report
  269. ======================
  270. Version 3.7.4
  271. - Fixed bug with mesh baker on its own game object
  272. - Fixed bug generating assets using tools for adding objects
  273. ======================
  274. Version 3.7.3
  275. - Refactored the tools for adding objects window so it is much more flexible and can create bakers directly
  276. - Added texture property names to support the new standard shader.
  277. ======================
  278. Version 3.7
  279. - Fix for tiny images being scaled to zero when atlas is larger than maximum size
  280. - Fix for auto generate mesh bakers bug not finding the Mesh Baker
  281. - Can be configured to produce only power of two textures
  282. ======================
  283. Version 3.6.1
  284. - Bug fixes for Unity 5 compatible
  285. ======================
  286. Version 3.6
  287. - Updated to be compatible with Unity 5
  288. ======================
  289. Version 3.5.1
  290. - Added gizmos to the MeshBakerGrouper
  291. - Added button to bake all child MeshBakers of a MaterialBaker
  292. - Added button to disable renderers of child material baker
  293. - Fixed bugs where multi-mesh bakers would not bake when baking all bakers.
  294. ======================
  295. Version 3.5
  296. - Added the MB3_MeshBakerGrouper component
  297. - Removed many of the default arguments from the example scripts which caused build errors on iOS
  298. ======================
  299. Version 3.4.1
  300. - Fix bug with IndexOutOfBounds exception when baking without TextureBakeResults
  301. - Fix NullPointerException when no objects in list of objs to combine
  302. - Added warning when buffers have been cleared and no objects in instance2combined map
  303. ======================
  304. Version 3.4
  305. - Border color of textures in atlas bleed into the padding. Fixes problems with mipmaps picking up padding color
  306. - Can bake objects without creating an atlas as long as they all use the same set of textures.
  307. - Better memory allocation when creating atlases.
  308. - Added MB3_DisableHiddenAnimations to disable animations that are not playing
  309. - Added checkbox to clear buffers in baker after bake. It is rare that a user would want the buffers.
  310. ======================
  311. Version 3.3.1
  312. - Fixed bug when user uses a prefab asset in the result scene object field
  313. - Displays error if user tries to bake a mesh that has read/write = false
  314. ======================
  315. Version 3.3
  316. - Fixed a bug where list of objects to combine produced null pointer exception
  317. - Added BatchPrefabBaker
  318. - Generated normal maps (when no normal on source) are now neutral normal color
  319. ======================
  320. Version 3.2.1
  321. - Fixed bug where creating source to combined mapping for multiple materials would add source mat multiple times
  322. - Added several examples and explantions with other Examples
  323. - Optimization where uvs are not adjusted if there is only one texture in the atlas
  324. ======================
  325. Version 3.2
  326. - Fix error creating new bakers
  327. - Fix error baking into prefab if have not baked scene object first.
  328. ======================
  329. Version 3.1
  330. - Hides debug statment in multi-mesh-combiner
  331. - Sets default size of texture combiner to 2048
  332. - Removes references to legacy scripts in MB2_UpdateSkinnedMesh scripts.
  333. ======================
  334. Version 3.0
  335. - Big refactor to simplify code.
  336. - Cleaned up API
  337. - removed a number of unecessary parameters from function calls
  338. - Made method names more consistant
  339. - More code is shared between MeshBakerCommon and subclasses
  340. - Mesh combiners inherit from a proper superclass
  341. - Handles objects with negative scale
  342. - MeshCombiner now handles creation and storing of ResultSceneObject
  343. ======================
  344. Version 2.11.8
  345. - Fixed bug with BuildSceneObject so it sets the targetRenderer in the MB2_MeshCombiner
  346. - Enforces expected structure of CombinedMesh scene object
  347. - Warning when using Unity's texture packer
  348. - better interface for AddDeleteGameObjectsByIDs
  349. ======================
  350. Version 2.11.7
  351. - Fixed bug with generating UV2 for multi mesh baker
  352. ======================
  353. Version 2.11.6
  354. - Fixed bug where meshes could not be combined if the original meshes had been deleted from the scene
  355. - Added warning if skinned mesh has been optimized.
  356. ======================
  357. Version 2.11.5
  358. - Fixed bug where combining skinned meshes did not work correctly
  359. - Fixed bug with validation which required resultMaterial to be set when doing multi material
  360. ======================
  361. Version 2.11.4
  362. - Improved update so developer has control over which channels are updated.
  363. ======================
  364. Version 2.11.3
  365. - Fixed problem copying normal maps to atlases.
  366. ======================
  367. Version 2.11.2
  368. - Better calculation of ideal atlas size.
  369. ======================
  370. Version 2.11.1
  371. - Fixes error displaying suggested treatment for overlapping submeshes
  372. ======================
  373. Version 2.11
  374. - Removed/fixed lines of code that generated warnings
  375. - Add feature that suggests what can be done if meshes don't bake
  376. - If only one texture in an atlas then original textures are re-used
  377. - Refactored much of the texture combining code
  378. ======================
  379. Version 2.10
  380. - Changed the internal representation to store instanceIDs instead of GameObjects
  381. this makes it possible to remove destroyed objects as long as the ID instance ID is remembered.
  382. - Added a flag to make validation optional.
  383. - Improved UpdateApproximateBounds and added two scripts that can be do this
  384. - Improved the logging class
  385. - Fixes errors when switching the output after a bake
  386. - Added a version field so dependent projects know the version
  387. ======================
  388. Version 2.9.1
  389. Fixes a minor issue where a warning is displayed when skinned meshes
  390. contain no meshes.
  391. ======================
  392. Version 2.9
  393. Moved all UnityEditor class usage to classes in the Editor folder
  394. To do this an interface MB2_EditorMethodsInterface and class MB2_EditorMethods were created.
  395. Created new Logging class for better debug tracing
  396. There were a number of changes to the API
  397. MB2_MeshCombiner.Apply takes a delegate function for Generating UV2. This should be null when called at runtime and set to Unwrapping.GenerateUV2 when called from the editor.
  398. These methods require an instance of MB2_EditorMethods when called from the editor. The parameter should be null or ommitted when called at runtime.
  399. doCombinedValidate
  400. CreateAndSaveAtlases
  401. These methods were moved to MB2_EditorMethods
  402. SaveMeshsToAssetDatabase
  403. RebuildPrefab
  404. ======================
  405. Version 2.8.3
  406. Fixed bug where can only create one result material when creating multiple result materials
  407. Fixed bug when baking all bakers in scene if one has no objects
  408. Cleaned up error message when have not created texture bake results
  409. ======================
  410. Version 2.8.2
  411. Added Mesh Baker texture packer
  412. Added button to auto generate source to combined material mappings from objects to combine
  413. Changed texture format messages from warnings to info messages
  414. Fixed null pointer exception when baking assets in place
  415. cleaned up code in TextureCombiner
  416. Added Show/Hide to the API which just updates triangles