somaz / blender_bsp_importer Goto Github PK
View Code? Open in Web Editor NEWThis is an id tech 3 bsp importer for blender. It can import entites and tries to convert quake 3 shaders to eevee ones.
License: GNU General Public License v2.0
This is an id tech 3 bsp importer for blender. It can import entites and tries to convert quake 3 shaders to eevee ones.
License: GNU General Public License v2.0
Skyportals aren't implemented
Shader attribute fogParms is not implemented. Also pull the fog brush from the bsp to get the complete volume instead of relying on the fog surface.
Mirror shader stages aren't implemented. Shader attribute portal needs to be recognised. Maybe implement alphaGen portal too.
The addon doesn't cull rows and colums. It uses controll points for interpolating texture coordinates which doesn't happen in id tech 3 because it culls the interpolated data on planar patches. This leads to false texture coordinates in the blender import.
Adding a virtual file system will remove the need of unpacking all the map data. Supporting multiple base paths will be much easier too once the virtual file system is incorporated.
Since blender doesn't offer image loaders from bytestreams, we need to add a temporary folder where textures get unpacked to when needed.
after unpacking all .pk3 and installing the plugin on blender 2.83 I get this error when I try to import a map.
further information:
feel free to ask, if you need more information. Thank you in advance
Id tech 3 deluxemaps refere to a texture storing an averaged light incident vector, which is used to get normal mapping on lightmapped surfaces in some id tech 3 engines. There are two different types of deluxemaps. World space and tangent space ones. Engines typically only support one type of deluxemap.
Hello,
I am using a MacBook Air with an M2 processor and when I attempt to enable the v0.9.634 of the Addon on Blender 3.6.10 and Blender 4 (latest version as of this date), I get this exception:
addon_utils.disable: import_bsp not disabled
addon_utils.disable: import_bsp not disabled
Modules Installed (import_bsp) from '/Users/yasirnacak/Blender Models/import_bsp.zip' into '/Users/yasirnacak/Library/Application Support/Blender/3.6/scripts/addons'
Traceback (most recent call last):
File "/Applications/Blender.app/Contents/Resources/3.6/scripts/modules/addon_utils.py", line 333, in enable
mod = __import__(module_name)
File "/Users/yasirnacak/Library/Application Support/Blender/3.6/scripts/addons/import_bsp/__init__.py", line 42, in <module>
from . import UI
File "/Users/yasirnacak/Library/Application Support/Blender/3.6/scripts/addons/import_bsp/UI.py", line 21, in <module>
from . import BspClasses
File "/Users/yasirnacak/Library/Application Support/Blender/3.6/scripts/addons/import_bsp/BspClasses.py", line 17, in <module>
from . import QuakeShader
File "/Users/yasirnacak/Library/Application Support/Blender/3.6/scripts/addons/import_bsp/QuakeShader.py", line 28, in <module>
from . import QuakeSky
File "/Users/yasirnacak/Library/Application Support/Blender/3.6/scripts/addons/import_bsp/QuakeSky.py", line 155, in <module>
shader = gpu.types.GPUShader(vertex_shader, fragment_shader)
Exception: Shader Compile Error, see console for more details
(RTCW / ET specific)
----------------------------- probably mostly unused:
The only thing that should be broken is the custom vertex properties.
rgbGen wave is not implemented because the wave functions aren't implemented.
Add vertex color export and import. This will help with new iterations of maps when mapping.
Paint a map, save color data, later import new iteration of map, import color data.
Color data will be stored based on position. Multiple precision level will be stored, so that moved vertices still find a match.
Currently the addon only shows either the burshwork or the model in the model2 key. Need to show both.
It would be handy if you could set different base paths for different games, so you don't have to overwrite them everytime you want to load a map from a different game.
cast to float, this will make it work.
Objects with a bsp model as a mesh arent rotated as the game wouldnt rotate them. Angles and Angle key are still used for other funtionalities like door opening direction etc.
There are two occurences of variables that are named now in the blender api. Still need to check full functionality after fixing these.
Imported a BSP with two external lightmaps
Extended to 4 Lightmaps by placing LightmapUVs on empty space on the atlas
Bake lightmap
Patch BSP (Lightmaps UVs, Lightmaps, External, Flip, Delete LMs)
Result:
lm_0000 and lm_0001 were written as tiles from the atlas, lm_0002 and lm_0003 ommited
I created them manually using Photoshop and they do work. Meaning UV transfer was successful, registering of the lightmaps as well - just the export did not work.
The external lightmaps had an initial resolution of 4096² and the atlas of 4 lightmaps was 8192²
What works fine was using smaller resolutions or patching BSPs that had only internal lms.
the first import runs fine but if you don't close and then reopen then the second import is just the first import with a few of the second's meshes.
Currently the addon can only export animations.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.