3D魔方场景

3D魔方场景实例

效果:

源码:

-----------------------------------------

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html;charset=utf-8">

<title>3D魔方场景</title>

<meta name="Keywords" content="关键词,关键词">

<meta name="description" content="">

<meta name="viewport" content="width=device-width,initial-scale=1">

<!--css,js-->

<link rel="stylesheet" href="" />

<style type="text/css">

*{margin: 0;padding: 0;}

#viewport {bottom: 0;left: 0;overflow: hidden;-webkit-perspective: 3000;perspective: 3000;position: absolute;

right: 0;top: 0;background:#000;-moz-user-select: none; -o-user-select:none;

-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none; user-select:none;}

#world {height: 240px;left: 50%;margin-left: -256px;margin-top: -256px;position: absolute;

top: 50%;-webkit-transform-style: preserve-3d;transform-style: preserve-3d;width: 512px;}

.wrapper{width: 100px;height: 100px;margin:10px;

}

.box{margin:0 0 0 150px}

.wrapper .comment{width: 100px;height:100px;margin: auto;position: absolute;font-size: 30px;text-align:center;}

.wrapper div.u{background:#ebeb05;-webkit-transform: rotateX(90deg) translateZ(50px);transform: rotateX(90deg) translateZ(50px);}

.wrapper div.d{transform: rotateX(-90deg) translateZ(50px);-webkit-transform: rotateX(-90deg) translateZ(50px);background-color: #ebebeb;}

.wrapper div.l{-webkit-transform: rotateY(-90deg) translateZ(50px);transform: rotateY(-90deg) translateZ(50px);background-color:#054494;}

.wrapper div.r{-webkit-transform: rotateY(90deg) translateZ(50px);transform: rotateY(90deg) translateZ(50px);background-color:#059440;}

.wrapper div.f{-webkit-transform: rotateX(0deg) translateZ(50px);transform: rotateX(0deg) translateZ(50px);background-color: #c50513;}

.wrapper div.fll{width: 100px;height:100px;float: left;}

.wrapper div.b{-webkit-transform: rotateX(180deg) rotateZ(180deg) translateZ(50px);transform: rotateX(180deg) rotateZ(180deg) translateZ(50px);background-color: #ea820e;}

.wrapperR div.u{background:#ebeb05;-webkit-transform: rotateX(90deg) translateZ(-50px) translateY(-110px);transform: rotateX(90deg) translateZ(-50px) translateY(-110px);}

.wrapperR div.d{transform: rotateX(-90deg) translateZ(-50px) translateY(110px);-webkit-transform: rotateX(-90deg) translateZ(-50px) translateY(110px);background-color: #ebebeb;}

.wrapperR div.l{-webkit-transform: rotateY(-90deg) translateZ(-50px) translateX(-110px);transform: rotateY(-90deg) translateZ(-50px) translateX(-110px);background-color:#054494;}

.wrapperR div.r{-webkit-transform: rotateY(90deg) translateZ(-50px) translateX(110px);transform: rotateY(90deg) translateZ(-50px) translateX(110px);background-color:#059440;}

.wrapperR div.f{-webkit-transform: rotateX(0deg) translateZ(-60px);transform: rotateX(0deg) translateZ(-60px);background-color: #c50513;}

.wrapperR div.fll{width: 100px;height:100px;float: left;}

.wrapperR div.b{-webkit-transform: rotateX(180deg) rotateZ(180deg) translateZ(160px);transform: rotateX(180deg) rotateZ(180deg) translateZ(160px);background-color: #ea820e;}

.wrapper1{}

.wrapper2{}

.wrapper3{margin: -220px 0 0 120px;}

.wrapper4{margin: 10px 0 0 120px;}

.wrapper5{margin:-210px 0 2px 10px;}

.wrapper6{}

.wrapper7{margin: -220px 0 0 120px;}

.wrapper8{margin: 10px 0 0 120px}

</style>

</head>

<body >

<div id="viewport" >

<div id="world" >

<div class="box">

<div class="wrapper wrapperL wrapper1">

<div class="comment u">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment d" id="dd">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment l">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment r">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment f">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment b">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

</div>

<div class="wrapper wrapperL wrapper2">

<div class="comment u">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment d" id="dd">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment l">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment r">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment f">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment b">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

</div>

<div class="wrapper wrapperL wrapper3">

<div class="comment u">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment d" id="dd">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment l">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment r">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment f">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment b">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

</div>

<div class="wrapper wrapperL wrapper4">

<div class="comment u">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment d" id="dd">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment l">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment r">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment f">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment b">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

</div>

<div class="wrapper  wrapperR wrapper5">

<div class="comment u">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment d" id="dd">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment l">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment r">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment f">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment b">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

</div>

<div class="wrapper  wrapperR wrapper6">

<div class="comment u">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment d" id="dd">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment l">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment r">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment f">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment b">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

</div>

<div class="wrapper  wrapperR wrapper7">

<div class="comment u">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment d" id="dd">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment l">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment r">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment f">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment b">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

</div>

<div class="wrapper  wrapperR wrapper8">

<div class="comment u">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment d" id="dd">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment l">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment r">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment f">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

<div class="comment b">

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

<div class="fll"></div>

</div>

</div>

</div>

</div>

</div>

<script type="text/javascript">

var world = document.getElementById( ‘world‘ ),

viewport = document.getElementById( ‘viewport‘ ),

d = 0,

worldXAngle = 0,

startX, startY, flag = false,

worldYAngle = 0;

window.addEventListener( ‘mousewheel‘, onContainerMouseWheel );

window.addEventListener( ‘DOMMouseScroll‘, onContainerMouseWheel );

window.addEventListener( ‘mousedown‘, function(e){

startX = e.clientX;

startY = e.clientY;

flag = true;

});

window.addEventListener( ‘mousemove‘,function(e){

if(flag){

worldXAngle =  startX - e.clientX + worldXAngle;

worldYAngle = startY - e.clientY + worldYAngle;

updateView(-worldXAngle/100 ,worldYAngle/100,d);

}

});

window.addEventListener( ‘mouseup‘, function(e){

startX = e.clientX;

startY = e.clientY;

flag = false;

});

function updateView(worldXAngle,worldYAngle,d) {

var t = ‘translateZ( ‘ + d + ‘px ) rotateX( ‘ + worldYAngle + ‘deg) rotateY( ‘ + worldXAngle + ‘deg)‘;

world.style.webkitTransform = t;

world.style.MozTransform = t;

world.style.oTransform = t;

};

function onContainerMouseWheel( event ) {

event = event ? event : window.event;

d = d - ( event.detail ? event.detail * -8 : event.wheelDelta / 2 );

updateView(-worldXAngle/100 ,worldYAngle/100,d);

};

</script>

</body>

</html>

时间: 2024-10-05 06:07:24

3D魔方场景的相关文章

3D魔方的思路与实现

思路:(要实现魔方六个面以及九个小块的样式并旋转展示.) 内容部分:魔方分为六个面,每个面有九个小块,使用一个div内嵌套六个div再嵌套九个div实现内容部分. 样式部分:最外层div设置属性 transform-style: preserve-3d;实现整体的3D效果. 内部六个面使用 transform: rotateX/Y/Z(0deg) translateZ(1px); 分别平移旋转不同的角度,与第一个面组成立方体. 设置每个面九个小块的大小和边框样式(圆角)以及背景颜色. 最后设置整

SceneKit:简单的3D游戏场景搭建

SceneKit是Apple用来开发休闲3D游戏的框架,不同于底层的OpenGL库,你仅仅需要很少的代码就可以快速看到实际的3D场景效果.下面简单的聊聊搭建一个3D游戏场景需要做的事情. 首先你必须用其他3D建模工具生成你需要的3D模型,后缀为dae或者scn,应该还附带一张纹理图片. 可以将3D模型文件连同纹理图片导入Xcode,以下是一个例子 可能有些童鞋不知道如何打开场景图(scene graph)的界面,只要点击上图最下一行local按钮左边的方框按钮即可: 你在场景图界面中可以添加光源

DirectX11--实现一个3D魔方(3)

前言 (2019/1/9 09:23)上一章我们主要讲述了魔方的旋转,这个旋转真是有毒啊,搞完这个部分搭键鼠操作不到半天应该就可以搭完了吧... (2019/1/9 21:25)啊,真香 有人发这张图片问我写魔方的目的是不是这个...噗 现在光是键鼠相关的代码也搭了400行左右..其中键盘相关的调用真的是毫无技术可言,重点实现基本上都被鼠标给耽搁了. 章节 实现一个3D魔方(1) 实现一个3D魔方(2) 实现一个3D魔方(3) Github项目--魔方 对了,在此之前你可以去了解一下我这里所使用

用纯原生态javascript+css3 写的3D魔方动画旋扭特效

一直从事于后端编程工作,工作中也经常接触和使用一些前段技术,但大多数还是用于操作和控制数据与客户端交互工作.随着互联网技术的发展以及硬件性能的不断提升,人们对于交互式体验已变得越来越重视,进而前端技术已经越来越突显出它的重要性,特别是一些炫酷的特效,精美的UI设计,都使人眼前一亮,顿时觉得网站平台都高大上不少,很博人们眼球,给人们以很好的视觉冲击,特别是现在的css3,HTML5技术的更新,使得以更小的代价就可以轻松实现这些效果,故此,俺也顿时膜拜起前端技术,悠然起了兴趣,跃跃欲试,随机利用cs

unity 3D游戏场景转换

//////////////////2015/07/07//////// /////////////////by xbw/////////////// ///////////////环境 unity 4.6.1// 当需要多个场景时,就用到了场景转换, 这里呢,我有两个场景,一个move(开场镜头),另一个second(游戏场景): 要想运行完开长镜头后接着运行游戏场景,需要用到一个函数::: Application.LoadLevel("second");引号里变是需要运行的场景,即

CSS3中的3D动画实现(钟摆、魔方)--实现代码

CSS3中的3D动画实现(钟摆.魔方) CSS3的2D变形----传统的transform变形效果 transform : translate.scale.rotate.skew- translate:平移.scale:缩放.rotate:旋转.skew:倾斜 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>tran

Citrix 3D虚拟化解决方案之小结

最近有机会通过微信群(感谢桌面云 | 云潮涌动 微信群)分享了一下桌面虚拟化中的3D虚拟化这个子类的一些经验.正好也把过去近3年参与3D桌面虚拟化的一些项目经验做了一个梳理,特整理如下. 相较于普通的桌面虚拟化,3D桌面虚拟化是一个普通桌面虚拟化中研发桌面的衍生场景.过去多年,3D用户的桌面虚拟化需求一直都存在,但受限于技术很难完成交付.3D用户主要分布在包括工程制造.能源.科研.医疗等几个行业及相关的研究机构,在国外还有金融.政府这些行业.而在国内,近两年受到制造2025的大环境的影响,特别是

创建基本的2D场景(part1)

通过一个简单的2D游戏案例来学习unity 2D游戏开发,本文分为以下4个部分. · 创建工作层 · 添加静态景物 · 制作2D动画 · 添加角色和控制 · 添加2D效果 通过这个案例,我们可以学习到unity2D游戏制作的基本流程,Sprite的创建和使用,2D物理引擎,2D的特效的使用等这些常用的知识点. 3D游戏场景中的摄像机一般使用透视模式(Perspective),2D游戏场景中的摄像机是正交模式的(Orthographic),如果在此案例中你不幸选择了透视模式(Perspective

WEB 3D SVG CAD 向量 几个实施(转)

一.他们所有的发展.从地上爬起来 VML+SVG发展矢量地图.你并不需要导入第三方的图片作为背景,直接在地图编辑器可以在底图内容编辑,由于岩石.巷道.煤层.画水.础地图样子再在其上面画出智慧线等设备,全部操作显示等都用SVG来实现,形成的SVG地图自然就是纯矢量地图. 二.基于WEBGL和3DMAX开发 WEBGL+3DMAX开发3D效果,WEBGL是从OpenGL演进来的WEB上展示3D效果的技术,能够用3DMAX像开发3D游戏场景一样开发立体3D场景.在WEB上能够使用WEBGL显示3D地图