首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏六月-游戏开发

    unity3d-物理引擎(一)

    add Compoment-physics-Rigidbody 刚体组件可使游戏对象受物理引擎控制,在受到外力时产生真实世界中的运动。 物理引擎:模拟真实世界中物体物理特性的引擎。 快速移动的刚体在碰撞时有可能互相穿透,可以设置碰撞检测频率,但频率越高对物理引擎性能影响越大。 不连续 Discrete:不连续碰撞检测。适用于普通碰撞(默认模式)。 刚体碰撞器 Rigidbody Collider:具有刚体和碰撞器的物体; 现象:完全受物理引擎影响。 运动学刚体碰撞器:带刚体,且勾选Is Kinematic。 属性 是否触发器 Is Trigger:如激活,此碰撞器用于触发事件,并且被物理引擎忽略。 材质 Material:引用何种物理材质决定了它和其它对象如何作用。 >(); 获取接触点 CotactPoint cp = other.contacts[0]; 获取接触点世界坐标 Vector3 p = cp.point; 获取接触面法线 Vector3 v =

    2.1K20编辑于 2022-12-26
  • 来自专栏我和未来有约会

    物理引擎

    物理引擎: motor2 基于Box2d的AS3(Player 10)刚体引擎 作者主页:http://lab.polygonal.de/motor_physics/ APE  最简单 http:// www.cove.org/ape/ FOAM - 2D Rigid Body Physics Engine http://code.google.com/p/foam-as3 glaze - 2D Rigid Body Dynamics & Game Engine for Actionsctipt 3 http://code.google.com/p/glaze/ Fisix Engine  收费的 http box2d性能高 基于Box2d的游戏: 魔笔,只能在线玩(as) http://www.miniclip.com/games/magic-pen/cn/magicpen.swf 怪物卡车,可下载玩,且有3d 版的(as) http://www.miniclip.com/games/monster-trucks-nitro/cn/ 蜡笔物理学 (c++) http://www.crayonphysics.com

    2.1K50发布于 2018-03-01
  • 来自专栏Layabox

    一篇上手LayaAir的3D物理引擎

    今天,我们针对LayaAir引擎的初学者,以及对物理引擎使用不熟悉的开发者,再来分享一篇3D物理文档,本篇文档全面介绍了3D物理引擎使用的基础能力。方便开发者快速上手。 ? LayaAir 3D引擎集成了世界三大物理引擎之一的Bullet引擎,当在Unity中使用了物理组件,用LayaAir的Unity插件导出后,默认就是采用的Bullet引擎。 (动图1-5) 二、物理碰撞 碰撞是物理引擎中最基础、最常用的功能。在这个小节里,我们对3D物理碰撞进行全面的认知。 2.1 碰撞器与触发器 对于检测3D物理碰撞的方式,有碰撞器与触发器两种。 (图16) 如果不打算使用Bullet物理引擎,Physics3D相关的物理库不需要勾选。 在LayaAir封装的物理API的设计上,基本上与Bullet引擎保持了一致,只是在命名前增加了Cannon标识,例如3D刚体Rigidbody3D在Cannon物理引擎的使用时变为了CannonRigidbody3D

    5.9K10发布于 2021-01-12
  • 来自专栏Layabox

    LayaAir2.7物理引擎大幅升级并新增cannon物理引擎支持,强化3D光影效果,新增vivo平台引擎共享插件,强化3D插件

    另外,本次更新还进一步增强了3D光影的渲染效果,强化了LayaAir的Unity 3D资源导出插件的功能。 3D物理功能增强 在LayaAir 3D物理中,本次的2.7版本,增加了固定关节组件Fixed Joint和可配置关节组件Configurable Joint的支持。 我们还提供了断开力breakForce和断开扭矩breakTorque属性,用来设置约束的强度极限,同时在Script3D类中提供了物理的生命周期方法onJointBreak(),当约束力超过强度极限时 因此,我们决定在本次的2.7版本中,支持cannon.js物理引擎库,包括以下的cannon物理功能: (1)cannon物理射线检测 (2)cannon物理碰撞检测 (3)cannon物理box,sphere 比如,引擎插件中有6个库,你只用到了核心2D核心库,那3D核心库等其它的,也会同样被下载,不会根据你使用的情况去减少(未来可能会改变为引擎插件包中的库允许分离,具体要看vivo小游戏平台的官方更新通知)

    1.9K30发布于 2020-06-09
  • 来自专栏云上修行

    Genesis 物理引擎入门实战

    引言Genesis 是一个面向通用机器人学和具身人工智能(Embodied AI)的高性能物理仿真引擎。 Genesis 支持多种机器人描述文件格式:URDF(Unified Robot Description Format):ROS 生态系统中的标准格式MJCF(MuJoCo XML Format):MuJoCo 物理引擎的 gs.init(backend=gs.cpu) # 3. 创建场景 (Scene) # Scene 是 Genesis 中所有物理实体的容器。 # 这一步会编译底层的计算图,准备好物理引擎所需的数据结构。 scene.build() # 7. 这一步会编译底层的计算图,准备物理引擎所需的数据结构。这是关键步骤,忘记调用会导致错误。5.

    69521编辑于 2025-11-30
  • 来自专栏IMWeb前端团队

    物理引擎中画圆弧

    本文作者:IMWeb zzbozheng 原文出处:IMWeb社区 未经同意,禁止转载 因为需求的需要,要使用在物理引擎中使用四分之一圆弧,我们来看看怎么实现在物理引擎中画出四分之一的圆弧, 在物理引擎中绘制圆弧 一般来说,物理引擎都是提供一般的画图方法,比如:circle(圆)、polygon(不规则多边形)、rectangle(矩形) 等图形,但如果需要画出比较灵活又不规则的图形的话,那么就需要使用 SVG到物理引擎的转换 因为我们这里使用的是matter.js 那么可以通过 matter.js 提供的方法 Svg.pathToVertices 来把svg转换为canvas路径。

    3K80发布于 2018-01-08
  • 来自专栏IMWeb前端团队

    物理引擎中画圆弧

    因为需求的需要,要使用在物理引擎中使用四分之一圆弧,我们来看看怎么实现在物理引擎中画出四分之一的圆弧, 在物理引擎中绘制圆弧 一般来说,物理引擎都是提供一般的画图方法,比如:circle(圆)、polygon SVG到物理引擎的转换 因为我们这里使用的是matter.js 那么可以通过 matter.js 提供的方法 Svg.pathToVertices 来把svg转换为canvas路径。

    1.9K30发布于 2019-12-03
  • 来自专栏EdisonTalk

    Unity3D游戏开发初探—3.初步了解U3D物理引擎

    一、什么是物理引擎?   四个世纪前,物理学家牛顿发现了万有引力,并延伸出三大牛顿定理,为之后的物理学界的发展奠定了强大的理论基础。 那么,在Unity3D的游戏开发中,是通过什么机制来实现物体的物理效果的呢?我们把目光转移到传说中的物理引擎上。 简而言之,物理引擎就是模拟真实世界中物体碰撞、跌落等反应的引擎。 扩展:Unity的物理引擎使用的是Nvidia的PhysX,PhysX 是一套由Nvidia设计的执行复杂的物理运算的技术。 参考文献与资料   (1)Unity3D基础教程之组件介绍—物理引擎:http://www.narkii.com/club/thread-289321-1.html   (2)Unity3D学习笔记(十一 /Unity3D/index.html   (4)物理引擎-百度百科:http://baike.baidu.com/link?

    2.1K50发布于 2018-08-20
  • 来自专栏程序你好

    使用物理引擎为三维场景增加物理效果

    在threejs中使用Ammo.js来实现物理效果,Ammo.js 使用Emscripten将 Bullet物理引擎 直接移植到JavaScript。 Bullet Physics是一个开源的物理模拟引擎,世界三大物理引擎之一,功能强大。 三维场景中的对象只需要用特定的Physijs对象封装一下便可以在场景中展现物理效果(重力、碰撞检测等)。 第一步:需要引入Ammo库 <script src="js/libs/ammo.js"></script> 第二步:创建物理引擎对象 var collisionConfiguration 0, gravityConstant, 0 ) ); physicsWorld.getWorldInfo().set_m_gravity( new Ammo.btVector3( 0, gravityConstant, 0 ) ); 第三步、创建一个不能移动的地面 物理引擎加载场景之后,加载的物体都有默认的向Y轴负方向大小为10的加速度,可以通过setGravity 设置。

    2.8K32发布于 2021-07-23
  • 来自专栏HT

    基于HT for Web 3D呈现Box2DJS物理引擎

    上篇我们基于HT for Web呈现了A* Search Algorithm的3D寻路效果,这篇我们将采用HT for Web 3D来呈现Box2DJS物理引擎的碰撞效果,同上篇其实Box2DJS只是二维的平面碰撞物理引擎 Box2D最早是Erin Catto在GDC大会上的一个展示例子,后来不断完善成C++的开源物理引擎库,这些年了衍生出Java、ActionScript以及JS等版本,被广泛应用在游戏领域。 Box2D有很多参数功能点,这里例子我们仅呈现最基础简单的要素,主要让大家理解Box2DJS引擎的基本使用,以及呈现上如何与HT for Web结合。 s3, dynamic, angle) { var node = new ht.Node(); node.p3(p3); node.s3(s3); 对象,同时构建了Box2D的Body对象,并通过userData属性关联在一起,在requestAnimationFrame的渲染过程,先通过world.Step(1 / 60, 10, 10);更新物理引擎的内部运算

    1.3K90发布于 2018-01-03
  • 来自专栏Layabox

    物理引擎的碰撞分组,适用2D和3D

    设置碰撞组 2D物理的碰撞组是设置刚体的category(碰撞类别)属性。 3D物理的碰撞组是设置碰撞器的collisionGroup(所属碰撞组)属性。 指定可碰撞的组 2D物理通过设置刚体的mask(掩码)属性来指定可与哪些组进行碰撞。 3D物理通过设置碰撞器的canCollideWith(能碰撞的组)属性来指定可与哪些组进行碰撞。 需要了解的是, 按位或运算虽然可以计算出碰撞多个组的对应值,但物理引擎中真正决定能不能进行碰撞的,其实是按位与运算。了解完按位与的物理碰撞原理,我们就可以进一步掌握除了按位或以外的碰撞指定技巧。 下面,我们再聊聊碰撞关系的形成, 物理引擎会用碰撞组的值与指定的可碰撞组的值进行按位与运算,按位与的计算结果非0,就可以碰撞;为0,就不可以碰撞。 写在最后 关于物理的文档,无论是2D还是3D,官网上全都有,也比较全面,建议大家学习引擎前先通读一下官网文档。

    1.6K10发布于 2021-01-12
  • 来自专栏javascript趣味编程

    微信小程序体验3D物理引擎-ammo.js

    点击体验3D物理引擎bullet的javascript版本。 var ballMaterial = new THREE.MeshPhongMaterial( { color: 0x202020 } ); var pos = new THREE.Vector3( = i * 3; for ( var j = 0; j < numVertices; j ++ ) { var j3 = j * 3; if ( isEqual( idxVertices[ i3 ], idxVertices[ i3 + 1 ], idxVertices[ i3 + 2 ], vertices[ j3 ], vertices[ j3 + 1 ], vertices[ j3 + 2 ] ) ) { association.push( j3 );

    3.8K32发布于 2020-05-31
  • 来自专栏腾讯IMWeb前端团队

    基础 | 在物理引擎中画圆弧

    作者|zzbozheng 原文|http://imweb.io/topic/5959aee62536e43f14da1a68 因为需求的需要,要使用在物理引擎中使用四分之一圆弧,我们来看看怎么实现在物理引擎中画出四分之一的圆弧 , 在物理引擎中绘制圆弧 一般来说,物理引擎都是提供一般的画图方法,比如:circle(圆)、polygon(不规则多边形)、rectangle(矩形) 等图形,但如果需要画出比较灵活又不规则的图形的话 SVG到物理引擎的转换 因为我们这里使用的是matter.js 那么可以通过 matter.js 提供的方法 Svg.pathToVertices 来把svg转换为canvas路径。

    2K20编辑于 2022-06-29
  • 来自专栏程序你好

    使用物理引擎为三维场景增加物理效果(2)

    使用物理引擎为三维场景增加物理效果 接下来我们增加更多的模型来丰富三维场景,我们可以设置mass属性为0,这意味着这个模型质量为0,会参与碰撞而自身位置不会产生变化。 pos.set( 0, 1.2, 0 ); quat.setFromAxisAngle( new THREE.Vector3( 0, 0, 1 ), 30 * Math.PI / 180 createParallellepiped(1, 1, 1, 1, pos, quat, createRendomColorObjectMeatrial()); } 这里存在两类模型,刚体和柔体,会在物理引擎下运动 bufferGeom.ammoVertices, bufferGeom.ammoIndices, bufferGeom.ammoIndices.length / 3,

    1.2K30发布于 2021-07-23
  • 来自专栏Molier的小站

    关于物理效果的动画引擎 UIDynamic 介绍

    UIDynamicBehavior:动力行为的描述,用来指定 UIDynamicItem 应该如何运动,即定义适用的物理规则。 UIDynamicAnimator;动画的播放者,动力行为(UIDynamicBehavior)的容器,添加到容器内的行为将发挥作用; ReferenceView:等同于力学参考系,如果你的初中物理不是语文老师教的话 最后那句话的意思是吧他的参考系 (这里是的 self.view) 的边界作为碰撞边界,就是说这段代码运行后这两个 这两控件撞到屏幕 self.view 的边框会发生物理的碰撞反弹效果。 想这样 (点我开始那个按钮) 除了重力和碰撞,iOS SDK 还预先帮我们实现了一些其他的有用的物理行为,它们包括 UIAttachmentBehavior 描述一个 view 和一个锚相连接的情况,

    93540编辑于 2022-11-03
  • 来自专栏clz

    使用物理引擎matterjs实现键盘特效动画

    使用物理引擎matterjs实现键盘特效动画 前言 偶然间看到一个网站,觉得这个动画很炫酷。就收藏了一下,在稍微学习了一下matterjs后,打算跟着源码学习,弄懂并且自己实现一个。 创建渲染器 创建物体 将物体添加到引擎的world中 执行渲染器 创建执行器runner,并运行引擎(如果没有这一步,则没有办法触发物理动画) index.html <! 创建引擎 const engine = Engine.create(); // 2. 将物体添加到引擎的`world`中 Composite.add(engine.world, [boxA, boxB, ground]); // 5. /type.mp3"> <script src=".

    82210编辑于 2023-10-23
  • 来自专栏AI科技评论

    动态 | 英伟达宣布开源物理仿真引擎 PhysX

    AI 科技评论按:近日,英伟达在官博宣布正式开源被誉为「市面最强大物理仿真引擎」的 PhysX,除了广泛应用于游戏特效的提升,该引擎还能为 AI 、机器人与计算机视觉技术、自动驾驶与高性能计算提供支持。 物理仿真引擎的作用,是让虚拟世界中的物体运动符合真实世界的物理定律,经常用于游戏领域,以便让画面看起来更富有真实感。 PhysX 是由英伟达提出的物理仿真引擎,其物理模拟计算由专门加速芯片 GPU 来进行处理,在节省 CPU 负担的同时还能将物理运算效能成倍提升,由此带来更加符合真实世界的物理效果。 需要强调的是,PhysX 的 SDK 必须在 BSD 3 许可下使用,获得许可平台包括 iOS、Mac OS X、安卓(2.2 及以上版本)、Linux 以及 Windows XP 及以上版本。 TGS 将基于主体的相对运动动态,重新计算每次迭代的约束; 通过简化关节以及对关节进行改进,有效提升引擎整体的稳定性; Broad Phase 基于运动学和静力学的新过滤规则使引擎的可扩展性得以实现;

    1.4K20发布于 2018-12-26
  • 来自专栏TEG云端专业号的专栏

    DCOS :私有云的物理基础架构管理引擎

    回顾 DCOS这1年多摸着石头的不断探索、思考,经过近30个迭代版本的试错验证,从设计到开发到应用落地,慢慢其定位也越来越清晰–私有云的物理基础架构管理引擎。 如果参考行业私有云老大 – OpenStack的模型,DCOS正好补充了OpenStack对物理资源监管控能力,如下图红框部分: 图3 OpenStack逻辑架构图 下面分别从两个维度介绍一下 图6 CMDB的CI关系项 2)BME(Bare Metal Engine):物理裸机管理引擎,负责物理裸机的自动发现、带外管理、自动化部署、命令下发&文件传输等自动化管控运维,通过外部扩展,还可以实现私有云其他组件 3)OneMonitor:服务器和网络融合的一站式监控引擎,涵盖服务器基础采集、服务器硬件部件采集、服务器进程&端口采集、自定义业务采集、网络设备SNMP采集、网络质量探测、网络应用数据流分析,并支持把原始监控数据转发第三方平台 2)软件交付方式 为了实现离线部署,以软件包或镜像形式交付,部署在物理服务器上。 3)软件部署方式 DCOS采用模块化+分层式设计,支持集中式部署和分布式部署。

    10.6K40发布于 2017-08-01
  • 来自专栏闷骚的程序员

    HGE 引擎学习笔记 1——如何模拟物理碰撞

    模拟物理碰撞要解决的几个问题: 怎样模拟速度的变化?

    84510发布于 2020-04-16
  • 来自专栏javascript趣味编程

    ammo.js-bullet物理引擎碰撞检测

    之前用ammojs写了一点点动画:微信小程序体验3D物理引擎-ammo.js,把碰撞检测的代码写一下,Mark下,记个笔记: 碰撞检测 function updatePhysics(deltaTime { mesh.addTriangle( new Ammo.btVector3(vertices[face.a].x, vertices[face.a ].y, vertices[face.a].z), new Ammo.btVector3(vertices[face.b].x, vertices[face.b].y, false ); mesh.addTriangle( new Ammo.btVector3( 点击体验3D物理引擎bullet的javascript版本。源码参考了:https://github.com/THISISAGOODNAME/learn-ammojs,感谢原作者! (正文完!)

    4.5K20发布于 2020-08-18
领券