节点手册
Prim(多边形处理节点)
PrimFilter(图元过滤)
TransformPrimitive(变换多边形)
PrimitiveAddAttr(属性添加)
PrimitiveBinaryOp(属性运算)
PrimitiveClip(平面裁切)
PrimitiveScatter(撒点)
PrimColorByTag(根据Tag属性随机生成颜色)
PrimFindTriangle(粒子记录Index数值)
PrimSimplifyTag(属性数值重排序)
PrimMarkIsland(孤岛标号)
PrimUnmerge(图元分离)
PrimSprayParticles(生成粒子点)
PrimitiveToSDF(多边形转SDF)
PrimMarkClose(相近点标记)
PrimWeld(标记点合并)
PrimitiveTwist(扭曲节点)
PrimitiveCalcNormal(计算模型法线信息)
PrimitiveSplitEdges(拆分边)
PrimitiveFillAttr(属性填充)
PrimitiveWireframe(提取模型线框)
PrimitiveRandomAttr(随机数值属性)
Clone(克隆-保留源)
MoveClone(克隆-不保留源)
PrimitiveLineSort(无序连线)
PrimBoundingBox(最近、最远距离获取)
PrimitiveGetSize(多边形点数量获取)
PrimitiveFaceToEdges(多边形线框提取)
PrimRandomize(随机属性创建)
PrimitiveReduction(属性数值计算)
PrimitiveRandomizeAttr(随机数值属性)
MakePrimitiveFromList(通过列表创建Prim)
PrimPerLinNoise(PerLin噪声属性创建)
PrimTranslate(多边形偏移)
PrimScale(多边形缩放)
PrimProject(投射包裹)
PrimitiveFlipPoly(多边形法线翻转)
PrimitiveGetAttrValue(顶点属性值获取)
PrimitiveMix(多边形属性差值运算)
PrimitiveUnaryOp(数据运算输出)
PrimitivceLineDistance(最短距离运算)
PrimitiveResize(重置容器大小)
PrimitiveLineSort(顶点序号重排)
PrimitiveLineSimpleLink(顺序连线)
PrimitiveSimpleLines(间隔连线)
PrimitiveFarSimpleLines(首尾连线)
PrintPrimInfo(属性打印)
PrimitiveClearConnect(去除边、面)
PrimitiveSimpleTris(三角面化)
PrimDuplicate(多边形顶点复制)
PrimitiveCalcCentroid(获取多边形重心、体积、面积等数据)
WBPrimBend(多边形弯曲)
OSDPrimSubdiv(多边形细分)
PrimitiveScale(多边形缩放)
PrimitiveGetFaceCout(多边形面数量获取)
PrimitiveLineSolidify(线挤出)
PrimitiveBoundingBox(最近、最远距离获取)
PrimFillColor(颜色填充)
PrimConnectTape(桥接)
PrimitiveFilterByAttr(属性数值过滤)
LineCarve(线段切割)
LineResample(线段重采样)
PrimitiveDelAttr(删除多边形属性)
PrimFacesAttrToVerts(属性数据计算转移)
SyncPrimitiveAttributes(同步多边形属性)
PrimFaceCenterAsVerts(获取中心点)
PrimMarkIndex(标记索引)
PrimFloatAttrToInt(属性-浮点转整形)
PrimLineGenerateONB(线段方向属性)
PrimDuplicateConnLines(线段顶点复制)
PrimEdgeBound(边界获取)
Primtolist(属性数值列表)
PrimCheckTagInRange(属性范围标记)
PrimMarkSamelf(相同数据标记)
*PrimitiveBooleanOp(多边形布尔节点)
PrimDualMesh(面中心物体生成)
*PrimitiveClacVelocity(vel速度计算)
PrimExtrude(挤出)
PrimitiveMeshingFix(补洞)
PrimIntAttrToFloat(属性-整形转浮点)
WritePrimToCSV(属性数据导出)
UVProjectFromPlane(UV平面投射)
PrimVertsAttrToFaces(多边形顶点属性转面属性)
SprayParticles
SyncPrimitiveAttributes(多边形属性同步)
TestRayBox
PrimitiveInterpSubframe
PrimTranslate(多边形偏移)
PrimitiveAttrFit(属性映射)
PrimKillDeadVerts(删除多余顶点)
PrimSepTriangles(分离三角面)
PrimitivePerlinNoiseAttr(柏林噪波属性)
PrimMatchUVLine
PrimLoopUVsToVerts
PrimConnectBridge
PrimConnectSkin
ObjTimeShift(obj+列表过滤)
MakePrimitiveFromList
PrimSample(多边形采样)
BVHNearestPos
PrimitiveGetFaceCount(三角+四边面数获取)
PrimAttrInterp(多边形属性差值运算)
PrimQuadsLotSubdivision(四边面切分)
PrimSuperFormula(超级公式)
PrimSample1D(1D采样)
PrimSample2D(2D采样)
PrimitiveAttrPicker(点、线、三角面选取器)
PrimScatter(撒点)
PrimMarkTrisIdx(三角面标记索引)
PrimCopyAttr(属性拷贝)
PrimMerge(合并图元)
QueryNearestPrimitive(查询最近图元)
PrimUVEdgeDuplicate(UV壳分割)
时间控制节点
GetFrameTime(单帧时间)
GetFrameNum(帧变量)
GetTime(获取时间变量)
openVDB
SDFToPrimitive(SDF转多边形)
VDBVisualize(符号距离场可视化)
VDBRenormalizeSDF(修复SDF)
VDBPerlinNoise(VDB柏林噪声)
PrimSample3D(3D采样)
VDBSmooth(VDB体素数值平滑)
VDBCreateLevelsetSphere(创建VDB球体)
ScalarFieldAnalyzer(标量分析场)
VectorFileAnalyzer(矢量场分析器)
VDBChangeBackground(背景数值更改)
VDBPointScatter(VDB撒点)
VDBVoxelAsParticles(采样点转顶点)
VDBLeafAsParticles(二级叶转粒子)
VDBInvertSDF(SDF取反)
GetVDBVoxelSize(体素大小获取)
VDBFillActiveVoxels(填充活动体素)
VDBErodeSDF(侵蚀SDF)
CombineVDB(VDB布尔)
数据操作节点
PrintNumeric(打印名称+数值)
PrimitivePrintAtter(打印属性+数值)
PrimitiveCurvemap(根据映射数据去重新排列属性数据)
MakeCurvemap(曲线数值映射)
布料模拟节点
mpmstep(mpm解算)
ToZSCloth(转化为ZSCloth)
ToZSBoundary(转化为ZSBoundary)
ToZSParticles(转化为ZSParticle)
ToZSLevelSet(计算LevelSet数据)
ToBoundaryParticles(转化为边界粒子)
ConfigConstitutiveModel(配置本构模型)
MakeZSPartition(生成ZSPartition)
MakeZSGrid(生成ZSGrid)
ApplyWindImpluseOnZSGrid(应用风力)
BuildPrimitiveSequence(建立动态碰撞体队列)
UpdatePrimitiveFromZSParticles(更新ZSParticle数据中的Primitive数据)
ZSParticlesToPrimitiveObject(将ZSParticles物体转化为Primitive物体)
ApplyBoundaryOnZSGrid(计算布料静态碰撞)
ApplyGridBoundaryOnZSGrid(计算布料动态碰撞)
ZSGridFromZSPartition()
ZSParticleToZSGrid(将Particle的数据映射到Grid中)
ZSBoundaryPrimitiveToZSGrid(将碰撞体粒子数据映射到网格上)
ZSLevelSetToVDBGrid(将LevelSet转化为VDBGrid)
ZSGridToZSParticle(将Grid的数据映射到Particle中)
ZSReturnMapping()
AdjustParticleMaterial(调整布料粒子本构模型参数)
流体操作节点
FBX
ReadFBXPrim(读取FBX模型)
EvalFBXAnim(加载FBX动画)
ExtractFBXData(提取FBX数据)
ExtractMatTexList(材质贴图列表)
灯光材质
ShaderUnaryMath(着色器一元运算)
BindMaterial(绑定材质)
BindLight(变成灯光)
BindMaterial(赋予材质)
ShaderFinalize(材质球)
MakeTexture2D(生成2D纹理贴图)
ShaderTexture2D(贴图采样)
ShaderInputAttr(纹理坐标采样)
ShaderBinaryMath(着色器二元运算)
LightNode (灯光定义)
ShaderExtractVec(通道插分)
ShaderTernaryMath(着色器三元运算)
基本体创建
Make1DLinePrimitive(生成线段)
Make2DGridPrimitive(生成面片)
CreateCube(创建立方体)
CreateCone(创建圆锥体)
CreateCylinder(创建圆柱体)
CreateDisk(创建圆盘体)
CreatePlane(创建面片体)
MakeCamera(创建摄像机)
MakePrimitive(顶点生成)
CreatePoint(创建顶点)
List列表
Empty(空列表)
AppendList(列表追加)
ExtendList(扩展列表)
ListGetltem(列表内容独显)
ListLength(列表长度)
MakeList(创建列表)
MakeSmallList(创建小型列表)
NnmericRangleList(数组列表)
ResizeList(重置列表大小)
Curve(曲线节点)
EvalCurveOnPrimAttr(曲线映射属性)
MakeCurve(创建曲线)
GetCurveControlPoint(获取曲线控制点信息)
UpdateCurveControlPoint(更新曲线控制点)
EvalCurve(曲线映射值获取)
UpdateCurveCycleType(更新曲线周期类型)
UpdateCurveXYRange(采样范围重设)
写入写出节点
ReadObjPrim(读取Obj模型)
ExportUVObjPrimitive(写出UVObj)
WriteObjPrim(写出Obj模型)
ReadPlyPrimitive(读取Ply模型)
WritePlyPrimitive(写出Ply模型)
ImportVDBGrid(写入VDB粒子点)
ExportVDBGrid(写出VDB粒子点)
ExportFBX(输出FBX文件)
ReadAlembic(读取abc文件)
WriteAlembic(写出abc文件)
zplay
可视化节点
VisVec3Attribute(三维属性可视化)
VisPrimAttrValue(属性数值可视化)
layout布局节点
Route(恒等于)
zfx
math
MakeAxis(生成坐标轴)
ExtractAxis(提取坐标轴)
ProjectAndNormalize(投射和归一化)
Numeric(数值)
NumericInterpolation(数值映射)
NumericOperator(数值运算)
PackNumericVecInt(整数数值打包)
UnpackNumericVec(整数数值解包)
HeightField(地形处理节点)
Sparse Convolution noise
Gabor Noise 2D
HeightPattern(地形图案)(子图)
HF Terrace(地形阶梯)(子图)
Bullet
Flip
SmoothLiquidSDF(粒子流体表面)
FLIPMakeCollider(碰撞源)
GetVDBBound(获取vdb包围盒)
Image(图像处理节点)
ImageColor2(创建颜色)
ImageColor(deprecated)
ImageLevels(图像色阶)
ImageEditContrast(调整图像对比度)
ImageBlur(图像模糊)
ImageExtractChannel(图像提取通道)
ImageEdgeDetect(图像边缘检测)
ImageEditInvert(图像反转)
ImageFlip(图像翻转)
ImageEditHSV(调整图像HSV)
ImageRGB2HSV(转换图片颜色空间)
ImageHSV2RGB(转换图片颜色空间)
ImageGray(转换为灰度图)
ImageTile(图像平铺)
ImageClamp(限制图像像素范围)
ImageErode(腐蚀图像)
ImageDilate(膨胀图像)
ImageRotate(图像旋转)
ImageToNormalMap(转换高度图为法线图)
CompImport(导入属性为图片)
Blend(混合图像)
XPBD
MakeZCloth(转换gpu布料)
ZClothSolve(gpu布料解算器)
MakeHeterogenousZCloth(指定布料材质)
ZClothMaterialTemplate(布料材质模板)
ZClothSolve(布料解算器)
目前被禁用的节点
-
+
首页
Bullet
# World World configs the solver for this simulation scene. There are two kinds of world listed as the fowllowing. ## BulletMakeWorld This node is for rigid body object simulation. ### Output: `world`: Bullet world ## BulletMultiBodyWorld This node is for simulating articulated object with multiple parts. Rigidbody objects can also be loaded into this scene. ### Output: `world`: Multibody world ## BulletSetWorldGravity By default, there is no gravitational force enabled. setGravity lets you set the default gravity force for all objects. ### Input: `world`: Connected with the node for setting the world. `gravity`: (`NumericVec3`) Set gravity force along XYZ world axis ### Output: `world`: The world with gravity. ## BulletSetMultiBodyWorldGravity ### Input: `world`: Connected with the node for setting the world. `gravity`: (`NumericVec3`) Set gravity force along XYZ world axis ### Output: `world`: The world with gravity. # Transform ## BulletMakeTransform ### Input: `translate`: (`vec3`) `rotation`: (`vec3`, `vec4`) There are two kinds of rotation. If input is `vec3`, the rotation format is euler angle in ypr. If input is `vec4`, it is quaternion. ### Output: `trans`: A struct for transform in Bullet simulation. It contains rotation and trans lation information. In this struct, translation is a vec3, and rotation is a 3* 3 matrix. ## BulletMakeFrameFromPivotAxis Convert a transform described with pivot and axis to matrix representation. ### Input: `pivot`(vec3): The position of a pivot `axis`(vec3): The direction of the axis ### Output: `trans`(BulletTransform): A struct for transform in Bullet simulation. It contains rotation and trans lation information. In this struct, translation is a vec3, and rotation is a 3* 3 matrix. ## BulletTransformSetBasisEuler Use a zyx format euler angle to set rotation ### Input: `trans`: bullet transform `eulerZYX`: zyx euler ## BulletQuatRotate TODO: fix code ## BulletComposeTransform Have two transform matrixs and multiply them to transform for two times. ### Input: `transFirst`: Transform matrix `transSecond`: Transform matrix ### Output `trans`: Output transform ## BulletObjectGetTransform ### Input: `object` ### Output: `transform`: world transform ## BulletInverseTransform ### Input: `transform` ### Output: `trans_inv` ## BulletExtractTransform Extract translation and rotation from a bullet transform struct. ### Input: `trans`: bullet transform ### Output: `origin`: translation `rotation`: vec4f rotation # Geometry ## PrimitiveToBulletMesh Convert a triangulated mesh from zeno primitive object. ### Input: `prim`: primitive ### Output: `mesh`: triangulated mesh ## PrimitiveConvexDecomposition Perform HACD comvex decomposition algo on a prmitive object. ### Input: `prim`: primitive to perfrom HACD ### Output: `listPrim`: The list with convex mesh elements ## PrimitiveConvexDecompositionV Perform VHACD comvex decomposition algo on a prmitive object. ### Input: `prim`: primitive to perfrom HACD ### Output: `listPrim`: The list with convex mesh elements # Collision ## BulletMakeBoxShape ### Input: `semiSize`: Half of the length, width, and height ### Output: `shape`(BulletCollisionShape): The box shape ## BulletMakeSphereShape ### Input: `radius`: radius ### Output: `shape`(BulletCollisionShape): The Sphere shape ## BulletMakeStaticPlaneShape ### Input: `planeNormal`: normal of the plane `planeConstant`: the position of the plane. The plane normal lets you decide the derection of the plane, while the constant decides the position of the plane. ### Output: `shape`(BulletCollisionShape): The plane shape ## BulletMakeCapsuleShape ### Input: `radius`: radius `height`:height ### Output: `shape`(BulletCollisionShape): The capsule shape ## BulletMakeCylinderShape ### Input: `halfExtents`: (width of section, width of section, half height) ### Output: `shape`(BulletCollisionShape): The capsule shape ## BulletMakeCompoundShape Initialize a compuond shape ### Output: `compound`: compound ## BulletCompoundAddChild add child to compound ### Input: `compund`: The compound to add child `childShape`(BulletCollisionShape): child `trans`: local transform ### Output: `compund`: compound with child shapes ## BulletColShapeCalcLocalInertia Calculate the inertia of a given collision object in the local frame ### Input: `colobject`: collision object `mass`(float): the mass of the object `isCompuond`(bool): if the object is a compund shape ### Output: `localInertia`: the inertia of a given collision object in the local frame ## BulletMakeConvexMeshShape Convert mesh to a collision shape with convex hull ### Input: `triMesh`: BulletTriangelMesh ### Output: `shape`: Bullet collision shape ## BulletMakeConvexHullShape (recommend to use this) Convert mesh to a collision shape with convex hull ### Input: `triMesh`: BulletTriangelMesh ### Output: `shape`: Bullet collision shape ![](/media/202304/2022-05-27_005845_303674_1681091509.png) ## BulletMakeObject Initialize an object with physics properties in Bullet ### Input: `shape`: BulletCollisionSahpe `trans`: transform `mass`: mass, float ### Output: `object`: BulletObject ## BulletObjectSetDamping Linear damping affects how the body moves through the world in any given direction. Having linear damping at zero (the default) means objects will keep moving until friction slows them down. At higher values, they would slow down even if they don't touch anything. Angular damping is similar, but applies to angular motion (ie. rotation). ### Input: `object`: BulletObject `dampLin`: linear damping `dampAug`: angular damping ### Output: `object`: BulletObject ## BulletObjectSetFriction Friction coefficient, from 0-1. ### Input: `object`: BulletObject `friction`: set surface friction ### Output: `object`: BulletObject ## BulletObjectSetRestitution Restitution is like 'bounciness'. Higher restitution makes a body bounce more, no restitution gives no added bouncing. ### Input: `object`: BulletObject `restitution`: restitution ### Output: `object`:BulletObject ## BulletObjectGetVel Get velocity of a rigid body object ### Input `object`: bullet object ### Output `linearVel`: vec3f `angularVel`: vec3f # Constraint ## BulletMakeConstraint setup a constraint ### Input `obj1`: Bullet Object `obj2`: Bullet Object (optional) `constraintType`: - ConeTwist - Fixed - Gear - Generic6Dof - Generic6DofSpring - Generic6DofSpring2 - Hinge - Hinge2 - Point2Point - Slider - Universal ### Output `constraint`: BulletConstraint ## BulletConstraintSetFrames Set the position of the constraint ### Input `constraint`: BulletConstraint `frame1`: BulletTransform `frame2`: BulletTransform ### Output: `constraint`: BulletConstraint ## BulletConstraintGetFrames ### Input `constraint`: BulletConstraint ### Output: `frame1`: BulletTransform `frame2`: BulletTransform ## BulletConstraintSetLimitByAxis ### Input: `constraint`: BulletConstraint `axisId`: string - linearX - linearY - linearZ - angularX - angularY - angularZ `lowLimit`: float `highLimit`: float ### Output: `constraint`: BulletConstraint # Load URDF The loadURDF will send a command to the physics server to load a physics model from a Universal Robot Description File (URDF). The URDF file is used by the ROS project (Robot Operating System) to describe robots and other objects, it was created by the WillowGarage and the Open Source Robotics Foundation (OSRF). Many robots have public URDF files, you can find a description and tutorial here: http://wiki.ros.org/urdf/Tutorials Important note: most joints (slider, revolute, continuous) have motors enabled by default that prevent free motion. This is similar to a robot joint with a very high-friction harmonic drive. You should set the joint motor control mode and target settings using `SetMotorControl` node. ## # Inverse Kinematics and Dynamics You can compute the joint angles that makes the end-effector reach a given target position in Cartesian world space. Internally, Bullet uses an improved version of Samuel Buss Inverse Kinematics library. At the moment only the Damped Least Squares method with or without Null Space control is exposed, with a single end-effector target. Optionally you can also specify the target orientation of the end effector. In addition, there is an option to use the null-space to specify joint limits and rest poses. This optional null-space support requires all 4 lists (lowerLimits, upperLimits, jointRanges, restPoses), otherwise regular IK will be used. See also inverse_kinematics.py example in Bullet/examples/pybullet/examples folder for details. ![](/media/202304/2022-05-25_230148_482281_1681091547.png) ## BulletCalcInverseKinematics ![](/media/202304/2022-05-25_230514_803830_1681091573.png) ### Input: `object`: The multibody object `gravity`: Gravity in the world `endEffectorLinkIndices`: The link index for the end effector `targetPositions`: Target position of the end effector (its link coordinate, not center of mass coordinate!). By default this is in Cartesian world space, unless you provide currentPosition joint angles. `targetOrientations`: Target orientation in Cartesian world space, quaternion [x,y,z,w]. If not specified, pure position IK will be used. `numIterations`: Max iterations for optimization `residualThreshold`: Error threshold for the solver to stop. `IKMethod`: solver - VEL_DLS_ORI_NULL - VEL_SDLS_ORI - VEL_DLS_ORI - VEL_DLS_NULL - VEL_SDLS - VEL_DLS - JACOB_TRANS ### Output: `poses`: Pose sequence of the joints in degrees ## BulletMultiBodyCalculateJacobian BulletMultiBodyCalculateJacobian will compute the translational and rotational jacobians for a point on a link, e.g. x_dot = J * q_dot. The returned jacobians are slightly different depending on whether the root link is fixed or floating. If floating, the jacobians will include columns corresponding to the root link degrees of freedom; if fixed, the jacobians will only have columns associated with the joints. ### Input: `object`: Multibody object `linkIndex`: link index `localPos`: Position of the point to calculate in the local frame(link frame) `jointPositionsQ`: Joint positions in degree. `jointVelocitiesQd`: Joint velocities, namely, the derivitives of joint positions, so it is called Qd, which means 'Q dot'. `jointAccelerations`: Joint accelerations `gravity`: Gravity in the world ### Output: `object`: The multibody object which contains the link `jacobian_linear`: linear jacobian `jacobian_angular`: angular jacobian ## BulletMultiBodyCalculateMassMatrix BulletMultiBodyCalculateMassMatrix will compute the system inertia for an articulated body given its joint positions. The composite rigid body algorithm (CBRA) is used to compute the mass matrix. ### Input: `object`: Multibody object `jointPositionsQ`: Joint positions in degree. ### Output: `object`: Multibody object `mass_matrix`: The calculated mass matrix
泽森科工
2023年4月10日 09:53
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
关于 MrDoc
文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
None
None
None
None
None
Markdown文件
分享
链接
类型
密码
更新密码