Giter VIP home page Giter VIP logo

cesium-ion-blender-addon's People

Contributors

analyticalgraphics avatar mramato avatar projectbarks avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cesium-ion-blender-addon's Issues

[FR] Add support to load Bing/Google 3D tiles to blender.

Relating to this issue : CesiumGS/cesium-unreal#1271

I believe it would be beneficial to provide Blender/Unreal with equivalent access to 3D tiles, enhancing the toolset available for modeling and animation on the Cesium surface.

Additionally, implementing an option to cache tiles—allowing their fixation or the programming of Level of Detail (LOD) for a specified volume zone via blueprint or geometry node—could prove highly advantageous. The current transitions between LODs are quite noticeable. An alternative to the existing dither transition would be welcome, as it tends to significantly delay transitions, resulting in tiles that appear blurry for an extended period during sequence rendering.

Official Commercial Blender Addon

Here is the process for becoming an official blender addon...

Source: https://wiki.blender.org/wiki/Process/Addons

External "Commercial" Addons

Blender Foundation will accept add-ons from commercial vendors or services (like 3d printing, web publishing, renderfarms) under the following conditions:

  1. Compliancy - The add-on should comply to the same quality/design rules as we do for regular add-ons. That includes license compliancy, but also to not include banners, logos or advertisement.
  2. Clear user benefit - The add-on should provide functionality to 3D artists that's useful to have inside Blender. It can't be for promotional usage of non-functional features (like linking to websites only, for tutorials, etc).
  3. The add-on will by default not be enabled - Developed and maintained well
    The add-on is being created and maintained by the service provider (or a contracter managed by them).
  4. Development Fund support - The service provider signs up for Diamond Sponsor level (250 euro per month). Cancelling a payment then also means we can drop the add-on. Any service that's not making this profits per month with an add-on, can be considered to be not interested to have such an add-on either.

Automatic Vendor Creation Fails on Windows

When running on windows automatic vendor creation does not work.

The command python3 utils.py vendor outputs...

python3 utils.py vendor
Checking for old third_party...
Installing vendor (Ignore non-exitting errors)...
/usr/lib/python3/dist-packages/pip/commands/install.py:212: UserWarning: Disabling all use of wheels due to the use of --build-options / --global-options / --install-options.
cmdoptions.check_install_build_global(options)
Cleaning up...
Traceback (most recent call last):
File "utils.py", line 149, in
install_third_party(module_dir)
File "utils.py", line 130, in install_third_party
packages_dir = next(Path(tmp_vendor_dir).glob("**/site-packages"))
StopIteration

Support Blender 2.7

The Problem

Currently the project is built for blender 2.8 which uses python 3 instead of version 2. It also means the glTF exporter is not bundled by default. If the demand is high enough or if there is enough residual users of blender 2.79 that could warrant making a 2.79 version.

Execution

To do this we would have to backport python 3 code to version 2 using a library like 3to2. Additionally, the gltf exporter would have to be bundled with our project so the user has the library by default. As long as the library for converting from python 3 to python 2 works the bundling would not be too hard.

Final Thoughts

I think version 2.8 will suffice for but it could be something we decide to approach if the demand is there.

Invoke from the export menu, without local file dialog

Matt asked me to look into ways to open an upload dialog from the File -> Export menu, without causing a file dialog to show up.

I did a little testing, and I was able to get a mostly-blank Blender "Operator" to run there. By default, most export examples declare a Python class like this:

class ExportSomething(bpy.types.Operator, bpy_extras.io_utils.ExportHelper):

This is Python's multiple inheritance, and including the ExportHelper as a base class is what mandates the file dialog will show up. But this is not required to install a generic operation into the export menu. For example:

class Export2ion(bpy.types.Operator):
    bl_idname = 'export_scene.cesium_ion'
    bl_label = 'Upload to Cesium ion'
    bl_options = {'REGISTER', 'UNDO'}

    def execute(self, context):
        # Do something to show the upload UI...
        print("**** Open upload options panel here ****")
        return {'FINISHED'}

# end of class Export2ion

def menu_func_export(self, context):
    self.layout.operator(Export2ion.bl_idname, text='Cesium ion...')

def register():
    bpy.utils.register_class(Export2ion)
    bpy.types.TOPBAR_MT_file_export.append(menu_func_export)

def unregister():
    bpy.utils.unregister_class(Export2ion)
    bpy.types.TOPBAR_MT_file_export.remove(menu_func_export)

This doesn't answer the question of how exactly to show the upload UI to the user. But it allows one to install a menu option in the export list that will invoke arbitrary Python code, without needing to display a file dialog.

@ProjectBarks @mramato

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.