繁体   English   中英

使用具有自定义场景更新功能的playwidget(例如play3d)

[英]Using playwidget with customized scene update functions (like play3d)

play3d支持自定义场景更新功能,即,您基本上可以在帧之间做任何您想做的事情,包括添加/更新形状,表面,照明或视点。 请参阅demo(flag) ,其中demo(flag)的表面每帧都会重绘。

playwidget有点受限制。 它仅支持可以传递以更新par3d par3dinterp样式的控件。 如果要更改par3d可用元素之外的3d图的属性,例如添加形状,我不知道如何实现。

有没有办法使playwidget行为类似于play3d

谢谢。

至少有三种方法可以做到这一点。

如果更改的数量非常有限(例如标志示例的简单版本),则可以一次绘制所有框架,并将除一个对象之外的所有对象设置为alpha = 0 ,使其不可见。 然后根据播放器更改哪个帧的alpha = 1

另一种方法是编写Javascript。 Legacy WebGL Methods小插图中的第一个示例就是这样做的。 请注意,JavaScript中rgl对象的内部结构可能会发生变化,因此可能很难维护。

最后一种方法是使用Shiny。 在R代码中进行更改,然后重新绘制场景。 demo("shinyDemo", "rgl")执行此操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM