Point Cloud Visualizer

Going back to the Scandy file (not bad for an iPhone), I see that trying to render on Windows seems to still draw a black image, in the default scene, on my system… Perhaps there is more than one issue at play here, between source file, plugin code, and Blender. But all of the source PLY files do seem to import and draw ok. Thanks again!

obj does not support vcols, unless you do something not standard which some application might not understand, like zbrush which adds colors to comments.

i don’t have account so i can’t download, but on the second file i noticed one bug in PCV (so there is a bug afterall). in ply, there is structure like x,y,z,r,g,b,nx,ny,nz and i expect it x,y,z,nx,ny,nz,r,g,b so normals and colors are swapped and then in result you see colors 0-1 and not 0-255, so all almost black, i’ll have a look on it later, but until that, you can uncheck all button and leave subset to 100% you will get whole mesh with colors as expected

no, since 0.4.0 pcv is blender 2.8 only

don’t know as on windows, but cycles works in todays build on osx, i had build from 15.2. before and it was black in viewport render too, in regular render was ok, like vcols has no effect in viewport render.

is there a difference between point cloud and voxels ?

Aha! That explains why it worked with the Scandy file; it had no normals. Thanks for clarifying. I’m able to get the colors instanced to the geometry as desired using the described workflow. Thanks very much for your help and the plugin!

update: 0.8.7 fixed vcols bug in convert

yes, if colors or normals were missing, it has been fixed and sorted in process, but if both were available and all points were requested, it skipped sorting and went straight to instancing with wrong values. it should be fixed now…

btw, what is it? looks interesting

@kilon I’d say they share many similarities and perhaps some philosophical differences… Traditional voxels imply quantized cubes, but of course could be interpolated or instanced, etc. just as point clouds could be quantized and rendered as cubes.

@carbon2 Thanks! Good question…

Looks like it is basically 13 attractors and 100k particles, part of the default preset ‘MagneticRight’ in the excellent glChAoSP, a ‘real time 3D strange attractor scout’.

I’m using it as one method of generating assets for my abstract VR game Bombyx. There is a great plugin for utilizing XYZ point clouds directly in UE, but I’m exploring this pathway to generate a rigged asset for further manipulation as a particle system.
https://twitter.com/bombyxgame
http://www.bombyxgame.net

Thanks for the updated script!

1 Like

another update: 0.8.8 refactored convert to mesh

better, simpler, faster (maybe) data preparation step before instancing

very nice little app

1 Like

0.8.9 ui tweaks, code cleanup
some ui polishing, some code organizing…

1 Like

0.8.10 fixes
fixed last frame of an animation not being rendered…
also added to conversion result object name type of mesh used, so now if you choose cube, converted object will be ‘obname-cubes’, nothing significant, but it helps

1 Like

Why can’t we have this as a regular object that renders normally in Cycles? “feature Request”

Great steps. It’s that possible to implement Selectable points? :slight_smile:

because cycles can’t render point clouds and blender support for point clouds is sadly next to nothing. that would require changes in blender and cycles source…

why would you need that? what would you use it for? i am just curious, i have no idea how to even implement it…

0.8.12 fixes
also blender api changed and last update fixes that, rendering and convert to mesh was broken

2 Likes

Thanks for all your work on point cloud visualisation in Blender, a great addon indeed! :smiley:

1 Like

I could see some use in an option to select and do things on subsets of points (too many to be listed…actually, i’d love the ability to edit clouds with tools like you do i.e. in CloudCompare). But i think this is beyond the scope of a visualizer. Yet a few simple operations like hide/delete, with the ability to save the edited pointscloud, might be a feature to consider in a future release.

1 Like

update: 0.8.13 fixes
fixed gl depth test (no longer automatic in blender)

1 Like

update: 0.8.14 fixes
quick fix, hiding parent object (h key, eye in outliner) had no effect on displayed cloud, now cloud is not drawn when parent is hidden

1 Like

Hello! Thank you for creating this tool, it is potentially going to make certain things possible (or at a minimum easier) in my current use-case. You have saved me a great deal of work.

There is one feature which PCV does not have that would make it significantly more useful to me, and I’m looking at the possibility of adding it. However, to somebody who has never used the Blender API it seems as though this feature should be virtually free to implement, so I would like your take on why it isn’t supported before I delve in.

In the viewport, point clouds behave very nicely. You can display multiple clouds, and everything is properly depth-sorted (i.e. if you stick a box in the middle of the cloud, points behind the box will not be shown). I would like to do standard renders which mimic this behavior. This seems as though it should be simple since viewport and output renders use the same renderers. Is there a subtlety that is not obvious?

Thanks!

EDIT: I think I now understand the problem. In the Blender Python documentation, I found the following line:
“Draw in the 3D view using OpenGL commands from Python”
I note in PCV that you are using OpenGL commands. My inference is that PCV is actually doing its own drawing and not interfacing with the renderer. I don’t claim to fully understand how that works, but if that is the situation then I think I have answered this question for myself.

Great tool, I’ve already been using it. :slight_smile: Thanks for creating this.

if i understand it right, you would like to render only not occluded points, right? i don’t think it is (practically) possible. pcv render has nothing to do with blender renderers at all, it’s just offscreen opengl drawing bunch of points to image. that’s why it only renders single cloud at a time. doing something with the rest of scene etc… would be like reinventing whole new render engine… i have some ideas how to speed up a bit current rendering, but thats’s all…

edit: speedup i was talking about… it doesn’t work, maybe next time :frowning:

1 Like