stone
陈小峰_iefreer
创办踏得网,写了Stone、Myway、MyAvatar 3D等元宇宙引擎。
展开
-
Stone教程:如何在普通网页中处理Stone 3D场景中实体交互事件
如果是通过stone 3d运行时库集成到普通网页中,有可能会需要处理场景中物体的交互事件来实现一些自定义的行为,最常见的是点击、悬停等事件交互。这可以通过在stone 3d容器中侦听如下事件来实现:tds_ev_entity_pointerdown (点击) tds_ev_entity_pointerover (悬停)举例如下,假设stone_div是3d场景容器的id:var cont = document.getElementById('stone_div')cont.a...原创 2021-04-17 23:24:12 · 1208 阅读 · 2 评论 -
Stone 3D教程:常用的可建构实体造型功能(合并、相交和相减)
常用的实体造型功能一般包括对两个(或多个)几何体进行合并、相交和相减。合并是取两个模型的并集,即非重叠部分保留且重叠部分的体素只取其中一个。相交是取两个模型的交集,即只保留相交部分的体素。相减是取两个模型的体素差,显然有顺序,即A-B和B-A是不同的。举例而言,我们要在一个立方体的一个侧面挖出一个坑,具体步骤如下:1. 首先新建一个大的立方体,和一个小的球体,然后把小的球体移动到立方体的上方并部分的陷入立方体中。2. 然后按住CTRL键,通过鼠标点击界面右侧场景树中的几何体来选择两个原创 2021-03-10 20:19:50 · 1276 阅读 · 0 评论 -
Stone教程:如何给网页3D应用程序添加交互热点
网页3D应用程序中一个常见的交互行为是用户点击场景中的某个热点,然后呈现特定的内容,如视频、音频、对话框;或者进行场景切换。本教程说明如何在Stone工具中轻松实现这样的热点交互。在左侧工具栏实体添加子栏目中,有一个灯泡状的图标按钮,如下所示:使用该按钮可以向场景中添加热点信息。点击按钮,默认将在场景根目录下创建一个名为HotSpot的实体:选中Hotspot,在检查器面板中可以修改该热点的交互行为:目前支持的行为类型有播放视频、音频、显示对话框和跳转链接。视频、原创 2021-03-09 14:20:15 · 1105 阅读 · 2 评论 -
stone 3d常见问题:本地tsp工程文件无法加载
在html文件中加载类似 ./demo.tsp 这种相对路径的工程文件,不能工作,命令行错误信息为:URL scheme must be "http" or "https" for CORS request原因是Chrome默认不支持文件协议的跨域访问。解决方法有3种,一种是启用文件协议访问:--allow-file-access-from-files为安全起见,可使用一个单独安装的Chrome版本来以上面的参数来启动。该方法不推荐。第2种方法,是建立本地web服务器,可以是nodejs原创 2021-03-04 22:58:49 · 1385 阅读 · 8 评论 -
Stone 3D教程:如何快速批量创建树木、花草等自然物体
Unity3D和Unreal里面可以引入树木花草包来批量创建这些植物,效果很棒。不过别忘了Unity3D需要5G+,Unreal需要10G+的空间。Stone只有3M多,也可以在场景中快速创建中小规模的自然植被。具体方法是使用Plant工具:点击Plant工具后,界面左侧会出现一个Plant工具箱:工具箱最上面的两个按钮分别是运行控制和帮助按钮,下面的范围、数量和缩放滑块用来控制种植区间、数量和植物大小。植物类型用来选择生成什么样的植被,依次可以是树、花、草和石头(石头这原创 2021-02-27 23:52:02 · 1245 阅读 · 0 评论 -
网页3D编辑器Stone教程:如何实现路径动画
路径动画用来使物体沿着指定路径运动。在Stone 3D中实现路径动画,首先要创建一个路径,路径实际由一系列点组成。如何创建路径?我们先向场景中添加一个实体,比如一个平面(也可以不是平面):然后点击页面左侧工具栏工具下面的路径工具:然后用鼠标左键点击平面选择路径的各个中转点,绘制出一条路径,完成最后一个点的选择时,按鼠标右键来结束中转点的选择,如下白色线条:然后记得关闭左边的工具箱:(用来设置路径线条的外观的工具箱)。注意:最后要关闭左边的路径工具箱,否则路径不会生原创 2021-02-23 09:08:27 · 1398 阅读 · 3 评论 -
Stone 3D教程:创建全景图云展览,只需要几分钟
Stone 3D工具1.1.0版本引入全景图制作工具:点击全景图图标,Stone将默认创建一个全景图查看器和两张全景图场景:默认选中了Pano1节点。如果想在Pano1场景中添加切换热点,可以先通过按住鼠标左键来旋转场景到预期位置,直接鼠标点击该位置即可:注意!如果您点击时没有出现上图这样的灯泡图标,那么你可能没有选中任何一个Pano节点,你需要先选择一个想要添加热点的Pano场景节点(如Pano1)。然后在场景树中我们选中Pano2节点,类似方法添加热点。点击运行,鼠标原创 2021-02-21 00:47:22 · 1972 阅读 · 1 评论 -
网页3D编辑器Stone案例:快速定制旗帜类软体动画
展馆中的一个常见元素是旗帜,stone工具支持快速定制旗帜类软体动画。可以修改重力因子、风力、风阻、固定模式以及边缘加强因子。原创 2021-01-28 23:32:20 · 700 阅读 · 0 评论 -
网页3D编辑器Stone案例:房地产数字沙盘
房产和展馆类的数字沙盘(或电子沙盘)目前主要是通过全息投影来实现的,即通过外围硬件把事先制作好的数字影像和物理沙盘进行全息融合。这种方案的优点是观感较好,缺点是用户和场景内物体没有互动,其技术本质和看3D电影类似。如果要提供3D电影的效果,同时又要能使得用户身临其境融入场景进行实时互动,就得依靠XR(三维)应用程序,而不只是投影。Stone工具和Unity、Unreal类似,可用来制作XR应用程序,Stone专门制作网页类的XR应用程序。下面是用Stone制作的一个房地产数字沙盘案例:原创 2021-01-23 21:52:32 · 870 阅读 · 0 评论 -
网页3D编辑器Stone案例:未来城市云展厅
使用Techbrood Stone工具专业版可以快速制作在线云展厅,有效融合高清2D图文和3D场景交互。使用到了2D界面组件(专业版功能)、各种3D动画组件、路径规划、人机交互组件(专业版功能),以及粒子、UI系统。...原创 2021-01-08 17:19:09 · 1036 阅读 · 0 评论 -
Web3D编辑器Stone教程:如何使用资源库导入免费在线模型
Stone工具最新版本实现了资源库功能,资源目前支持图片、视频、音频、材质和模型这5种类型。材质可以直接拖拉到实体上即可应用。模型通过双击即可加载到场景中,需注意模型的大小,可能需要调节其transform才可以合适的显示出来。Stone工具内置支持上千的免费模型资源,可以通过资源库面板右上角的搜索框来进行云端搜索:比如上面是通过搜索“铁”这个关键词,出来的结果。双击模型图标即可加载到场景中。...原创 2020-12-17 00:28:29 · 1189 阅读 · 0 评论 -
Web3D编辑器Stone教程:使用Interaction组件实现用户交互
3D引擎在用户交互上通常有3种方式,一种是开放API,通过执行用户脚本来实现;第二种是通过Blueprint(或Graph)蓝图工具来实现无编程可视化交互;还有一种是通过给实体添加交互组件来实现。这三种方式使用难度依次降低,功能性也依次降低。在Stone工具中,目前采用了第三种interaction组件来实现简单而常用的交互。首先选中实体,然后给实体添加interaction组件,在检测器中点开该组件,如下所示:这里对默认配置不做任何修改,直接点击菜单栏的运行图标:在原创 2020-12-17 00:04:48 · 898 阅读 · 0 评论 -
使用踏得网Web3D编辑器Stone制作WebGL钻石特效
钻石是光学特性很复杂的物质,存在多次折射、反射、色散以及边缘高光闪烁等效果,要想非常真实的在网页端进行模拟是很困难的,需要使用到光线跟踪,而这显然很消耗性能。我们可以使用一些折中处理,来逼近真实的效果,不需要那么物理真实,更多的是视觉感受上达到差不多的效果。下面是我用Stone 3D工具制作的一个效果:视频链接:http://t.cn/A6GFjMCm?m=4577854908007251&u=1406897513...原创 2020-12-03 01:57:54 · 997 阅读 · 4 评论 -
踏得网Web3D编辑器Stone教程:分分钟制作灯泡发光特效
灯泡发光发亮是生活中稀松平常的现象,可是在网页3D中想要模拟这样的效果,却没有想象中的那么简单。首先需要建立发光的后处理程序,而WebGL的着色器代码是出了名的难写难以调试,更不用说这里面有不少的物理原理和数学计算。其次得处理发光体和周边物体的遮挡问题,最后还得慎重考虑发光物体在一个大型场景中渲染时的性能问题。Stone 3D工具内置了相关处理,使得用户创建这样的效果非常简单和高效。1. 给场景Scene节点添加glow组件,添加好后,glow组件的属性保持默认即可。不知道如何给实体添加原创 2020-11-26 22:40:52 · 723 阅读 · 0 评论 -
网页3D编辑器Stone教程:如何在3D场景中添加注解
注解是在线展示(无论2D还是3D)的基本功能。Stone提供了两种方式的注解,一种是带自动位置调整和连接器的注解器,一种是简单的文本框。带自动位置调整和连接器的注解器对应的组件为:annotation-with-connector简单的文本框注解器对应的组件为:annotationAnnotation with Connector这个组件比较灵活,能够从目标对象的一个锚点引出一条连接线,然后在连接线的另一端显示标题和描述。该组件文本可内联编辑,也可以通过常用的组件属性中进行编辑,在组件属原创 2020-11-16 12:16:23 · 540 阅读 · 0 评论 -
网页3D编辑器Stone教程:如何创建管道模型
使用踏得网的Stone工具可以轻松创建一个管道。首先创建一个曲线(Spine)实体,从左侧工具栏中选择并点击“曲线”菜单:这时场景当前选中实体下将出现一个曲线模型:该曲线模型默认情况下有4个控制节点,鼠标悬停到控制节点上会出现三轴变换辅助器,如上图所示。移动控制节点的位置将可以改变曲线形状。如何修改控制节点?可以在场景树中选中该曲线多边形实体,在其右键菜单中有“添加节点”和“删除节点”子菜单,点击即可增删控制节点。把多边形变成管道选中上述曲线对象,点击工具栏中的管道工原创 2020-11-06 12:13:31 · 572 阅读 · 0 评论 -
如何在网页3D编辑器Stone中引入平面多边形模型
踏得网的Stone工具支持导入复杂的SVG图形并自动根据SVG里面的路径数据生成形状模型。具体操作:把svg文件直接拖拉到Stone编辑器的场景区域并松开鼠标,比如一个名为tiger.svg的文件。此时注意观察场景树的变化,如果加载成功,应该会出现一个名为tiger的节点,如果你的场景树层级关系较多,你可以在场景树最上面的搜索栏里面敲入“tiger”来快速定位到该节点。此时如果3D场景中没有出现预期的模型,那么一般是因为模型太大或太小所导致,可以通过选中tiger节点,在检测器的tr原创 2020-10-27 22:45:17 · 383 阅读 · 0 评论 -
Stone教程:如何导入3D模型到场景中
踏得网Stone工具支持导入外部3D模型。当前支持的模型类型有fbx、glb和obj。有三种操作方式:1. 直接从文件资源管理器拖拉模型文件到编辑器的场景中2. 也可以通过点击菜单“程序”->“引入”来导入3. 也可以通过下面的资源池工具条上的导入按钮来导入模型导入后,默认情况下,如果导入正确,该模型将被插入为当前选中节点的子节点。由于大小问题模型可能超出编辑者视界,我们可以通过鼠标滚轮来缩放场景来看到模型全貌。如果模型过大或者过小,可以通过在场景树中选中该模型节点原创 2020-10-25 17:51:25 · 1031 阅读 · 0 评论 -
Stone教程:如何在3D场景中使用粒子动画特效
踏得网的Stone工具采用了着色器粒子编辑引擎,可以很容易的实现烛火、萤火虫、烟花、喷泉、雨雪等3D动画特效。要在场景的特定位置添加粒子特效,可以首先在该位置添加一个空实体,然后给该实体添加particle组件:点开ParticleEmitter组件标签,可以看到一个当前使用的粒子贴图:双击该贴图将打开粒子编辑器:最上面是贴图,你可以换成自己制作的贴图,比如雨滴、雪花等。粒子参数有很多,比较重要的几个参数是粒子数量、生存周期、3个维度上的速度、加速度(注意除了初始值,还有变化原创 2020-10-25 17:21:19 · 728 阅读 · 0 评论 -
Stone教程:如何在3D场景中使用音频和视频
Stone支持直接从系统资源管理器中拖拉资源到场景实体上来自动完成音频和视频对象的创建。目前支持的音频格式为mp3/ogg/wav,视频格式为MP4/webm/ogg。第一步:在场景中创建一个实体,比如一个立方体。第二步:把音频或视频文件拖拉到立方体上,鼠标松开。如果是音频文件,则在场景树中选中立方体后,可以看到该实体多了一个AudioEmitter组件:点击Audio属性旁边的播放按钮,则可以播放该音频。如果要让Stone应用程序运行时自动播放该音频,请勾选组件的自动播放(Au原创 2020-10-25 16:49:52 · 409 阅读 · 1 评论 -
Stone教程:如何选中、平移、旋转和缩放实体
3D世界的平移、缩放和旋转操作和2D文档中有很大的差异。2D文档中选中文本框的时候一般会出现辅助边框用来进行缩放以及平移,类似的思路,3D目标操作目前比较成熟的一个方式是给目标3D实体添加辅助调节器,这个调节器必须是3个维度的,可以分别对X/Y/Z三个维度进行调节,还要可以对其中任意多个维度同时调节。选中选中实体有2种方式,一个是在中心场景中双击实体对象,还有一个是在场景树中选择实体。平移在Stone编辑器中选中实体后,点击左侧工具栏中的平移按钮(或者按快捷键T):这时,原创 2020-10-24 11:42:25 · 667 阅读 · 0 评论 -
Stone教程:如何在3D场景中添加图像
在Stone中添加图像很简单,只要2步。第一步,新建一个平面,然后移动到预定位置,并缩放到合适的比例第二步,把图片(png或jpg)从操作系统资源管理器中直接拖拉到上面的平面上即可:...原创 2020-10-24 09:38:24 · 781 阅读 · 0 评论 -
踏得网Web3D编辑器Stone教程:组件简介以及如何使用组件来扩展实体的功能
踏得网的Stone工具实现了经典而强大的ECS(即Entity-Component-System)架构,场景中的实体可以通过组件来轻松的扩展其功能。当我们在场景树中选择了一个实体对象时,检查器面板会自动显示该实体对象的属性和组件列表:在检查器的最顶部有一个添加组件的下拉列表框,我们首先分类介绍下已有组件的功能:操作类:drag-controls:拖拉控制,用来给实体添加可拖拉操作性object-controls:给实体添加对象控制(鼠标和键盘操作)fps-controls:原创 2020-10-22 13:18:05 · 784 阅读 · 0 评论 -
Stone教程:一行代码就可以把3D场景植入到普通网页中
踏得网的Stone工具可以帮助用户快速构建3D场景,场景可以在Stone工具内编辑、播放、保存和重新加载。如果想把在Stone工具中制作的场景放到现有的网页中,也很简单,只需要2步。Stone提供了一个运行时库tds_rt.js,(tds_rt全称为techbrood stone runtime)链接地址为:https://techbrood.com/stone/tds_rt.js,第一步是把该js库加载到页面中:<script src="https://techbrood.co.原创 2020-10-22 12:34:10 · 2657 阅读 · 0 评论