Yep, that look similar to my needs, thanks ! Is it by default in the addon, or it is a new feature ?
thatās new, i still need to finish some stuff, but will be in next alpha
Hi I am trying to use animation button in blender 3.01 and this pcy 2.0 alpha version and the plugin just renders the animation and overwrites on the same png file over and over againā¦how do i fix this?
hi, i think you donāt have ###
symbols in you output file path which are then swapped for frame number, it should look like this:
without ###
it will always save into one file. number of #
controls number of zero padded digits in frame number
This looks like banding artifacts from floating point precision error rather than skipped points. Are you sure your point cloud is close to world origin when you export it ? Blender and most other 3D softs donāt support very high coordinates.
interestingā¦ probable, never dealt with large scale data. pcv uses single precision floats internally. gpu batch wonāt accept doubles anyway
Iāve seen this happening when importing / exporting from softs like recap which iirc doesnāt support georeferenced point clouds very well. It was actually baked in the point locations so itās not really a display problem. Cloudcompare for instance has a handy feature to move the PC close to world origin on import. Hereās what it can look like if you choose not to :
And in PCV if you import the same PC and click on āCenter View at Pointsā
You can displace the PC close to world origin and apply transforms but it doesnāt solve the banding problem since afaict itās baked in the point locations :
Hereās how it should look like for reference :
It could be interesting to have the same feature on import if PCV detects that a PC location is very far from origin, to displace it. Hereās how the popup looks like in CC :
If this is still of interest, I recently fixed Blenderās PLY Importer to work specifically with MB3D. Details at New PLY Importer v2.0
hmm, should be possible, but i guess only when ply has doubles for locations instead of floats, ply with floats will be already wrong in file. i see threshold in cc is for locations 10 000 and diagonal (for scaling i guess) 1 000 000: https://github.com/CloudCompare/CloudCompare/blob/258a89c64dbe658499664650ef4699b7bbd66562/libs/qCC_io/src/ccGlobalShiftManager.cpp#L33
but i might not be able to preserve transformations and reapply on export, at least not automatically. maybe on user request to transform (translate and scale) points and use doubles in ply (binary only) for locations.
would you so kind and provide some test file? so i have some real world data to test on? some small crop would be enough
ps. and thanks for info! much appreciated
Yeah that seems about right ! I think destructively changing coordinates is not a problem so long as the values are readable / changeable by the user, they can always re-apply it later on export using other means.
Hereās a sample file :
https://drive.google.com/file/d/1iPJxgYUJ5x0tFetcyv6xs2OMgsaSCv8g/view?usp=sharing
If you canāt access it Iāll upload it to another file hosting service.
thanks!
alright, shift and scale upon loading (and i added it for both single/double float coordinates), now integrate it with the rest. some ui, some options for exportingā¦ and las/laz, e57, etcā¦ a lot of work
beautiful! that worked. Thank you so much!
new version availableā¦
1.999.8
All new Tools panel
Place 3D Cursor - places 3d cursor on point under mouse click, cpu and gpu variants, cpu can also align cursor along point normal, gpu place is faster with large datasets (but you still need some extra free gpu memory), cpu is faster on smaller (approx. million and less, but depends on your processing power)
Box Select - select points with box selection, add and subtract, (de)select all, invert selection, remove selected points
Lasso Select - select points with lasso selection, add and subtract, (de)select all, invert selection, remove selected points
Circle Select - select points with circle selection, add and subtract, (de)select all, invert selection, remove selected points
X-Ray Shader
New option in Load panel: Prevent Floating Point Precision Errors - Attempt to prevent floating point precision errors by scaling and moving points to fit <1.0e6 diagonal and <1.0e4 center coordinate. Original scale and location could be optionally restored when points are exported back to PLY using Apply Inverse Shift And Scale
option in Export panel. This works for loading PLY, importing ASCII (it have effect if there are enough decimal places), LAS/LAZ, PCD and E57 (when using pye57, pymeshlab seems to do its own correction that canāt be restored back). If correction took place, Shift
and Scale
values in Load panel are not 0.0, 0.0, 0.0
and 1.0, 1.0, 1.0
.
aaand fixed render error when Depth Sort is used together with render passes
quick note, blender 3.1 have bundled python 3.10, so while PCV works, 3rd party libraries might not. i am sure it will be case of Open3D (no py3.10 wheel, and no signs it will be available soon), maybe others as well. will test everything. on side note, why the rush with bumping python versions in blender lately? no ideaā¦
another thing is, stable blender 3.1 build have again disabled new native pointcloud object type, so conversion to it will fail. but blender 3.2 alpha have it enabled, so if you want render in cycles, use that.
i will check all in blender 3.1 and update installation notes
I have to say I am impressed by the possibilities the geometry nodes workflow opens up.
Having true ambient occlusion in the shader editor is awesome. Weāre getting really close to a seamless experience in bringing other models in the PC.
Also, Geometry Nodes !
For reference this point cloud has 10M points. I think thatās the limit for working comfortably on my mid range computer. The only thing I have trouble with is working with more data. I often have 100M+ datasets and I just donāt see it loading in Blender. The conversion time is I think exponentially longer the more points there is to load.
@carbon2 do you reckon this is a hard limit and it canāt be pushed with more optimization or maybe we can dream of working with 100M+ native PCs at one point ? I have hope because the native PC is at its infancy and already pretty impressive.
Also I agree on the python version jumps, I donāt like having to manage several versions of Blender and addons because some modules have not and may not ever be updated to the latest python versionā¦ But there are a lot of people still using 2.79 for a variety of reasons so I guess thatās a drawback of pushing new features.
there is one catch in conversion to geometry nodes. to colorize mesh instances they need to be merged into one big mesh then vertex colors are created by vertex index manipulation. i donāt know any other way to colorize instances directly. so i guess that is huge performance bottleneck.
on the other hand, there is native point cloud object type. but it is enabled only in alpha blender builds (from my experience, donāt know specific reason for it), geometry nodes works on it too, i use it to set point radius. and it can be rendered in cycles (from blender 3.1) as spheres. i suggest you to give a try. download blender 3.2 alpha, load points to PCV and in Convert panel choose Native Point Cloud
type
Yeah sorry I noticed that wasnāt very clear in my post, but it is actually a native point cloud displayed in the latest 3.2 alpha build using the latest version of PCV too. I did notice magnitudes improvements in loading times between regular mesh and native point cloud. This conversion took about 1-2 minutes. Iām impressed by the responsiveness and the seamless integration with the shader system and geometry nodes workflow !
I just dream of being able to load 100M+ PCs instead of 10M like I did in my previous post on a regular desktop computer. But I guess itās just about solving one bottleneck after another
The reason they didnāt ship it with 3.1 is because if a feature is not complete when a release candidate is chosen, itās removed from the build and postponed to the next version. They did the same thing with the extended asset browser types. And the native point cloud type is not yet feature complete so itās not officially released.
ah ok, i consider native point cloud best option for conversion to blender data and rendering, soo, thatās that.
yeah i know, even then it is still hidden under experimental in preferences. geonodes can generate points if you want to, so part of it is already thereā¦
small update this timeā¦
1.999.9
- new
Add Colors
andAdd Normals
filters to create Colors and Normals from scalar values - new
Invert Selection
operator inTools
- new
Save As Render
option to use view transformation as set in Color Management properties - render operator is now using properties from:
Output Properties > Format
,Output Properties > Output
andRender Properties > Color Management
instead its own, more standard path handling, save any still image format, all color and color depth options, color management looks, etcā¦ -
pye57
support for reading multi scan e57 files - compatibility with
pymeshlab 2022.2.post2
- fixed pip installing latest package instead of specific version
- fixed clip planes in
Color Adjustment
shader