Vellum —— 相关特点

目录

Cloth

Breaking and tearing

Paneling and draping

Cloth simulation

Calculating mass and thickness   

Working with low res and high res cloth

Quick moving cloth

Softbody

Vellum softbodies

Plasticity with softbodies

Constraints

Stitch and sliding constraints

Plasticity

Triangle and tetrahedral stretch constraints

Animated pressure constraints

Dynamic constraints

Shape matching

Constraint browser pane

Collisions

修正碰撞穿插

摩擦力

Advanced

Setting up a 64-bit solve

vellum attributes

Tips and troubleshooting


Cloth

Breaking and tearing

        Edge Fracture节点可很容易的切开几何体(可手动绘制断开位置),以便断开或撕裂;使用Vellum Weld Point节点焊接接缝,然后根据特定条件来断开;

        Normalize Stress默认开启的,总是归一化应力,以便子步变化时被计算的值更加可预测;这对基于应力阈值,断开约束非常有用,因为可在改变子步时不必调整值;如碰撞体非常快,需要增加子步时,可能只需稍微调整阈值;也适用于基于密度计算的mass,如改变的布料的精度,应力仍然是一致的;这使得在子步和分辨率中,更容易设置值;

以下案例展示相同布料在不同分辨率和子步下的应力阈值,结果是非常相似的:

Paneling and draping

Paneling工作流

  • 导入T-pose角色模型;
  • 绘制衣服版型轮廓线,应比角色大些以便包裹角色(应绘制多笔曲线);
  • 在添加resample,以调整每笔的点数;
  • 在使用fuse,将点合并到一起;
  • 在使用Planar Patch from Curve节点,构建均匀三角形面片;
    • 勾选Resample Curves,确保曲线的边缘间距与内部边缘长度相匹配;
    • 降低Interior Edge Length,提高精度;
    • 旋转Smoothing->Subdivision Curves;
  • 在创建其他位置的布料面板模型;
  • 在使用Vellum Configure Cloth节点,配置布料;
  • 在使用Vellum Stitch Points节点,缝合接缝,设置约束长度为0;
  • 在使用Vellum Weld Points节点,焊接接缝,使接缝完全在一起;

Draping工作流

  • 创建布料面板模型,与Paneling工作流一样;
  • 在添加Vellum Drape节点,可自动缝合接缝;
    • 如布料难以包裹角色,应增大面板,也可在增加一个Vellum Drape节点(勾选Inflate Collisions);
  • 满意布料结果后,使用Vellum I/O缓存,在使用Vellum Rest Blend设置当前约束为起始状态;

Cloth simulation

将已drap布料转为起始几何体

  • 一旦布料drap后,即可后续解算保持约束,也可将其转换为起始几何体;
  • 转化为起始几何体,将会丢弃任何已设置的stiffness,可重新使用,也确保系统中没有更多的能量;
  • 使用Vellum Post-Process,是快速焊接点的好方法;
  • 为确保法线一致,可使用Polydoctor节点(勾选Correct Winding of Polygons to Majority of their Manifold Patch);
  • 然后在使用Vellum Constraint节点;

注:确保没有冲突的ID属性;新约束是厚度会被设置为0.01(默认),应确保厚度合适;

解算布料时应考虑的事项

  • Substeps、Iterations,决定布料的拉伸性,子步为5对布料是一个好的开始;
  • Tailoring,一些小的改变可能会很大改善最终效果,如根据角色的步伐,增加裙子的宽度可防止衣服底部的拉扯;
  • Static,通常衣服会在身上不切实际的移动,增加静态摩擦系数以更加贴合角色;
  • Bend Strength,值为0将有大量的褶皱,值越高越硬;
  • Compression Stiffness,压缩刚性,可使三角形折叠而不展开;
  • Tangent Stiffness,对附着在腰上的裤子或裙子解算非常有用,避免因重力掉落或滑动,比降低Rest Length Scale效果更好;仅在attach约束起作用,是vellum对外部几何体;
  • Stiffness Dropoff,降低或增加约束刚性,在远离起始状态时;
  • Air resistance,气流对布料非常重要,没有气流布料会变平,太大的气流则会被drag,默认值为0.1,通常会产生很好的效果;
  • Gravity,改变重力可使时间好像变快或变慢,也会影响比例,增加重力会有更大的拉伸;

Calculating mass and thickness   

        默认会自动计算mass和thickness,即改变vellum精度时解算效果不会改变太多;特别是对弯曲,较重或较轻的布料其褶皱大不相同;该方法是使用polyline的长度,三角形的面积,四面体的体积及密度density来计算mass,使用边长度来计算thickness;

        质量Mass,Calculate Uniform均匀的在所有点间分配质量,但对精度或布线不均的会产生问题;Calculate Varying(默认设置)分配的质量会与周围面积相匹配,点密集的区域质量相对较小;默认的Density参数0.1是针对布料的,其他预设类型约束Density参数会针对其类型有所不同;

        厚度Thickness,Calculate Uniform(默认设置)是基于每个面中边的平均长度,可避免过多的自碰撞并保持均匀的厚度,均匀统一的厚度是默认的设置,可像布料一样平整;Calculate Varying将自动根据布线的密集程度调整pscale大小,对角色来说是有用的;

Working with low res and high res cloth

        布料的stretch/bend的方式非常重要,起皱的程度和快慢可看出布料的材质;在处理mass/scale/topology时确保pscale属性正确,以使不同精度的材质看起来一致;调整精度时,Vellum Constraint节点会自动调整mass(总质量不变)、pscale(相对距离不变);

Quick moving cloth

        快速移动的对象,将使与之一起移动的布料聚集能量,如整个角色或角色的一部分快速移动;Velocity Blend参数和Refrence Frame节点,可用来生成更加理想的结果;Velocity Blend是通常用于快速移动的身体部分,如摆动的手臂;Refrence Frame节点通常用于快速移动的整个角色,如超级英雄和他的斗篷;

Velocity Blend

  • Attach to Geometry约束的Velocity Blend参数,可避免突然运动引起的问题,对跟随快速移动手臂末端的袖子也很有用;要求目标对象有速度属性v

Reference Frame

  • 参照参考对象的几何体,类似Velocity Blend,但适用于整体而不是局部;对快速移动的角色或作为其他环绕对象的父对象有用;
  • 可与Velocity Blend一起使用,如角色移动的很快,同时手臂向上猛拉;
  • wind force对角色快速移动很重要,Drag Compensation参数可调整任何风速;
  • 确保Refrence Frame节点上的子步和解算器上的子步相同;

Softbody

Vellum softbodies

        PBD柔体的主要优点是其可控性、稳定性、及可快速产生可信结果;尽管FEM是创建柔体的有利方法,只是世界的准确性和行为,但vellum是非常快,可多种约束;依据场景和要制作柔体的类型选择方法;

Vellum Struct Softbody工具,使用在内部点间随机随机形成的支柱,来创建粗略保持体积;仍然是对原始几何体进行模拟;

Vellum Tetrahedral Softbody工具,会polyreduce、remesh以创建一个低精度的代理模型,并四面体化;创建四面体后,沿边将距离约束以保持对象的整体形状,创建体积约束以保持每个四面体的体积;解算完后,使用point deform变形原始几何体;

        尽管vellum balloon、vellum struct softbody、vellum tetrahedral softbody看起来都像可延展黏糊的物体,但其主要区别是保持体积的方式;

  • vellum balloon保持全局体积,是使用压力约束均匀向外,挤压一个区域会膨胀另一个区域,类似气球;
  • vellum tetrahedral softbody更多的保持局部体积,因为每个四面体都保留体积,对有机材料很有用;
  • vellum struct softbody根本无法保持体积,使用的是内部支柱,类似里面有一组弹簧来保持形状;

Vellum Fiber 是柔体约束的一种类型,会沿着纤维方向压缩,如有保持体积会在另一个方向扩展;

Plasticity with softbodies

        塑性可使用物体在受到特定力或外部碰撞时,适应新的rest形态;通常对布料应避免塑性,然而柔体约束(如Tetrahedral Stretch)能很好的适应塑性;使用vellum tetrahedral softbody与vellum constraint结合使用,可获得逼真的结果;

有三个重要的参数控制柔体的塑性:

  • Plasticity Threshold,变形超过此阈值,将适应新的rest;
  • Plasticity Rate,适应新rest的速度;
  • Plasticity Hardening,适应新rest的更硬还是更软;

上例制作文件:An Introduction to Vellum Soft Bodies | SideFX

Constraints

Stitch and sliding constraints

        stitch约束可点到面,不仅仅是点到点,对缝合布料非常有用,缝合到最近位置对polyline也起作用,可创建平滑和真实的滑动;

Sliding Constraints

        滑动约束是stitch或attach约束可在目标表面滑动,启用Use Closest Location on Primitive(仅在polyline、triangle、quad有效),及Target Group Type为Primitives;Sliding Rate控制滑动快慢,1表示匹配约束速度;

        Tangent Stiffness会减缓滑动,此时可增加sliding rate;

Plasticity

        在vellum里,但对象被弯曲或拉伸时,会恢复到原始状态;当启用Plasticity时,一旦超过阈值就会保持新的状态,常用于Hair;在Shape Match约束,塑性也是有效的;可通过Stretch Plastic Flow、Bend Plastic Flow查看;

注,vellum很难创建非常坚硬的材质,如金属片,可使用Bullet Soft Constraints;

Triangle and tetrahedral stretch constraints

        ARAP是H18引入的一种约束,可忽略旋转,同时最大限度的减少stretch或shear;会产生类似弹性的效果,以恢复原始形态;此约束作用于三角形或四面体的整个形状,而不仅仅是边;这对有机材质或需要自然拉伸或压缩特别有用,会更平滑;Cloth约束也有Triangle Stretch选项;

        启用Preserve Volumes会应用额外约束,强制保持体积(类似tetrahedral volume约束);

        Tetrahedral stretch约束也可很好的塑性,塑性改变的时形状不是体积;

Animated pressure constraints

        气球对应两种约束,外部表面可拉伸的cloth约束,及避免塌陷的pressure约束;pressure保持全局的体积,挤压一边,另一边会膨胀;点属性pressurescale属性可缩放pressure效果,同时应设置restlength属性;

Dynamic constraints

        通常在解算前设置约束,但也可在解算过程中设置约束(即在DOP内的force_output处,创建vellum constraint),如glue;

Shape matching

        使用shape mathing方法,在vellum中刚体模拟;是用球填充对象的体积,尽可能的接近对象外形;将球约束在一起,创建类似刚体的结构;球与其他对象碰撞计算是非常快的,此方法适用于大量对象;

        shape matching基于vellum grain,使用Sphere Packing模式来填充对象;球的大小可以统一或可变,以捕获较小的结构,球还可重叠以更好表示对象,但无论如何都是近似的;

        Vellum Configure Grain Pieces会创建vellum grain和vellum shape match,解算完后在使用Vellum Transform Pieces节点来驱动原模型;

不支持老的芯片架构,如有问题将GPU改为CPU;

Constraint browser pane

        此面板可组织、创建、编辑约束(RBD或Vellum);依据tag,来确定自定义的主层次hierarchy(列出所有约束),同一个tag多个约束类型被添加为约束layer;

  • RBD,layers由constraint_name属性定义,tag由constraint_tag属性定义;
  • Vellum,layers由type属性定义,tag由constraint_tag属性定义;

Collisions

  • collisionignore(vellum字符串点属性),碰撞对象的名字,用于指定特定对象忽略碰撞,可使用POP Collison Ignore节点,如PackedGeo对象有面属性objname,则此属性表示对象名称;
  • collisiongroup(碰撞体字符串点属性),可针对对象的一部分设置碰撞,如角色的拇指;这对于清理布料和角色间的交互非常有用,如想手指和袖子交互而不和口袋交互;

修正碰撞穿插

        当碰撞体自身穿插时,可将整个碰撞体作为cloth对象,对穿插位置使用pin软约束(其他部分使用pin硬约束),还可使用peak节点稍微增加一点厚度(为布料创建更多空间),以在解算时变形修复穿插;

摩擦力

        解算器Static Threshold参数,由属性friction控制(如无此属性默认为1),解算器Dynamic Scale参数,由属性dynamicfriction控制;如两布料碰撞,其中一布料摩擦力乘以另一布料摩擦力,再乘以全局摩擦力,就为碰撞的静摩擦力;

Advanced

Setting up a 64-bit solve

        解算布料或毛发离原点超过10000个单位,可能会引起布料褶皱或头发缠绕的问题;将对象移动高离原点更近的位置即可解决问题,还可使用64位以获得更高精度(通常不建议,速度明显变慢);

 解算器没有选项在64位操作,为将几何体设置为64位:

  • 在vellum configure cloth前,使用attribute cast节点,确保几何体和约束都是64位精度;

vellum attributes

设置属性

TypeNameDescription
vectormaterialuvGeo点属性,可由Planar Patch/Planar Patch Curve设置,用于确定各向异性;
floatbendname, stretchnameGeo点属性,默认缩放约束属性;
解算Geo属性,所有POP属性均可应用:

Dynamics: parameters

TypeNameDescription
floatdragnormal, dragtangentpoint,阻尼影响最终速度;
floatinertiapoint,hair约束旋转阻力;
integerweld, branchweld, collisionweld

point,默认为-1;

weld是用户访问,branchweld是hair约束构建,collisionweld按需生成为detangle节点;

floatfriction, dynamicfrictionpoint/detail,缩放静摩擦力和dongle摩擦力;
floatpressurescalepoint,缩放pressure约束效果,可用于充气效果;

Dynamics: state

TypeNameDescription
vectorP, pprevious, plast, v, vprevious, vlastpoint,二阶算法,先前一帧位置和速度,及先先前一帧位置和速度;
point, vectororient, orientprevious, orientlast, w, wprevious, wlastpoint,对于hair的点方向和角速度;
integerstopped

point,可被自动休眠及唤醒使用(标准的POP属性),还可释放pin的点(而不是对mass为0操作);此属性可控制方向和位置,0都不控制,1控制位置,2仅控制旋转,3都控制;

integerdeadpoint,标准的POP属性,值为1点及对应的约束均会被移除,可使用POP Kill节点设置;

collision

TypeNameDescription
floatpscalepoint,每点半径;
integerlayerpoint,软度优先级,越大越轻;
integerdisableself, disableexternalpoint,值为0表示可自碰撞和外部碰撞,值为1表示禁用碰撞;只要边或三角形任意一个点的值为0,则整个边或三角形都禁用;
floatoverlap_self, overlap_externalpoint,默认值为10000,储存原始pscale的重叠度,0表示已完全使用pscale;
stringcollisionignorepoint,vellum点禁用与指定的对象碰撞;
stringcollisiongrouppoint,待禁用的碰撞对象点组;

Targeting

TypeNameDescription
string, integertarget_path, target_ptpoint,attach目标路径及点号;
pintoanimation, gluetoanimationpoint,pintoanimation更新位置,gluetoanimation更新位置及方向;
floattargetweightpoint,影响pin点的强度?
Breaking
TypeNameDescription
float, stringbreakthreshold, breaktypepoint,weld/branch weld类型,断开;阈值小于0将不断开;
Pressure
TypeNameDescription
vector, integerpressuregradient, volumepts, volumepoint,pressuregradient体积增大的方向类似法线,volumepts计算点体积的点数组;
内部变量
TypeNameDescription
floatdP, dPwpoint,约束置换及权重;
stringpatchnamepoint,标识每个vellum对象的名字;
解算Con约束属性,由许多类型的约束,其意义取决于约束类型,通常是面属性:
Dynamics: parameters
TypeNameDescription
floatdampingratioprim,值在0~1,高于0.1可能会阻止约束收敛;
floatrestlength, restlengthorigprim,初始约束状态(距离或角度等),实际仅使用restlength,restlengthorig为方便;
pointrestvectorprim,存储方向约束,及pin约束的目标位置;
vectorrestpoint,被shapematch约束使用的起始点位置;
floatstiffnessprim,约束强度,较高的值可能需要较高迭代;
floatcompressionsstiffnessprim,压缩约束强度,较高的值可能需要较高迭代;
floatstiffnessdropoff, stiffnessdropoffmin, stiffnessscaled(解算时)prim,超过指定的阈值,刚度从stiffness~0或0~stiffness;解算时有效的光效值存储在stiffnessscaled;
stringtype

prim,约束类型

distance、stitch、branchstitch约束点长度,distance约束距离(如三角形或毛发的边),stitch距离约束的别称,branchstitch用于hair的自动焊接;
ptprimstitch点到面的约束,restvector存储prim uv;
bend四点弯曲约束,表示共享边的两个三角形,约束共享边的角度;
trianglebend三点约束,保持线的弯曲;?
angle三点约束,保持二面角,被string约束使用;
tetvolume四点约束,保持四面体体积;
pressure多点约束,表示mesh表面的所有点,保持体积;
attach、pin约束点到特定位置,attach依据target属性,pin根据matchanimation属性;
attachnormalattach to geometry的额外约束,约束目标对象方向(由restdir指定);
pinorient约束点方向;
bendtwist两点约束,将边点方向一致,可沿hair方向创建扭曲效果;
stretchshear两点约束,距离约束和弯曲约束的组合,被hair使用;
tetfiber四面体约束,可沿materialW方向压缩;
triarap三角形ARAP拉伸约束,可最大限度地减少与起始形状(restvector)偏差;
tetarap*四面体ARAP拉伸约束,可最大限度地减少与起始形状(restmatrix)偏差;
shapematch保持原始形状(rest)的约束;
Dynamics: state
TypeNameDescription
floatstress约束施加的应力大小;
Sliding
TypeNameDescription
floatslidingrateprim,滑动速率;
stringtarget_group, targetpathprim,目标位置;
stringslidingattrib, attribpromoteprim,缩放滑动速率;
Breaking
TypeNameDescription
float, stringbreakthreshold, breaktypeprim,断开约束的阈值及类型,阈值小于0将不会断开;
Plasticity
TypeNameDescription
floatplasticthreshold塑性阈值,修改restlength;如值为负,将视为拉伸比率;
plasticrate,塑性速率,设置为0是禁用塑性的最简单方法;
plastichardening塑性后的刚性
plasticflow(解算时)塑性流的大小量;
Targeting
TypeNameDescription
integermatchanimationprim,如对pin约束设置为1,将查找target_path和target_pt,更新restvector到指定位置,以便跟随目标动画;
内部变量
TypeNameDescription
vectorLprim,约束量,可能是不同刚性或压缩刚性轴;通常应使用stress属性来确定约束量;
integerptsprim,被该约束影响的点;

Tips and troubleshooting

Sources

  • vellum使用连续的碰撞检测,可很好的避免快速运动穿过布料,如几何体点数是变化的则就不起作用了;
  • 尝试和下一帧模型blend,查看是否融合,如否,检查是否有id属性(会覆盖点号),也可使用match topology节点是点号在帧间一致;
  • vellum只关心前一帧的点,不介意在每帧中对prim数随机;

Pscale

  • 默认pscale很小,但输入的任何pscale属性都会超过它;
  • vellum与不太小的pscale效果最好,会在碰撞体顶部,而没有剧烈碰撞;通常,pscale不要超过边长,否则可能会相交;
  • vellum会预处理(类似bullet),即使点在彼此之上,也不会爆开;会记录原始距离在属性上,用于降低pscale对于碰撞;当布料分离时,这些属性会松开以使布料返回不会太靠近;设置过大的pscale可能也不会爆开,但会用大的pscale碰撞测试,导致布料缓慢停止;

Speed vs Quality 四个主要的区域,可使解算又快又好:

  • substeps,对快速运动的布料很重要,如在单个子步内有太多的碰撞和变化,可能会减慢速度,使用较小的子步会提供更好的碰撞边界;
  • Constraint Iterations,使拉伸和弯曲起作用,需要更高的迭代以获得刚性、无拉伸、无弯曲;如增加子步,力的量会有效的减少,因此会减少迭代;
  • Collision Passes,外部和内部碰撞都可处理,会在约束迭代中穿插着执行;如50迭代5碰撞,则每10迭代1碰撞;增加此值有助于失败的碰撞,但也考虑增加子步;2子步10碰撞与1子步20碰撞,成本大致相同,但前者可能会更好;
  • Post Collison Passes,在所有约束迭代完成后,在执行此额外的操作;由于此过程不与约束交互,布料会以碰撞外形推出,是避免碰撞失败的最后一次尝试;

Resolving problems

  • Stretchiness,XPBD在不过度刚性方面很好,如没有足够的迭代会无法收敛;如拉伸开了,增加约束迭代;增加子步也可解决,但迭代会更加便宜;

  • Protrusion problem,突出问题,如高精度布料与尖锐几何体碰撞,可能局部会变形(因为碰撞解算完全是局部的,仅移动碰撞点);

    • 可增加Collision Passes,Substeps;

  • Failed collisions
    • Thickness,默认布料非常薄,使布料更厚可提供更多空间以对剧烈的碰撞,但不要大于边长;
    • Substeps,可减少错误,高精度布料需要高子步;
    • Post Collision Passes
    • Layer Shock,层数越高点会越轻;
  • Asymmetric solves
    • vellum使用的是Gauss Seidel而不是Jacobi,可快速收敛,但此过程不会平滑的更新;如没有完全收敛,会得到奇怪的不对称结果;因为误差会集中在一部分区域,不是均匀分布;使用Smooth Iterations参数解决上述问题;
  • Unruly objects
    • 有时物体无视能量守恒,开始加速或旋转;
    • 一种原因可能是自穿插,特别是pscale过大;可使用塑性,来一层内部的能量;
    • 另一种原因可能是没有收敛,能量不对称的留着系统中,甚至会引起没有自穿插的旋转,特别是在pressure和strut约束中;增加Smooth Iterations和Damping可避免;有时可随机排序约束,或随机排序点(在构建约束前);
  • Unstable pins
    • hard pin与强bend约束,可能会引起不稳定;使用软约束,Smooth Iterations可解决;

Restarting sims 当使用drap的输出或先去解算的作为起点,必须注意属性:

  • IDs
    • 合并多个,检查id属性是否冲突;
    • 如删除prim,检查约束是否一致;
    • 检查weld点位置是否正确;
    • 考虑后处理的fuse焊接点;
  • overlap
    • 仅当没有overlap_self或overlap_external属性时,初始帧overlap才会被计算;删除这些属性通常是安全的选择;
  • Collisions not working vellum与大多数几何体类型碰撞,但不是所有:
    • Sphere, Tube, Circle, Metaball 在prim模式时,只与中心点碰撞;
    • Bezier/NURBS Curves 与多边形hull碰撞;
    • Bezier/NURBS Mesh Surfaces 仅与hull点碰撞;
    • VDB, Volume, HeightField 在SOP仅与点碰撞,在DOP使用地形高度场或静态对象的体积碰撞;
    • Polygon Soups 与polygon一样;
    • Tetrahedra 与四面体外部的triangle碰撞;
    • Packed Geometry 与polygon一样;
    • Other Packed Types 取决于是否支持Fast Extraction选项,repack节点可转化为支持此选项;
      • 要与RBD packed geometry碰撞,需在Assemble节点后添加repack;

Crinkled cloth or tangled hair 

  • 离原点超过10000个单位,可能会引起布料褶皱或头发缠绕的问题;将对象移动高离原点更近的位置即可解决问题,还可使用64位以获得更高精度(通常不建议,速度明显变慢);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/199322.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java集合常见问题

目录 Java集合 1.前言2.集合3.Collection接口类3.1 List接口3.1.1 ArrayList(常用)3.1.2 LinkedList(常用)3.1.3 Vector(不常用) 3.2 Set接口3.2.1 HashSet(常用)3.2.2 LinkedHash…

【银行测试】第三方支付功能测试点+贷款常问面试题(详细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、第三方支付功能…

华为快应用中自定义Slider效果

文章目录 一、前言二、实现代码三、参考链接 一、前言 在华为快应用中官方提供了<slider>控件&#xff0c;但是这个控件的限制比较多&#xff0c;比如滑块无法自定义&#xff0c;所以这里进行下自定义&#xff0c;自己修改样式。 二、实现代码 整体效果如下: 源码如下…

SL6015B降压恒流60V耐压1.5A高辉调光LED芯片 电路简单 元器件少

SL6015B是一款专为LED照明应用设计的降压恒流芯片&#xff0c;具有60V的耐压能力&#xff0c;最大输出电流可达1.5A。它采用高辉调光方式&#xff0c;通过改变输入电压或电流来调节LED的亮度。此外&#xff0c;SL6015B还具有电路简单和元器件数量少的特点&#xff0c;使其成为一…

QT-在ui界面中给QWidget增加Layout布局的两种方法

QT-在ui界面中给QWidget增加Layout布局的两种方法 方式一 在UI界面&#xff0c;用拖拽的方式加入Layout方式二 用notepad软件打开.ui文件&#xff0c;手动加入Layout代码 目标&#xff1a;去除右下角红标&#xff0c;给tab标签增加Layout属性。 方式一 在UI界面&#xff0c;用…

leetcode:前序遍历

题目描述 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目分析 这道题的难点在于&#xff0c;前序遍历一遍之后需要将数值存在数组里&#xff0c;returnsize就是数组的大小 所以我们先构建一个函数来计算节点的个数 然后我…

中国AI大模型,应该如何商业化?

虽然大模型商业化的路径较为清晰&#xff0c;目前国内厂商也都在积极探索&#xff0c;但大模型的商业化之路&#xff0c;不能仅限于商业模式的探索尝试&#xff0c;更在于解决大模型发展的底层问题。 作者|斗斗 编辑|皮爷 出品|产业家 如今&#xff0c;大模型的商业化问题再…

深度观察|近视防控乱象下,角膜塑形镜撬动百亿市场的背后…

前不久&#xff0c;“晒眼皮”莫名上了热搜。顾名思义&#xff0c;就是在太阳底下闭眼&#xff0c;让眼皮享受日光浴。 不少近视患者相信&#xff0c;这种做法可以延缓近视&#xff0c;甚至可以让近视度数“清零”。毫无疑问&#xff0c;这是一个收割智商税的做法&#xff0c;…

敏捷开发迭代缺陷统计的重要性

在敏捷开发中&#xff0c;迭代缺陷统计具有重要性&#xff0c;对团队和项目具有多方面的影响&#xff1a; 早期发现和解决问题&#xff1a; 迭代缺陷统计允许团队及时识别和定位在迭代中出现的问题。这有助于早期解决问题&#xff0c;避免问题扩大化&#xff0c;并最大程度地减…

Oracle连接错误:ORA-28040:没有匹配的验证协议

一、产生原因&#xff1a;oci动态库版本太低&#xff0c;无法连接高版本的数据库 二、解决办法 1、下载高版本的oci库 https://www.oracle.com/database/technologies/instant-client/winx64-64- downloads.html 2、解压并复制oci动态库 3、粘贴到相应的目录

中国移动联合玻色量子打造“人人可用的量子计算”——恒山光量子算力平台公测上线

2023年12月1日&#xff0c;中国移动云能力中心&#xff08;简称“移动云”&#xff09;联合北京玻色量子科技有限公司&#xff08;简称“玻色量子”&#xff09;共同打造的“五岳量子计算云平台——恒山光量子算力平台”在苏州正式发布。这是玻色量子继2023年5月16日成功发布自…

常见的关于vcruntime140.dll丢失的解决方法,找不到vcruntime140.dll丢失的问题

vcruntime140.dll文件是Microsoft Visual C Redistributable for Visual Studio 2015的一部分&#xff0c;它是运行使用Visual Studio 2015 开发的应用程序所必需的。如果你在尝试打开某些游戏或应用程序时遇到“vcruntime140.dll丢失”或“找不到vcruntime140.dll”这样的错误…

计算机网络入侵检测技术研究

摘 要 随着网络技术的发展&#xff0c;全球信息化的步伐越来越快&#xff0c;网络信息系统己成为一个单位、一个部门、一个行业&#xff0c;甚至成为一个关乎国家国计民生的基础设施&#xff0c;团此&#xff0c;网络安全就成为国防安全的重要组成部分&#xff0c;入侵检测技术…

论文解读:EfficientViT-提高吞吐量

摘要 要解决的问题 Vision transformers have shown great success due to their high model capabilities. However, their remarkable performance is accompanied by heavy computation costs, which makes them unsuitable for real-time applications. vit计算开销大&a…

热点新闻 | 许战海:零食行业的革新之道

2023年11月29日&#xff0c;华糖万商大会在南京国际会展中心隆重举行。著名战略定位咨询专家许战海受邀出席&#xff0c;在“量贩零食产业年度盛典”上发表了主题为《如何通过竞争战略布局年度规划》的精彩演讲&#xff0c;吸引了众多业界关注。 演讲中&#xff0c;许战海老师指…

网页开发 CSS

目录 CSS 概述 CSS 引入方式 CSS 选择器 基本选择器 组合选择器 伪类选择器 样式继承 选择器优先级 CSS 属性操作 文本属性 背景属性 边框属性 列表属性 dispaly属性 盒子模型&#xff08;重点&#xff09; float属性&#xff08;重点&#xff09; CSS 概述 C…

RPG项目01_UI面板Game

基于“RPG项目01_技能释放”&#xff0c;将UI包导入Unity场景中&#xff0c; 将图片放置 拖拽 取消勾选&#xff08;隐藏攻击切片&#xff09; 对技能添加蒙版 调节父子物体大小一致 将子类蒙版复制 执行5次 运行即可看到技能使用完的冷却条 在Scripts下创建UI文件夹 写代码&am…

4、类和对象、this指针、常对象和常函数

类和对象 类的一般形式 访问控制限定符 public 公有成员&#xff0c;谁都可以访问protected 保护成员&#xff0c;只有类自己和子类可以访问private 私有成员&#xff0c;只有类自己可以访问 类和结构的访问控制限定符区别 类的缺省访问控制限定为私有(private)结构的缺省访…

Java基础数据类型

Java有八种基础的数据类型&#xff0c;它们被分为两个主要的类别&#xff1a;原始类型和引用类型。原始类型又被分为四类&#xff1a;整型、浮点型、字符型和布尔型。 整型&#xff08;Integral Types&#xff09;&#xff1a; 这些类型用于存储整数。它们包括&#xff1a; ○…

最高性能、最低错误率!一年沉寂,IBM王者归来

周一&#xff0c;国际商业机器公司&#xff08;IBM&#xff09;发布了首台量子计算机&#xff0c;它拥有1000多个量子比特&#xff08;相当于普通计算机中的数字比特&#xff09;。但该公司表示&#xff0c;现在它将转变思路&#xff0c;专注于提高机器的抗错能力&#xff0c;而…