《大海之声》(学习黑黑粒子波浪效果)
<style>#papa { margin: 60px 0 20px calc(50% - 681px); width: 1200px; height: 680px; background: url('https://pic.imgdb.cn/item/6635dd1c0ea9cb1403539ca2.jpg') no-repeat center/cover; box-shadow: 3px 3px 6px gray; pointer-events: none; overflow: hidden; z-index: 1; position: relative; }
#papa::after, #vid { position: absolute; left: calc(50% - 350px); top: -120px; width: 860px; height: 360px; border-radius: 50%; transform: rotate(-6deg); }
#papa::after { content: ''; cursor: pointer; pointer-events: auto; box-shadow: 0 0 8px rgba(0, 0, 240, .1); }
#canv { position: absolute; top: 80px; }
#vid { object-fit: cover; mix-blend-mode: screen; opacity(.5); }
#vid1 { position: absolute; left: 0; top: 0; width: 100%; height: 110%; transform: rotate(180deg); opacity(.15); object-fit: cover; mix-blend-mode: screen; }
</style>
<div id="papa">
<audio id="aud" src="https://music.163.com/song/media/outer/url?id=408532700" loop autoplay></audio>
<video id="vid" src="https://img.tukuppt.com/video_show/53950850/04/18/11/6472d24fbf06c_10s_big.mp4" loop muted></video>
<video id="vid1" src="https://img.tukuppt.com/video_show/15653652/01/31/09/62d0ffb1878e6_10s_big.mp4" loop muted></video>
<canvas id="canv" width="1200" height="680"></canvas>
</div>
<script>
var ctx = canv.getContext('2d', {willReadFrequently: true});
var ww = canv.width, hh = canv.height, pixels = [];
for (var x = -800; x < 800; x += 5) {
for (var z = -250; z < 250; z += 5) {
pixels.push({ x: x, y: 100, z: z });
}
}
let render = (ts) => {
var imageData = ctx.getImageData(0, 0, ww, hh), len = pixels.length, fov = 250;
var pixel, scale, x2d, y2d, c;
for (var i = 0; i < len; i++) {
pixel = pixels[ i ];
scale = fov / (fov + pixel.z);
x2d = pixel.x * scale + ww / 2;
y2d = pixel.y * scale + hh / 2;
if (x2d >= 0 && x2d <= ww && y2d >= 0 && y2d <= hh) {
c = (Math.round(y2d) * imageData.width + Math.round(x2d)) * 4;
imageData.data = 20;
imageData.data = 180;
imageData.data = 255;
imageData.data = 245;
}
pixel.z -= 0.6;
pixel.y = hh / 14 + Math.sin(i / len * 15 + (ts / 450)) * 10;
if (pixel.z < -fov) pixel.z += 2 * fov;
}
ctx.putImageData(imageData, 0, 0);
};
(function drawFrame(ts) {
requestAnimationFrame(drawFrame);
if(!aud.paused) {
ctx.clearRect(0, 0, ww, hh);
render(ts);
}
})();
aud.onplaying = aud.onpause = () => aud.paused ? (vid.pause(), vid1.pause()) : (vid.play(), vid1.play());
papa.onclick = () => aud.paused ? aud.play() : aud.pause();
</script> 又是一个玄幻的效果,就想着朝着玄幻的意境去走了。
天空和视频效果和粒子波浪效果相关联。我们人类也是从海洋里进化出来的,那是亘古的话题。
原本的var x = -400; x < 400; x += 5峰值有点明显,这个帖子里有点对不上,直接在css理右移又让左边缺点,索性改成800,倒是不那么明显了。反正前面试验时都试过,做帖时正好用上,就不知道会不会又其他问题@马黑黑 {:4_173:} 红影 发表于 2024-5-4 21:59
又是一个玄幻的效果,就想着朝着玄幻的意境去走了。
天空和视频效果和粒子波浪效果相关联。我们人类也是从 ...
这些都可以不断尝试的 其实这个帖子我也不知道想表达什么,只是沉醉于迷幻境界。这个曲子实际叫《Voice Of The Sea》不喜欢总是英文名字,就直接用汉语了。
这曲子的女声的哼唱就像凝望那一望无际超出我们想象的大海,深邃而神秘,纯净而威仪,犹如仰望星空,同样的迷幻而漫无边际。是来自灵魂深处的天籁,缥缈绵长,摄人心魄。。。 视频改成椭圆形的了,配合画面用,同时内容换做了倾泻感的,表达空间的相关联。
都是喜欢的粒子效果,只想做个帖子留存。然后自己先被这些效果迷住了{:4_173:} 亲爱的,这个画面的效果感觉有黑黑二个教程吧,反正有时间就抄作业,今天先下了 鲜花,掌声一起送上{:4_204:}{:4_199:}{:4_172:} 我们来自哪里,又将去往何处。如此短暂的人生,为什么要有战争和痛苦,超级生命一定在远处观看并嘲笑着我们 炫酷! 马黑黑 发表于 2024-5-4 22:01
这些都可以不断尝试的
是的,每变化点数值,效果就不一样了呢{:4_173:} 小辣椒 发表于 2024-5-4 22:10
亲爱的,这个画面的效果感觉有黑黑二个教程吧,反正有时间就抄作业,今天先下了
不是,就黑黑《永恒的瞬间》那个帖子套用的啊{:4_173:} 小辣椒 发表于 2024-5-4 22:11
鲜花,掌声一起送上
谢谢亲爱的{:4_179:} 起个网名好难 发表于 2024-5-4 22:25
炫酷!
谢谢难难鼓励{:4_187:} 红影 发表于 2024-5-4 22:58
是的,没变化点数值,效果就不一样了呢
多做测试 有点害怕这种地方,太阴森了。不过,做得的确是很棒,应该喜欢。{:4_173:} 哦!感觉好像进入了梦幻的世界。 马黑黑 发表于 2024-5-5 08:03
多做测试
嗯嗯,用测试的结果来匹配帖子想要的效果,也是挺好玩的过程{:4_187:} 红影 发表于 2024-5-5 10:43
嗯嗯,用测试的结果来匹配帖子想要的效果,也是挺好玩的过程
{:4_190:} 小文 发表于 2024-5-5 09:07
有点害怕这种地方,太阴森了。不过,做得的确是很棒,应该喜欢。
这样的地方现实里没有,应该只有梦中的片段吧。试验和学习一下粒子波浪效果,希望没吓到小文{:4_173:} 梦油 发表于 2024-5-5 09:22
哦!感觉好像进入了梦幻的世界。
或者叫魔法世界{:4_173:}