mirror of
https://github.com/MapMakersAndProgrammers/io_scene_a3d.git
synced 2025-10-26 01:49:13 -07:00
Tweak map materials
This commit is contained in:
@@ -253,7 +253,7 @@ class BattleMapBlenderImporter:
|
||||
#TODO: implement spawn type name lookup
|
||||
ob = bpy.data.objects.new(f"SpawnPoint_{spawnPointData.type}", None)
|
||||
ob.empty_display_type = "ARROWS"
|
||||
ob.empty_display_size = 100
|
||||
ob.empty_display_size = 100 # The map will be at 100x scale so it's a good idea to match that here
|
||||
ob.location = spawnPointData.position
|
||||
ob.rotation_mode = "XYZ"
|
||||
ob.rotation_euler = spawnPointData.rotation
|
||||
@@ -266,8 +266,8 @@ class BattleMapBlenderImporter:
|
||||
# Shader specific logic
|
||||
if materialData.shader == "TankiOnline/SingleTextureShader":
|
||||
bsdf = PrincipledBSDFWrapper(ma, is_readonly=False, use_nodes=True)
|
||||
bsdf.roughness = 1.0
|
||||
bsdf.ior = 1.0
|
||||
bsdf.roughness_set(1.0)
|
||||
bsdf.ior_set(1.0)
|
||||
|
||||
# Try load texture
|
||||
textureParameter = materialData.textureParameters[0]
|
||||
@@ -277,8 +277,8 @@ class BattleMapBlenderImporter:
|
||||
addImageTextureToMaterial(texture, ma.node_tree)
|
||||
elif materialData.shader == "TankiOnline/SpriteShader":
|
||||
bsdf = PrincipledBSDFWrapper(ma, is_readonly=False, use_nodes=True)
|
||||
bsdf.roughness = 1.0
|
||||
bsdf.ior = 1.0
|
||||
bsdf.roughness_set(1.0)
|
||||
bsdf.ior_set(1.0)
|
||||
|
||||
# Try load texture
|
||||
textureParameter = materialData.textureParameters[0]
|
||||
@@ -287,6 +287,10 @@ class BattleMapBlenderImporter:
|
||||
|
||||
addImageTextureToMaterial(texture, ma.node_tree, linkAlpha=True)
|
||||
elif materialData.shader == "TankiOnline/Terrain":
|
||||
pass
|
||||
# XXX: still need to figure out how to do the terrain properly, all manual attempts have yielded mixed results
|
||||
bsdf = PrincipledBSDFWrapper(ma, is_readonly=False, use_nodes=True)
|
||||
bsdf.roughness_set(1.0)
|
||||
bsdf.ior_set(1.0)
|
||||
bsdf.base_color_set((0.0, 0.0, 0.0))
|
||||
|
||||
return ma
|
||||
@@ -31,6 +31,7 @@ from .BattleMap import BattleMap
|
||||
from .BattleMapBlenderImporter import BattleMapBlenderImporter
|
||||
|
||||
from glob import glob
|
||||
from time import time
|
||||
|
||||
'''
|
||||
Addon preferences
|
||||
@@ -69,6 +70,8 @@ class ImportA3D(Operator, ImportHelper):
|
||||
return ImportHelper.invoke(self, context, event)
|
||||
|
||||
def execute(self, context):
|
||||
importStartTime = time()
|
||||
|
||||
objects = []
|
||||
for file in self.files:
|
||||
filepath = self.directory + file.name
|
||||
@@ -90,6 +93,9 @@ class ImportA3D(Operator, ImportHelper):
|
||||
for obI, ob in enumerate(objects):
|
||||
collection.objects.link(ob)
|
||||
|
||||
importEndTime = time()
|
||||
self.report({'INFO'}, f"Imported {len(objects)} objects in {importEndTime-importStartTime}s")
|
||||
|
||||
return {"FINISHED"}
|
||||
|
||||
class ImportBattleMap(Operator, ImportHelper):
|
||||
@@ -114,6 +120,9 @@ class ImportBattleMap(Operator, ImportHelper):
|
||||
|
||||
def execute(self, context):
|
||||
print(f"Reading BattleMap data from {self.filepath}")
|
||||
|
||||
importStartTime = time()
|
||||
|
||||
mapData = BattleMap()
|
||||
with open(self.filepath, "rb") as file:
|
||||
mapData.read(file)
|
||||
@@ -128,6 +137,9 @@ class ImportBattleMap(Operator, ImportHelper):
|
||||
for ob in objects:
|
||||
collection.objects.link(ob)
|
||||
|
||||
importEndTime = time()
|
||||
self.report({'INFO'}, f"Imported {len(objects)} objects in {importEndTime-importStartTime}s")
|
||||
|
||||
return {"FINISHED"}
|
||||
|
||||
'''
|
||||
|
||||
Reference in New Issue
Block a user