三觉映画
SANJUE STUDIO

拖动以旋转  ·  DRAG TO ROTATE

向下探索
成都 · CHENGDU

以影像诠释音乐的灵魂

We make images that give music a body.

三觉映画是一家专注于音乐视觉领域的创作型工作室,深耕 MV 制作、专辑封面设计、CG 动画制作、平面摄影等创作。我们相信,真正的视觉作品不只是呈现,而是一次关于感知的邀请。创作自由。

05创作类别
创作热情
CHD成都 · 中国
作品类别

Works

开始合作

让我们一起
创造下一个作品

Ready to collaborate?

联系工作室
01 · MV

音乐视频

Music Video01
年份
202503月
作品标题 A MV
艺人名称2025.03

作品标题 A

Work Title A

在此填写作品描述,介绍创作背景、拍摄概念或导演思路。

202410月
作品标题 B MV
艺人名称2024.10

作品标题 B

Work Title B

在此填写作品描述,介绍创作背景、拍摄概念或导演思路。

202406月
作品标题 C MV
艺人名称2024.06

作品标题 C

Work Title C

在此填写作品描述,介绍创作背景、拍摄概念或导演思路。

202312月
作品标题 D MV
艺人名称2023.12

作品标题 D

Work Title D

在此填写作品描述,介绍创作背景、拍摄概念或导演思路。

02 · 封面

封面设计

Album Cover Design02
年份
专辑名称 A
封面设计 3张
专辑名称 A 2025.03
专辑名称 B
封面设计 2张
专辑名称 B 2025.01
专辑名称 C
封面设计
专辑名称 C 2024.11
专辑名称 D
封面设计 2张
专辑名称 D 2024.08
专辑名称 E
封面设计 3张
专辑名称 E 2024.04
专辑名称 F
封面设计
专辑名称 F 2023.12
专辑名称 G
封面设计 2张
专辑名称 G 2023.09
专辑名称 H
封面设计
专辑名称 H 2023.05
03 · CG

CG 动画

CG Animation03
年份
202502月
CG作品 A CG
艺人名称2025.02

CG作品 A

CG Title A

三维动画视觉描述,包括风格基调与技术实现。

202409月
CG作品 B CG
艺人名称2024.09

CG作品 B

CG Title B

三维动画视觉描述,包括风格基调与技术实现。

202403月
CG作品 C CG
三觉映画2024.03

CG作品 C

CG Title C

三维动画视觉描述,包括风格基调与技术实现。

202311月
CG作品 D CG
艺人名称2023.11

CG作品 D

CG Title D

三维动画视觉描述,包括风格基调与技术实现。

04 · 摄影

平面摄影

Photography04
年份
摄影系列 A
摄影 4张
摄影系列 A 2025.02
摄影系列 B
摄影 5张
摄影系列 B 2025.01
摄影系列 C
摄影 4张
摄影系列 C 2024.11
摄影系列 D
摄影 4张
摄影系列 D 2024.09
摄影系列 E
摄影 5张
摄影系列 E 2024.06
摄影系列 F
摄影 4张
摄影系列 F 2024.03
摄影系列 G
摄影 4张
摄影系列 G 2023.12
摄影系列 H
摄影 5张
摄影系列 H 2023.09
摄影系列 I
摄影 4张
摄影系列 I 2023.05
摄影系列 J
摄影 5张
摄影系列 J 2022.11
05 · 短片

短片

Short Film05
年份
202501月
短片标题 A 短片
三觉映画2025.01

短片标题 A

Film Title A

短片创作简介,主题概念与影像风格说明。

202407月
短片标题 B 短片
三觉映画2024.07

短片标题 B

Film Title B

短片创作简介,主题概念与影像风格说明。

202310月
短片标题 C 短片
三觉映画2023.10

短片标题 C

Film Title C

短片创作简介,主题概念与影像风格说明。

作品详情

{ const geo=new THREE.ExtrudeGeometry(sh,EXT); const mesh=new THREE.Mesh(geo,i%2===0?M1:M2); mesh.scale.set(S,-S,S);mesh.position.set(-CX*S,CY*S,0); group.add(mesh); }); const box=new THREE.Box3().setFromObject(group); const cen=new THREE.Vector3();box.getCenter(cen);group.position.sub(cen); scene.add(group); window._logoGroup=group; let drag=false,pvx=0,pvy=0,vx=0,vy=0,auto=true,timer=null; const dn=(x,y)=>{drag=true;auto=false;clearTimeout(timer);pvx=x;pvy=y;vx=vy=0;}; const mv=(x,y)=>{if(!drag)return;vx=(x-pvx)*.011;vy=(y-pvy)*.011;group.rotation.y+=vx;group.rotation.x+=vy;pvx=x;pvy=y;}; const up=()=>{drag=false;timer=setTimeout(()=>auto=true,3000);}; canvas.addEventListener('mousedown',e=>dn(e.clientX,e.clientY)); window.addEventListener('mousemove',e=>mv(e.clientX,e.clientY)); window.addEventListener('mouseup',up); canvas.addEventListener('touchstart',e=>dn(e.touches[0].clientX,e.touches[0].clientY),{passive:true}); canvas.addEventListener('touchmove',e=>{mv(e.touches[0].clientX,e.touches[0].clientY);e.preventDefault();},{passive:false}); canvas.addEventListener('touchend',up); window.addEventListener('resize',()=>{ W=canvas.offsetWidth;H=canvas.offsetHeight; renderer.setSize(W,H);cam.aspect=W/H;cam.updateProjectionMatrix(); }); const clk=new THREE.Clock(); // Keep rendering even when canvas is not visible — fixes logo disappear bug (function tick(){ requestAnimationFrame(tick); const t=clk.getElapsedTime(); pA.position.set(Math.sin(t*.62)*7,Math.cos(t*.38)*6,Math.cos(t*.48)*3+5); pB.position.set(Math.cos(t*.44)*-6,Math.sin(t*.54)*5,Math.sin(t*.32)*2+4); pC.position.set(Math.sin(t*.73+1.5)*5,Math.sin(t*.4-1)*-5,Math.cos(t*.58)*4.5); if(!drag){vx*=.90;vy*=.90;group.rotation.y+=vx;group.rotation.x+=vy;if(auto)group.rotation.y+=.0032;} group.rotation.x=Math.max(-.48,Math.min(.48,group.rotation.x)); group.scale.setScalar(1+Math.sin(t*.85)*.004); renderer.render(scene,cam); })(); })(); updateCounts();