Git Product home page Git Product logo

Comments (3)

NickAcPT avatar NickAcPT commented on May 26, 2024 1

Short version

Normals are set correctly on NMSR renders. Blockbench doesn't let me specify normals of the vertices directly.

Long version

This is a known issue and back when I was implementing the generator itself, I was aware of this issue.

Here's an old screenshot of the same thing happening (don't mind the broken rotations, this was a WIP): image

The way that this tool works is by converting the NMSR player part models into Blockbench primitives.

While developing this, I was initially using cubes, later I finally switched over to using Meshes.
The downside of using meshes is that Blockbench doesn't let me specify normals, they just guess them (?) based on something I'm yet to properly understand.

Rest assured however that the normals are correct when rendering.

from ears-tools.

DearFox avatar DearFox commented on May 26, 2024

Short version

Normals are set correctly on NMSR renders. Blockbench doesn't let me specify normals of the vertices directly.

Long version

This is a known issue and back when I was implementing the generator itself, I was aware of this issue.

Here's an old screenshot of the same thing happening (don't mind the broken rotations, this was a WIP): image

The way that this tool works is by converting the NMSR player part models into Blockbench primitives.

While developing this, I was initially using cubes, later I finally switched over to using Meshes. The downside of using meshes is that Blockbench doesn't let me specify normals, they just guess them (?) based on something I'm yet to properly understand.

Rest assured however that the normals are correct when rendering.

By the way, why did you abandon cubes and switch to a Meshes?
I modeled the basic elements of ears mod in blockbench, and cubes always seemed more logical to me for these purposes.

The reason for the inconvenience is that, at a minimum, the lighting at these training grounds does not work correctly. This is not critical but a little confusing.

By the way, I heard that the order of the vertices with which you draw it in 3D space determines where the polygon faces. I don’t know if blockbench works the same way, but maybe it might help.

from ears-tools.

NickAcPT avatar NickAcPT commented on May 26, 2024

By the way, why did you abandon cubes and switch to a Meshes? I modeled the basic elements of ears mod in blockbench, and cubes always seemed more logical to me for these purposes.

Initially, I was also using cubes for everything. I've also modelled some Ears stuff manually before and used cubes as well. I was having some weirdness with how Blockbench handled rotations and I decided I wanted to use nmsr's own transformations on the elements.

Also Ears parts are mostly just quads, so representing them as cubes felt a little bit janky.

By the way, I heard that the order of the vertices with which you draw it in 3D space determines where the polygon faces. I don’t know if blockbench works the same way, but maybe it might help.

Yeah, Blockbench does test the meshes to try and figure out the order.
In the future, I will try to figure out how to fix it. Nmsr parts practically emit triangles that are then rendered (a quad being 2 triangles), but for my blockbench model generation code, I take those and then operate on the 4 corners of the quad to try and avoid having a triangle line in the middle of each quad.

from ears-tools.

Related Issues (2)

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.