12
2012
Marching Tetrahedrons
Tried to convert this marching tetrahedrons (by Mikola Lysenko) to Unity Javascript.. but its not working yet (^ that should be a sphere..)
Source (bugged, see the original source above and try to fix this?..Oo )
** See comments section for fixed version
//#pragma strict
import System.Collections.Generic;
var res = new Array(3);
private var grid:float[] = new float[8];
private var cube_vertices = [
[0,0,0]
, [1,0,0]
, [1,1,0]
, [0,1,0]
, [0,0,1]
, [1,0,1]
, [1,1,1]
, [0,1,1] ];
private var x:int[] = new int[3];
private var vertices:List.
private var faces:List.
function Awake ()
{
x[0]=0;
x[1]=0;
x[2]=0;
}
function Start ()
{
var verts:Vector3[] = MarchingTetrahedra(makeVolume(),res);
var triangles : int[] = faces.ToArray();
for (var n=0;n
t = g0 / t;
}
for(var i=0; i<3; ++i) {
v[i] += p0[i] + t * (p1[i] - p0[i]);
}
vertices.Add(new Vector3(v[0],v[1],v[2]));
return vertices.Count - 1;
}
function makeVolume()
{
var dims = [[-1.0, 1.0, 0.25],
[-1.0, 1.0, 0.25],
[-1.0, 1.0, 0.25]];
for(var i1=0; i1<3; ++i1) {
res[i1] = 2 + Mathf.Ceil((dims[i1][1] - dims[i1][0]) / dims[i1][2]);
}
var volume = new Array(res[0] * res[1] * res[2]);
var n:int = 0;
var zz:float=dims[2][0]-dims[2][2];
for(var k=0; k
11 Comments + Add Comment
Leave a comment to doodyo
Recent posts
- MotionVector Effect: Object “disappears” when paused
- [GreaseMonkey] Unity Forum Fixer
- UnityHub: Make Hub application background Translucent
- Customize SpriteShapeRenderer quality (but has issues)
- Editor tool: Copy selected gameobject’s names into clipboard as rows (for Excel)
- Editor tool: Replace string in selected gameobject’s names
- UnityHub: Enable built-in Login Dialog (no more browser login/logout issues!)
- Use TikTok-TTS in Unity (with WebRequest)
- Create Scene Thumbnail Image using OnSceneSaved & OnPreviewGUI
- webgl+javascript TTS
- Using Moonsharp (LUA) + Unity Webgl
- Using 3D gameobject prefabs with Unity Tilemap + NavMesh Surface
Recent Comments
- Using RenderDoc with Unity (graphics debugger) on
- UI Scroll View automatic Content height on
- [Asset Store] Point Cloud Viewer & Tools on
- [Asset Store] Point Cloud Viewer & Tools on
- Vector3 maths for dummies! on
- UnityHub: Make Hub application background Translucent on
- UnityHub: Make Hub application background Translucent on
- Install Android SDK+JDK+NDK for Unity (without AndroidStudio or Unity Hub) on
Bugged source added.. place it to gameobject with MeshFilter & MeshRenderer.
Fantastic Demonstration WebGl Thing there! the “naive surface nets” are AWESOME also.
here is a link to some great 3d shapes “Gyroids” which i didnt understand
http://k3dsurf.s4.bizhat.com/k3dsurf-ftopic119-15.html
awesome website as always!
hello,
I just copied this code into new scene, put it on a GameObject with mesh renderer, everything apparently runs all right but I can’t see any mesh at all. The scene is blank, the GameObject doesn’t present any mesh or texture. it’s strange!?
hey it’s okay, I had put mesh filter and no mesh renderer! Thanks!
Hello!
I have made some progress- instead of calculating a sphere, I separately calculated XY and Z as a plane.
http://i50.tinypic.com/2z4l73m.jpg
[IMG]http://i50.tinypic.com/2z4l73m.jpg[/IMG]
The X-formulas seem to have calculated okay
The Y and Z seem to be bugged
instead of xx+yy+zz-1 in the last line of code
I put x-1
y-1
z-1
I had a little poke around and fixed a few triangles.
https://sites.google.com/site/aliadevlog/marching-tetrahedrons-for-unity3d-javascript
Thanks!
(didnt notice the download arrow button at first..its there at bottom right
Hi there,
Iam a little bit late for this amazing party, just found your port of marching tetra. But I saw that you also have a screenshot of surface nets in unity, can you share it?
Thanks a lot
Yes, can you please share your surface nets implementation? It shouldn’t be too hard to write, though.. so if you’re unwilling to share, maybe I’ll write it and share it.
There’s a JS implemenation of surface nets perhaps here: https://0fps.net/2012/07/12/smooth-voxel-terrain-part-2/ …. … https://github.com/mikolalysenko/mikolalysenko.github.com/blob/master/Isosurface/js/surfacenets.js github addy…
To voxelize an ISO, i know a bunch of methods… depends if you want to solid fill with cubes or put cubes on the iso border spaces. * SurfaceNets in JavaScript
*
* Written by Mikola Lysenko (C) 2012 if you run it in Unity please share your conversion!