start work on texture atlas structures
start of something big
This commit is contained in:
Vendored
+11
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"python.analysis.extraPaths": [
|
||||||
|
"D:\\SteamLibrary\\steamapps\\common\\Blender\\4.3\\scripts\\addons",
|
||||||
|
"C:\\Users\\Onan\\AppData\\Roaming\\Blender Foundation\\Blender\\4.3\\extensions\\user_default\\",//C:/Users/Onan/AppData/Roaming/Blender Foundation/Blender/4.0/scripts/addons
|
||||||
|
"D:\\blender stuff\\blendercodestuff\\4.3"
|
||||||
|
],
|
||||||
|
"python.analysis.diagnosticSeverityOverrides": {
|
||||||
|
"reportInvalidTypeForm": "none"
|
||||||
|
},
|
||||||
|
"python.REPL.enableREPLSmartSend": false,
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
from bpy.types import Scene, PropertyGroup, Object, Material, TextureNode
|
||||||
|
from bpy.props import BoolProperty, EnumProperty, FloatProperty, IntProperty, CollectionProperty, StringProperty, FloatVectorProperty, PointerProperty
|
||||||
|
from bpy.utils import register_class
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def register_properties():
|
||||||
|
class Material_Texture_Atlas_PropertyGroup(PropertyGroup):
|
||||||
|
normal: PointerProperty(type=TextureNode)
|
||||||
|
albedo: PointerProperty(type=TextureNode)
|
||||||
|
emission: PointerProperty(type=TextureNode)
|
||||||
|
ambient_occlusion: PointerProperty(type=TextureNode)
|
||||||
|
height: PointerProperty(type=TextureNode)
|
||||||
|
|
||||||
|
|
||||||
|
register_class(Material_Texture_Atlas_PropertyGroup)
|
||||||
|
Material.texture_atlas = PointerProperty(type=Material_Texture_Atlas_PropertyGroup)
|
||||||
|
|
||||||
|
class Texture_Atlas_PropertyGroup(PropertyGroup):
|
||||||
|
materials: CollectionProperty(type=Material)
|
||||||
|
|
||||||
|
Scene.texture_atlas_properties = PointerProperty(type=Texture_Atlas_PropertyGroup)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
import bpy
|
||||||
|
from typing import List, Optional
|
||||||
|
from bpy.types import Operator, Context, Object, TextureNode
|
||||||
|
from ..core.register import register_wrap
|
||||||
|
from ..core.common import get_armature, simplify_bonename
|
||||||
|
|
||||||
|
@register_wrap
|
||||||
|
class Atlas_Textures(Operator):
|
||||||
|
bl_idname = "avatar_toolkit.atlas_textures"
|
||||||
|
bl_label = "Atlas Textures"
|
||||||
|
bl_description = """Combines materials and their textures to optimize the model.
|
||||||
|
Although this combines materials, it may not reduce your VRAM usage. Other tools
|
||||||
|
like Tuxedo can vastly reduce your VRAM usage as well as many other optimizations,
|
||||||
|
rather than just duct taping the textures together like material combiner and this tool.
|
||||||
|
"""
|
||||||
|
bl_options = {'REGISTER', 'UNDO'}
|
||||||
|
|
||||||
|
def execute(self, context: Context) -> set:
|
||||||
|
|
||||||
|
|
||||||
|
return {'FINISHED'}
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user