Assimp not loading hierarchy of obj file exported from blender - graphics

I made a model in blender with hierarchy looking like this
exported it as .obj file
then I loaded this file in opengl with Assimp
Assimp::Importer importer;
const auto * scene = importer.ReadFile(filename, aiProcess_Triangulate);
if (!scene || scene->mFlags & AI_SCENE_FLAGS_INCOMPLETE || !scene->mRootNode)
{
Logger->log(importer.GetErrorString());
return;
}
the mRootNode contains 30 children, which is the number of objects in the scene but each of these child contains no children so it seems like either Assimp discarded the hierarchy information or blender didn't output the hierarchy information.
can someone tell me what I'm missing here?
Thanks

this is a knows bug in the obj-importer from Assimp. We do not store the group hierarchy correctly. It would be great to get a small example that I can try to fix the issue, because in the past I didn't find the time for it.
Thanks a lot for fingerpointing me :-)!
Kim

Related

The spine plugin for Phaser gives an error

I'm trying to upload the plugin to my project, tried all the methods, but nothing works. Returns an error
Uncaught TypeError: Cannot read properties of undefined (reading 'createSkeleton')
at initialize.set Skeleton (<anonymous>:1:290667)
at new initialize (<anonymous>:1:289262)
at Game Object Factory.spine (<anonymous>:1:54310)
at MainWindow.create (MainWindow.js?21c4:53:27)
at SceneManager.create (phaser.js?d4ef:89720:1)
at SceneManager.loadComplete (phaser.js?d4ef:89632:1)
at Loader Plug in.emit (phaser.js?d4ef:1908:1)
at Leaderplugin.loadComplete (phaser.js?d4ef:192810:1)
at Loader Plug in.file Process Complete (phaser.js?d4ef:192776:1)
at t.on Process Complete (<anonymous>:1:25378)
I work on a local server. Here is a code example of how I connect everything
I think it's the same problem I had. My spine JSON data were saved in an old format. You probably used DragonBones, which exports only version 3.3 spine data.
Here are the details someone remarked what's wrong with the file. You have three options: (A) change the file manually each time you export it, (B) use the python file the dude provides there, or (C) make a function to change the data structure accordingly after they are loaded and before the skeleton is added to scene. (This is the way I went.)

Weights&Biases Sweep - Why might runs be overwriting each other?

I am new to ML and W&B, and I am trying to use W&B to do a hyperparameter sweep. I created a few sweeps and when I run them I get a bunch of new runs in my project (as I would expect):
Image: New runs being created
However, all of the new runs say "no metrics logged yet" (Image) and are instead all of their metrics are going into one run (the one with the green dot in the photo above). This makes it not useable, of course, since all the metrics and images and graph data for many different runs are all being crammed into one run.
Is there anyone that has some experience in W&B? I feel like this is an issue that should be relatively straightforward to solve - like something in the W&B config that I need to change.
Any help would be appreciated. I didn't give too many details because I am hoping this is relatively straightforward, but if there are any specific questions I'd be happy to provide more info. The basics:
Using Google Colab for training
Project is a PyTorch-YOLOv3 object detection model that is based on this: https://github.com/ultralytics/yolov3
Thanks! 😊
Update: I think I figured it out.
I was using the train.py code from the repository I linked in the question, and part of that code specifies the id of the run (used for resuming).
I removed the part where it specifies the ID, and it is now working :)
Old code:
wandb_run = wandb.init(config=opt, resume="allow",
project='YOLOv3' if opt.project == 'runs/train' else Path(opt.project).stem,
name=save_dir.stem,
id=ckpt.get('wandb_id') if 'ckpt' in locals() else None)
New code:
wandb_run = wandb.init(config=opt, resume="allow",
project='YOLOv3' if opt.project == 'runs/train' else Path(opt.project).stem,
name=save_dir.stem)

Saving the stream using Intel RealSense

I'm new to Intel RealSense. I want to learn how to save the color and depth streams to bitmap. I'm using C++ as my language. I have learned that there is a function ToBitmap(), but it can be used for C#.
So I wanted to know is there any method or any function that will help me in saving the streams.
Thanks in advance.
I'm also working my way through this, It seems that the only option is to do it manually. We need to get ImageData from PXCImage. The actual data is stored in ImageData.planes but I still don't understand how it's organized.
https://software.intel.com/en-us/articles/dipping-into-the-intel-realsense-raw-data-stream?language=en Here you can find example of getting depth data.
But I still have no idea what is pitches and how data inside planes is organized.
Here: https://software.intel.com/en-us/forums/intel-perceptual-computing-sdk/topic/332718 kind of backwards process is described.
I would be glad if you will be able to get some insight from this information.
And I obviously would be glad if you've discovered some insight you can share :).
UPD: Here is something that looks like what we need, I haven't worked with it yet, but it sheds some light on internal organization of planes[0] https://software.intel.com/en-us/forums/intel-perceptual-computing-sdk/topic/514663
UPD2: To add some completeness to the answer:
You then can create GDI+ image from data in ImageData:
auto colorData = PXCImage::ImageData();
if (image->AcquireAccess(PXCImage::ACCESS_READ, PXCImage::PIXEL_FORMAT_RGB24, &colorData) >= PXC_STATUS_NO_ERROR) {
auto colorInfo = image->QueryInfo();
auto colorPitch = colorData.pitches[0] / sizeof(pxcBYTE);
Gdiplus::Bitmap tBitMap(colorInfo.width, colorInfo.height, colorPitch, PixelFormat24bppRGB, baseColorAddress);
}
And Bitmap is subclass of Image (https://msdn.microsoft.com/en-us/library/windows/desktop/ms534462(v=vs.85).aspx). You can save Image to file in different formats.

How do I stop a file being imported more than once with SASS and Midscape?

I am just learning Sass and have used the #import. I have the following situation...
_master.scss <-- this contains all my global variables like color
_child1.scss <-- this is for one of my child pages but it needs stuff from master
_child2.scss <-- this is for one of other my child pages but it also needs stuff from master
Now the problem is _master is getting quite big. So when I save my Scss files (the children) using Mindscape tools in Visual Studio 2012 I notice that the generated css files include ALL the css from the master file for both children.
Essentially I am getting duplicate css every time I want to reference the master file with '#import' which is not good for performance. Is there any way to avoid this?
If I'm understanding, it sounds like you could really benefit from better use of partials. If You don't want all of _master.scss to be imported, you should break it apart into components and then import those as you need them.
For example, if master.scss contains all the fonts on your site, the colors, and the column layout, you could break it down to something like the following:
_fonts.scss
_colors.scss
_column.scss
In master.scss, you'd import each. Then you could import these smaller files into child1 and child2 as you need them.
If this isn't what you're looking for, please try clarifying your question and I might be able to help a bit more.
UPDATE: After discussing with Imjared he said that I should just create a file with variables in only. This would seem to work for me so I am updating this answer and marking it as correct.
I solved this duplicate SCSS using this snippet to import content:
// src/main/scss/import-once-workaround.scss
$imported-once-files: () !default;
#function not-imported($name) {
$imported-once-files: $imported-once-files !global;
$module_index: index($imported-once-files, $name);
#if (($module_index == null) or ($module_index == false)) {
$imported-once-files: append($imported-once-files, $name);
#return true;
}
#return false;
}
Importing files are done then by:
#if not-imported("font") { #import "font"; }
I used this approach instead of Zurb's to get StyleDocco work, see http://paul.wellnerbou.de/2015/05/18/avoid-multiple-imports-of-the-same-scss-file-with-sass/

Subsonic ActiveRecord

I am trying to get Subsonic(3.0.0.4) to work(.Net 3.5 - VS2010), simple install that looks at the Northwind database using ActiveRecord. I used the 5 minute demo from http://subsonicproject.com/docs/The_5_Minute_Demo. I added the reference to the dll, un-blocked the T4 templates that I downloaded, changed the Settings.ttinclude to point to the northwind database in 3 places as per video. Dragged the T4 templates (as per video) to my Models folder in VS2010.
If I compile I keep on getting "Type or namespace name 'something' could not be found" There are 13 error (same amount as the amount of tables in the DB..) so I am guessing that there must be some command that turns every table into a class, but where? I right-clicked on ActiveRecord.tt and Context.tt and selected "Run custom tool" with no success.
Any help, I follow this demo to the letter and still get the error. Any help.. please?
Ok, I do not know why but after I added Structs.tt it compiled fine. I still could not get the foreach in the view to work, the error was: foreach statement cannot operate on variables of type 'object' because 'object' does not contain a public definition for 'GetEnumerator'
I could see out of the corner of Rob's video that it did not inherit from System.Web.Mvc.ViewPage and figured out that it should be System.Web.Mvc.ViewPage>
Sometimes clever people(Like Rob) cannot think for proper dummies(like me) Such is life?

Resources