Comments (7)
Take a look at the various curves in three (like https://threejs.org/docs/#api/en/extras/curves/CatmullRomCurve3) you can pass your points to the curve and then get back however many points you need with curve.getPoints( number )
. Playing around with the various settings may work!
from three.meshline.
I'm not one of the devs and they may help more BUT it looks like a bug. Meshline really struggles with too much variation on the z-axis. If you add wireframe: true
to your material you may see that the mesh itself is not evenly wide.
I did a quick test here and it confirms the issue:
- https://pacific-alike-justice.glitch.me/ (preview)
- https://glitch.com/edit/#!/pacific-alike-justice?path=script.js%3A23%3A115 (source)
Reducing the Math.random() in the z of points visibly solves the problem and the mesh stops bending. So maybe adding more points in your geometry could solve the problem.
from three.meshline.
Hard to say without seeing the code.
- What points/vertices are you passing to Meshline?
- Are you using setPoints after?
- Are you maybe passing some strange arguments to the setPoints second parameter that sets the width?
from three.meshline.
- Any points that are not straight-line looks like above
- I am using setPoints
- my second parameter looks like this:
line.setPoints(new Float32Array(points), p => 1);
So it does nothing special. I just tested it.
Additionally, my material looks like this:
const color = new THREE.Color(getColor(propertiesColor, 'hex'));
const material = new MeshLineMaterial({
map: null,
useMap: false,
color,
dashArray: false,
resolution: new THREE.Vector2( window.innerWidth, window.innerHeight ),
sizeAttenuation: true,
lineWidth: 1200
});
from three.meshline.
adding more points in your geometry could solve the problem
I thought about this too, but I am not sure about the performance + I would need to calculate points in between 2 points (shouldn't be hard). Still, I was really surprised how hard it is to create such a line path in three.js in XXI century 😄
from three.meshline.
Has the problem been solved?
from three.meshline.
Ran into the same issue today, it appears that duplicating each point besides the first and last works pretty well. You get a thick, consistent line between each point.
Instead of this:
points = [
new THREE.Vector3(-5, 0, 0),
new THREE.Vector3(5, 0, 0),
new THREE.Vector3(5, 10, 0),
new THREE.Vector3(-5, 0, 0),
]
You want this:
points = [
new THREE.Vector3(-5, 0, 0),
new THREE.Vector3(5, 0, 0),
new THREE.Vector3(5, 0, 0),
new THREE.Vector3(5, 10, 0),
new THREE.Vector3(5, 10, 0),
new THREE.Vector3(-5, 0, 0),
]
from three.meshline.
Related Issues (20)
- Dashed lines disrupt transparent planes they're drawn over
- Confusing result after scaling HOT 1
- ThreeJS r125 is incompatible with MeshLine HOT 2
- After a recent update, line width is half, only right half is visible (not obvious)
- Low precision on Raycaster
- BufferGeometry need to be called with `new` HOT 5
- Maintainers HOT 12
- Class constructor ShaderMaterial cannot be invoked without 'new' HOT 2
- Is there any way to create a line mesh with a z thickness?
- Possible bug: An upper limit on the number of vertices in a MeshLine
- Bug in perspective camera
- instanciating a new mesh material has to be done with 'new' HOT 6
- Is there a way to fix how mesh line loads up?
- MeshLineMaterial.copy fails
- Meshline to replace LineSegments
- Can I use this component with ar.js webcam?
- Examples do not work HOT 7
- WARNING: Multiple instances of Three.js being imported. HOT 3
- project is inactive? HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from three.meshline.