我很难理解它是如何DisplacementMapFilter
工作的。基本上,我正在尝试通过鱼眼/遮罩的组合来创建一个旋转的星球。
另外,我该如何通过时间线来做到这一点?我对其中的编码不太熟悉,但这更像是一个动画项目,所以类是不可能的。抱歉缺少代码-我只是卡住了。
我很难理解它是如何DisplacementMapFilter
工作的。基本上,我正在尝试通过鱼眼/遮罩的组合来创建一个旋转的星球。
另外,我该如何通过时间线来做到这一点?我对其中的编码不太熟悉,但这更像是一个动画项目,所以类是不可能的。抱歉缺少代码-我只是卡住了。
正如上面评论中所指出的,这可能只解决了一半的问题;
使用正确的工具生成置换贴图图像并不难。我假设您使用的是 Photoshop、GIMP、Fireworks 或类似工具。
最好使用此方法处理 128x128 或更小的图像。一些编辑器拥有更专业的工具,可以让您处理几乎任何大小的图像,但这是一个通用过程,不需要特殊工具。你总是可以放大最终结果,但质量会开始下降。
从渐变填充开始。它应该从左侧的纯黑色变为右侧的深红色(特别是 128,0,0)。添加从顶部的黑色到底部的深绿色(特别是 0,128,0)的垂直填充,并将它们与 LIGHTEN 或 ADD 过滤器组合。您现在应该有一个具有黑色、红色、绿色和黄色角的图像。将其压平。
将此图像复制到另一层/无论您的编辑器选择什么术语。应用你想要的任何置换过滤器(可能是鱼眼,可能是手动涂抹,可能是透视变换,任何东西)
在两者之间添加第三层。用深黄色(128,128,0)填充它并将其设置为添加/添加混合模式。将顶层设置为 SUBTRACT / SUBTRACTION 混合模式。
就是这样。您应该得到一个主要是黄色的图像,它将用作置换贴图。
更新:
要在示例程序 ( http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filters/DisplacementMapFilter.html#includeExamplesSummary ) 中使用它,请将createBitmapData
函数替换为:
private function createBitmapData():BitmapData {
return myBitmapObject.bitmapData;
}
myBitmapObject
你的位移位图的实例名称(我认为)在哪里。有更整洁的设置方法,但这是最简单的。