GithubHelp home page GithubHelp logo

babylonjs / editor Goto Github PK

View Code? Open in Web Editor NEW
813.0 813.0 230.0 484.35 MB

Community managed visual editor for Babylon.js

Home Page: http://editor.babylonjs.com/

CSS 0.61% TypeScript 96.65% JavaScript 0.27% HTML 0.34% HLSL 2.12%

editor's People

Contributors

babylonjsguide avatar bmcbarron avatar bradlybarnacles avatar connorlanigan avatar deltakosh avatar dependabot[bot] avatar eherozhao avatar gotwig avatar gregfagan avatar headclot avatar ideologism avatar jniac avatar juliaaburch avatar julien-moreau avatar k8debug avatar prestomation avatar samjoch avatar sovea avatar the-simian avatar tonypapousek avatar vrambaud avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

editor's Issues

Modifications events

Hi,

Is there a way we can listen for all modifications ?
Something like:

BABYLON.Editor.on("change", (object, attribute, value) => { //DO STUFF HERE });

Where "object" can be the mesh or the material edited, "attribute" can be "diffuseColor", and "value" the hexa of the diffuse for example ?

Regards,

crosswalk/cordova plugin

Would be awesome to be able to use the editor in crosswalk-cordova apps, since it's a Chromium embedding optimized for cross-platform HTML5.. To start, could package as a plugin to cordova with a dependency on the crosswalk plugin.

Crash after setting "sphereGlass" reflection texture to "none"

Hi Julien:

In the default scene, I've disconnected the environment on each PBR material in order to use the global one in the scene node.

No issues on each material, but when setting the "sphereGlass" material reflection texture to "none", I get the following error and the scene go non-responsive and everything, except the environment, disappears.

Following is the web-console dump:

TypeError: reflectionTexture is undefined

babylon.max.js:36149:25
PBRBaseMaterial.prototype.isReadyForSubMesh
http://editor.babylonjs.com/libs/preview%20bjs/babylon.max.js:36149:25

Mesh.prototype.render
http://editor.babylonjs.com/libs/preview%20bjs/babylon.max.js:24166:22

SubMesh.prototype.render
http://editor.babylonjs.com/libs/preview%20bjs/babylon.max.js:26151:13

RenderingGroup.renderUnsorted
http://editor.babylonjs.com/libs/preview%20bjs/babylon.max.js:17603:17

RenderingGroup.prototype.render
http://editor.babylonjs.com/libs/preview%20bjs/babylon.max.js:17503:17

RenderingManager.prototype.render
http://editor.babylonjs.com/libs/preview%20bjs/babylon.max.js:17299:21

Scene.prototype._renderForCamera
http://editor.babylonjs.com/libs/preview%20bjs/babylon.max.js:20501:13

Scene.prototype._processSubCameras
http://editor.babylonjs.com/libs/preview%20bjs/babylon.max.js:20553:17

Scene.prototype.render
http://editor.babylonjs.com/libs/preview%20bjs/babylon.max.js:20755:17

n</n.prototype.update
http://editor.babylonjs.com/libs/preview%20release/babylon.editor.js:4:30868

n</n.prototype.createRenderLoop/<
http://editor.babylonjs.com/libs/preview%20release/babylon.editor.js:4:30294

Engine.prototype._renderLoop
http://editor.babylonjs.com/libs/preview%20bjs/babylon.max.js:9057:25
<anónimo> self-hosted:952:17

Environment texture lost on re-opening

Hi Julien:

Please check the following behavior.

When using a global environment texture, it is lost on re-opening. It is disconnected from the global Scene environment but also deleted from the textures list.

So one has to re-import the texture and re-apply it.

Thanks for your time.

Material Editor

Begin material editor using Edition Tools. So the community will be able to build their own edition tools for their own materials

Or, ask the community what they would like to have ? While it is plugin based

Deletion of unused textures

Dear Julien:

In order to reach a more productive tool, we think the user should have a way to remove the unused textures from the project.

Now (as you know) we have a textures list, and we can add new ones but not to delete them.

Best regards.

You can only open the particle edit window once.

  • Added a particle system to the plane in the scene.
  • Clicked on the particle system in the outliner.
  • Opened the Edit Window under Functions.
  • Edited particle system(or don't doesn't make a difference), close the edit window.
  • Try to open edit window a second time, it won't open.

On top of that, after using the edit window I can no longer add more particle systems.

[V2] New font

We should decide on a font.

sans-serif would be a good font

Unable to run in Electron

Would be awesome to be able to use the editor in Electron as a Desktop Application but currently loading it into Electron as is produces quite a few runtime errors.

base64String data

Hi Julian:

First of all, I´d like to apologize for the inconveniences, as this is probably not the place to submit this kind of question (not an issue I hope), but indeed is has been the only (an one question at HTML5DevGames BJS forum) way I have found in order to contact you about one think I´d like to resolve, related to your superb BJS Editor.

We, in our company, are trying to use your BJS Editor as a main tool in our Web RT 3D workflow.

The guys at CGI and Art department like the PBR way to manage materials. Current BJS Exporter (Blender) version doesn't implement this kind of materials. Fortunately, your last version of BJS Editor does.

Sadly, when we export scenes (as a .babylon) from your BJS Editor, we obtain really huge files.

Sniffing in the code we see several "base64String" fields, that seems to be responsibles of such a big size:

"albedoTexture": {
    "tags": null,
    "url": "columna_basecolor.png",
    "uOffset": 0,
    "vOffset": 0,
    "uScale": 1,
    "vScale": 1,
    "uAng": 0,
    "vAng": 0,
    "wAng": 0,
    "isBlocking": true,
    "name": "columna_basecolor.png",
    "hasAlpha": false,
    "getAlphaFromRGB": false,
    "level": 1,
    "coordinatesIndex": 0,
    "coordinatesMode": 0,
    "wrapU": 1,
    "wrapV": 1,
    "anisotropicFilteringLevel": 4,
    "isCube": false,
    "gammaSpace": true,
    "invertZ": false,
    "lodLevelInAlpha": false,
    "lodGenerationOffset": 0,
    "lodGenerationScale": 0.8,
    "isRenderTarget": false,
    "animations": [],
    "base64String": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAEAAAABAACAIAAAB9wbNAAAAACXBIWXMAAAsTAAALEwEAmpwYAAAgAElEQVR4nOzdO27bQABF0Rjwprj/gstiCgKC4a8sDU1e8pwqSBxlCjly8S7nZVmWfwAAAAAAAAAAAAAAwLG97n0AAAAAAAAAAAAAAADg . . . (excerpt) . . . AABgQAAAAAAAAAAAAAAAAYEAAAAAAAAAAAAAAAAGBAAAAAAAAAAAAAAAAAgAEBAAAAAAAAAAAAAAAABgQAAAAAAAAAAAAAAAAYEAAAAAAAAAAAAAAAAGAgscGvDKLC+w0AAAAASUVORK5CYII="
}

Here my questions:

  • Is the "base64String" data:image/png data the same that we already have in the url "columna_basecolor.png"?
  • If yes, can we obtain the .babylon files w/o this apparently redundant info?
  • Anyway, can we directly delete this field (base64String property) of the "albedoTexture" object?

Addendum:

In the case of environment (.DDS) base64String strings are referring as a URL not to a file but to a data, and so may be it is not possible the url-only way I asked for before:

"environmentBRDFTexture": {
    "tags": null,
    "url": "data:EnvironmentBRDFTexture",
    "uOffset": 0,
    "vOffset": 0,
    "uScale": 1,
    "vScale": 1,
    "uAng": 0,
    "vAng": 0,
    "wAng": 0,
    "isBlocking": true,
    "name": "EnvironmentBRDFTexture",
    "hasAlpha": false,
    "getAlphaFromRGB": false,
    "level": 1,
    "coordinatesIndex": 0,
    "coordinatesMode": 0,
    "wrapU": 0,
    "wrapV": 0,
    "anisotropicFilteringLevel": 4,
    "isCube": false,
    "gammaSpace": true,
    "invertZ": false,
    "lodLevelInAlpha": false,
    "lodGenerationOffset": 0,
    "lodGenerationScale": 0.8,
    "isRenderTarget": false,
    "animations": [],
    "base64String": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAgAElEQVR4Xu19Z7PtTHbW1g3jMMbGmGDAZAMm5xxMLD . . . (excerpt) . . . BLavolXEyAM6obnTMzHEqoMuc09HxKv2rbTPAVYZO/ydUbXfkKP4/BnecprBuissAAAAASUVORK5CYII="
},

My question:

  • can we change that data:EnvironmentBRDFTexture to a .DDS file url? (of course deleting also the base64String)

Thanks for your time.

Best regards.

Attribute "Use Roughness From Metallic Texture Green" doesn't work... take 2

Hi Julien:

About the closed "Attribute "Use Roughness From Metallic Texture Green" doesn't work" issue, we see that now the BJS docs (v3.1) says you have:

  • red channel for ambient occlusion;
  • green channel for roughness
  • and blue channel for metallic.

This has been changed from previous versions.

Anyway we can´t see any update in the textures of the editor scene when we set/unset the channels check-boxes.

Best regards.

[V2] Edit Panel Scrollbar is too hard to scroll

Because of the new Golden Layout Manager the scrollbar is not easily usable.

A solution is to set the css property overflow for child div element (class="dg main taller-than-window") of id="SCENE-TOOL" :

overflow: visible;

Metalness parameter bug

  • Choose an object that has Standard Material
  • Click on Convert to PBR material
  • Go to PBR properties and you will find "metalness" property MISSING (BUG)
  • Deselect the object, select it again, add a metalness texture, check and uncheck boxes for metalness, deselect and select again.. and sometimes metalness property appears.

Please fix the metalness property so it is always visible and it works as expected.
By default the object is pitch black and metalness cannot be altered.

It would make sense to be able to modify the metalness without adding a texture.
The same for the roughness, it would make sense to be able to add it without adding a texture

Environment texture not possible to be applied globally

Hi Julian:

I'm here again with a battery of "wishes" to be included in your awesome BJS Editor. For your convenience I'm sending each one as a different issue.

The first of them is to have a mechanism which enable us to set the environment texture in a global way, not as a per material basis, as we think is the common case.

Best regards.

VScale parameter reversed

Hi Julian:

Please note that all textures appear wrong when applied because they have the VScale parameter reversed. One has to set it to -1 in order to see the textures correctly.

If scene is saved and reopened, the textures are reversed again. But putting the textures in first place without changing anything, saving the scene and reopening it, will display the texture correctly.

Best regards.

Add support of physics simulations

Serialize and Parse physics options of meshes (verify if not already done)
Isolate and test simulations for a given mesh
Allow chained physics bodies

Scale factor and all those things

Dear Julien:

A pair of questions that can be certainly related:

  • it could be good to have some kind of scale factor, in order to be able to manage scenes with very-different scales from the default one of the editor;

  • also, to have implemented the BJS Camera's wheelPrecision property would be great;

  • by the way we find that the Camera's speed property doesn't work at all, or al least not as expected.

Best regards.

Mesh Editing

julien great work. I've been watching for a while, and forgive me if I simply missed it.... is there mesh editing feature at all? I am crafting large landscapes, and wrote some initial mesh editing code (babylon: click and key press move vertices x,y,z). Also, this can probably be extended in many ways.... is this a roadmap item? I would be honored to contribute a pull request if that is the state of things. Thx. :)

About materials (deletion or augmentation)

Hi Julien:

Another functionality we found would be very nice to have is the BJS Editor is the ability to delete the default materials, or else to transform then from Standard to PBR.

What are your thoughts on this?

Thanks for your time.

New feature: Export to code

Some of us work with very heavy models (each having about 50mb or more).
If the whole scene is exported as .babylon, then Chrome crashes during the export since it cannot handle so much data.

If the scene is exported as gltf, then all the special code is lost.

My suggestion would be to add a new export option that does the following:
a - Creates an HTML file with Babylon JS code (reflecting all the changes done in the editor. It could also be a zip file that contains the html/js files, or a simple html with dependencies online)
b - Exports all models as gltf files, and textures, one by one. (multiple saves)

If (b) is too complicated, it would be nice to atleast have (a) and the developer can later place all gltf files and textures manually next to the html file.

I would really appreciate it if you could add this feature. Thanks so much!

Scene Serialization

Serialize and Parse scene animations
Serialize and Parse sound animations
Serialize and Parse particle systems animations
Serialize and Parse post-processes (+ animations in V1.0)

Fix Serialize and Parse functions in WaterMaterial and FurMaterial

Where have gone the rain particles?

Hi Julen:

First of all, let me congratulate you for this brand new version of "Da Editor".

From here only a, let's say trivial question.

Days ago I could take a brief look to the (online) V2 and it showed some very realistic raindrops in the scene, even with apparent floor bouncing.

I can´t see them now in the scene and the case is that I'm very interesting in study their implementation.

Best regards.

One-step browse+assign texture

Hi Julien:

More suggestions/wishes from Vórtice here.

With the current version of the editor, one can choose the texture from a list (of scene loaded textures) or to load it by browsing.

The case is that when you browse the texture, the editor loads it in the scene, but doesn´t assign it immediately ; so you must to do the additional step of assign from the drop-down list.

Could be implemented this browse(load)+assign texture in only one step?

Best regards.

Draw helpers

Draw helpers for

  • camera
  • sound (with a sphere for spatialized sounds, when selected)
  • lights

Reflection probes "way of use"

Hi Julien:

Always testing this awesome tool, we are now focus on reflection probes functionality.

We find that it could be more "ergonomic" to have attached the probe to the mesh in only one-step (by instance from Attach to Mesh).

Now you need to click "Attach to Mesh" in the probe, and then to do an additional step consisting in go to the PBR material and replace the reflection color with the probe one.

Best regards.

Please add UNDO

Dear Julien:

Well the title of this issue is auto-descriptive.

We think the UNDO functionality is a must in each production tool.

Best regards.

[SOLVED] Viewer is not loading glb files correctly

Glb and babylon files exported from 3ds Studio Max are not imported correctly.
Faces are "flipped". Lighting is happening on interior faces of mesh. Exterior faces are being "back culled".
Very strange.

Related to this issue: BabylonJS/Exporters#132 (comment)
The issue is twice (once here and once on the exporter) since there are actually 2 issues (or mulitple concurring bugs).

ThreeJS importer can read the non-working GLB file just fine, so that confirms there is a bug on the Editor.

@deltakosh

Is it possible to access objects created with the editor with JS code?

Hi Julien,

I'm currently evaluating my options regarding 3D JS frameworks. I'm not fond of visual scripting like action builder, but I'd like to have a visual scene editor for my project that can work together with me writing JS scripts. Is it possible to attach JS scripts to objects I created in this editor or otherwise write scripts, embed them in the project and access editor-created objects with it?

Cheers,
Tobias

Can't build on Linux

Tried to build it in Linux, Centos7, but couldn't. I think there is a problem with the Electron dependency.
I attached the npm log for the master branch.
Tried both branches, none worked.
I'll try to build it on Windows.

Anyway, it's a great work you are doing!
I would like to add text in the scene, that would be excellent.

Thanks,
Lisandro Tapia
npm-debug.txt

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.