Bullet physics implementation and other stuff

   301096   385   4
User Avatar
Member
13 posts
Joined:
Offline
That is absolutely great news and very excited that you will be releasing source.I understand the need to keep parts of it hidden (dlls) but i was wondering if it was possible to externalize some of it. Like what if I wanted to write my own force nodes that worked with bullet. For example a radial magnet force..etc. If you had a callback system, where your system would call my own force functions, that would be really amazing. It would allow you to keep the “secret stuff” as a closed box while allowing third parties to add force ops.

Another issue I was having is collision with other arbitrary meshes, collisions with animated static objects..etc? Any plans on that.

Also for release, I still think you should have a precompiled plugin for whatever version of houdini you are using, its handy for those who just want to try it out and no have to worry about compiling,.etc.
User Avatar
Member
13 posts
Joined:
Offline
ah yes one more thing. Is it possible to get data from the constraints… such as what is the current force/strain on the constraint. You could possibly have this as a point/primitive attribute. That data is really useful for stuff like triggering secondary effects (windows on buildings shattering..etc)

I know thats asking a lot.. but your tool is amazing, and i know the community here wants to support your excellent efforts!
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
anupamd
For example a radial magnet force..etc. If you had a callback system, where your system would call my own force functions, that would be really amazing
Yeeh, I provide SDK so if my “secret stuff” will support forces you can do this.

anupamd
Another issue I was having is collision with other arbitrary meshes, collisions with animated static objects..etc? Any plans on that.
When I release new version, check this issue and let me know If still exist.

anupamd
Also for release, I still think you should have a precompiled plugin for whatever version of houdini you are using, its handy for those who just want to try it out and no have to worry about compiling,.etc.
But Dll library will be works for every Houdini. If after one year SESI release H12, you can recompile plugin with library, which can be oneyear old. And this is important because I will not compile plugin for every day build. Dll library dont include any HDK .h files. This is important!


anupamd
ah yes one more thing. Is it possible to get data from the constraints… such as what is the current force/strain on the constraint.
Old solver had this. check example file. I think, Its ouput from bullet_solver and data are group. Maybe you need check some parametr like “constarint ouput” or “draw constraint”. I cannot remember, new version is different. New version has collision impact data ouput, which can be useful too
https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
Ouuu I have small problem with houdini.

If I have point attribute, which I want to change, I create “point” sop node and on Custom tab I can set name and new value. But What If I want to change primitive attribute??? On “primitive” sop node is NOT custom tab :shock: .

I am sure that this is EASY to do in houdini, but I am crazy from this :twisted: .
https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
1529 posts
Joined: July 2005
Offline
use the attribcreate sop. Set the class to primitive.

G
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
keyframe
use the attribcreate sop. Set the class to primitive.
G

Ok, thx, I know about this, but I asked, because Its a little bit confusing when I open scene after year and see that that I creating attribute, but actually I only change attribute. But works, so I use it!

But I need yours help again. In this case I have solution, but I need alternative. In Attachment is scene, where I read data from previous frame, but I make with file sop node. So my question is. Is it possible do this without file node? I try some setting with timeshift sop node, but without success

Attachments:
depending_frame_data.zip (7.5 KB)

https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
345 posts
Joined:
Offline
In the shell type proto-install. This list are experimetal OPs which come with a standard Houdini install. Feedback SOP is the operator you are looking for.

I'm not sure what you are heading for, you can also try foreach SOP with Merge results off.

kuba

Attachments:
foreach.hipnc (68.3 KB)

User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
kuba
In the shell type proto-install. This list are experimetal OPs which come with a standard Houdini install. Feedback SOP is the operator you are looking for.

I'm not sure what you are heading for, you can also try foreach SOP with Merge results off.

kuba
thx, for feedback
Feedback sop from proto_install works great. I can not use Foreach, because the data are more complicated than transform box(its only example)

If somebody know about next alternative way, please let me know.
https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
257 posts
Joined: Nov. 2007
Offline
cybermax
If somebody know about next alternative way, please let me know.

In SOPS? nope, as far as I know, feedback and file sop are the only way in sops. In DOPs you have the sopsolver, but I've got a strong suspicion you wish to stay out of DOPs .
Cg Supervisor | Effects Supervisor | Expert Technical Artist at Infinity Ward
https://www.linkedin.com/in/peter-claes-10a4854/ [www.linkedin.com]
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
pclaes
In SOPS? nope, as far as I know, feedback and file sop are the only way in sops. In DOPs you have the sopsolver, but I've got a strong suspicion you wish to stay out of DOPs .
Dont be afraid, I stay in SOP!!! In this moment I have complete support of Rigid Body with examples and digital assets for easier settings, Missing only one thing … rewrite fracture constraints(btCompoundShape) to the new system. I think It will be today.
https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
Little bug:
In my first version of fracture body(btCompoundShape) It glued objects only on first frame according constraints, but now You can glues object on random frame, but It has problem with linear and angular velocity because when two(or more) objects glue together, New objects has zero speed!!!
If I break objects I use getpointvelocity( local point ) and set only linearVelocity(no angular) and its works fine, but for glue I need set angular. Some ideas?


Erwin code has same problem:
http://code.google.com/p/bullet/issues/detail?id=90 [code.google.com]
https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
1 posts
Joined: Dec. 2010
Offline
@cybermax Great job with the plugin! I'm very impressed with your results.
I've seen in this topic that you will release plugin as source code + dll with your ‘secret stuff’. Will it be possible to compile the plugin (just the Bullet integration with Houdini) without your secret stuff dll?
For example: I'm on OS X and would like to use Bullet engine with Houdini but don't need anything more then Bullet offers. I know that you won't support Mac compilation so the additional dll won't be here on Mac. Would I be able to use just the Bullet engine?

PS When you will have working Linux version - making a Mac is very easy (in fact Linux Makefiles may in some cases work in Mac environment without changes). So I hope that you will find someone with Mac who you trust and who can compile it for you (I can ), so we a Mac users can also taste that sweet Bullet in Houdini.

PS2 There are ways to install OS X on a normal PC. As I know VMWare supports OS X as a guest operating system and making a Hackintosh is kinda easy if you know this [osx86.sojugarden.com] guide.
User Avatar
Member
52 posts
Joined: July 2007
Offline
wilkolak
@cybermax Great job with the plugin! I'm very impressed with your results.
I've seen in this topic that you will release plugin as source code + dll with your ‘secret stuff’. Will it be possible to compile the plugin (just the Bullet integration with Houdini) without your secret stuff dll?
For example: I'm on OS X and would like to use Bullet engine with Houdini but don't need anything more then Bullet offers. I know that you won't support Mac compilation so the additional dll won't be here on Mac. Would I be able to use just the Bullet engine?

PS When you will have working Linux version - making a Mac is very easy (in fact Linux Makefiles may in some cases work in Mac environment without changes). So I hope that you will find someone with Mac who you trust and who can compile it for you (I can ), so we a Mac users can also taste that sweet Bullet in Houdini.

PS2 There are ways to install OS X on a normal PC. As I know VMWare supports OS X as a guest operating system and making a Hackintosh is kinda easy if you know this [osx86.sojugarden.com] guide.

read back and keep this topic clean, I think this topic is for bullet technical discussion,if u want mac ver just pm him.
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
wilkolak: for compile you dont need bullet, because all bullet is in my library which you need for Mac.
PS: I running linux under Oracle VM VirtualBox and in the list is OSX, so maybe I try to install, but later(February). Now Win and LInux is my priority.
PS2: You are strange , You are from poland and poland is in europe and there are only few users on Mac. So Why are you one of them?


horizon1231: YOu right, only technical messages, else PM !!!
https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
New version 0.99

This version has full support of rigid body:
-sphere, box, convex, concave hulls
-add, delete objects and constraints in time
-changing settings in time
-output data(object settings, constraints forces, collisions data)
-collision groups
-dynamic, static, kinematic body with smooth change
-forces
-constraints and fracture body(btCompoundShape)
-and more(weariness, …)

Install instructions are in readme.txt!
Includes only win64 bit version! Next OS coming soon.
Plugins are NOT compile for any version of houdini, you need visual studio 2005. For compile you DONT need bullet!

If you find bug, let me know!

Thank you for your feedback, Merry Christmas and Happy New Year!

Attachments:
Bullet_v0_99.zip (349.1 KB)

https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
345 posts
Joined:
Offline
Such a nice surprise. Ded Moroz came earlier this year.
Děkuji
User Avatar
Member
57 posts
Joined: May 2007
Offline
Thanks for the present Cybermax. I'm looking forward to trying it out.
User Avatar
Member
120 posts
Joined: Feb. 2008
Offline
Hi, Thanks so much for releasing this! I'm checking it out, and it looks like the compile and installation was successful, but when I open the example file, the Sop/Bullet_Basic otl is missing. Is there an external otl that should be included also?
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
josh3light
but when I open the example file, the Sop/Bullet_Basic otl is missing. Is there an external otl that should be included also?
Sorry, I forgot it
Again …

Attachments:
Bullet_v0_99.zip (368.3 KB)

https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
120 posts
Joined: Feb. 2008
Offline
Also, the list of commands in readme.txt is incomplete; here is the actual list of commands that needed to be typed.
—————————————————–

C:\Energy\Assemble
hcustom SOP_assemble.cpp

C:\Energy\Constraint
hcustom SOP_Constraint.cpp

C:\Energy\Properties
hcustom SOP_Properties.cpp

C:\Energy\Multijoints
hcustom SOP_Multijoints.cpp

C:\Energy\Transform
hcustom SOP_Transform.cpp

C:\Energy\Force
hcustom SOP_Force.cpp

C:\Energy\Solver_win64
hcustom -l SolverDLL.lib SOP_bullet.cpp

————————————————–
Thanks again, really looking forward to testing this out!
  • Quick Links