three.js给平面添加纹理顺序简单讲解

//场景 scene 

//相机 camera

//渲染器 render

//灯光 light

省略不写

// 1.  创建几何体 这里是平面  宽960 高480 上面的网格是1 

var geometry = new THREE.PlaneGeometry(960,480,1,1);

//几何体创建纹理坐标 好像是四个角

geometry.vertices[0].uv = new THREE.Vector2(0,0);

geometry.vertices[1].uv = new THREE.Vector2(1,0);

geometry.vertices[2].uv = new THREE.Vector2(1,1);

geometry.vertices[3].uv = new THREE.Vector2(0,1);

//2 获取纹理里面的图片 这个不同的版本会有不同的方法 

var texture = THREE.ImageUtils.loadTexture(

// "img3/1.png", 这个是相对位置也行

"http://172.16.7.191/ankangtong/three/img3/1.png",//这个是网络位置也行 不过大部分写

null,function(t){}

);

//3 创建材质 里面加纹理 因为上面的纹理里面有图片 所以相当于在材质上面贴图片

//有单面贴和两面贴 这里是里面贴 主注意括号里面的map,map里面放上面下载到的纹理(这里是图片)对象

var material  = new THREE.MeshBasicMaterial({map:texture,transparent:true});

material.side=THREE.DoubleSide;//单面贴就删除

//4 创建网格平面 需要几何图形和材质 

var mesh = new THREE.Mesh(geometry,material);

scene.add(mesh);//加入到场景

然后设置这个mesh位置旋转什么的

最后记得渲染

renderer.render( scene, camera );

时间: 2024-10-28 11:10:26

three.js给平面添加纹理顺序简单讲解的相关文章

ECSHOP中transport.js和jquery的冲突的简单解决办法

ECSHOP中transport.js和jquery的冲突的简单解决办法 一流资源网近日在ECSHOP网站加入了几个JS特效代码,在谷歌.火狐下正常,在各版本IE下都不常,左思不得其解. 最后才知道原来是"ECSHOP中transport.js和jquery的冲突" 因为通用头部文件中引用了 1 {insert_scripts files='transport.js,utils.js'} transport.js与jquery有冲突.原因不多讲.在网上找到一个最简单解决办法: 成功了,

原生JS取代一些JQuery方法的简单实现

原生JS取代一些JQuery方法的简单实现 下面小编就为大家带来一篇原生JS取代一些JQuery方法的简单实现.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 1.选取元素 // jQuery var els = $('.el'); // Native var els = document.querySelectorAll('.el'); // Shorthand var $ = function (el) { return document.querySelect

利用修改div的位置+js对象存储div信息 实现简单的div自定义布局功能

利用修改div的位置+js对象存储div信息 实现简单的div自定义布局功能1.在界面上添加几个checkbox和一个接收动态添加div的容器 <div> 功能区域 <br /> <input id="1" type="checkbox" value="新闻" name="11" />新闻 <input id="2" type="checkbox"

html、css、js三者的加载顺序

页面的加载顺序时从上往下加载的: 1.DOM树加载到llink标签 css文件的加载和DOM树的加载是可以同时进行的,也就是说,css在加载时DOM树还在继续构建. 这个过程中如果遇到css样式或者img,会向服务器发送一个请求,待资源返回后,将其添加到DOM中的相应位置. 2.DOM树加载到script标签 由于JS是单线程模式,因此不会与DOM并行加载,因此需要等到整个js文件加载完后再继续加载DOM.倘若JS文件过大,则可能导致浏览器页面显示滞后,出现"阻塞效应". .JS阻塞其

js 如何动态添加数组_百度知道

1.数组的创建var arrayObj = new Array(); //创建一个数组var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创建一个数组并赋值 要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外

Js无刷新添加新层,拖动DIV层可互换位置的JavaScript实现

<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>Js无刷新添加新层</title><style>body {margin:0px;padding:0px;font-size:12px;text-align:center;}body > div {text-ali

为JS字符类型添加trim方法

JS字符串本身并不没有提供常用的trim方法,我们可以通过修改String原形来添加此方法,我们就可以直接调用此方法了: String.prototype.trim = function(){return this.replace(/(^\s*)|(\s*$)/g, '')} String.prototype.leftTrim = function(){return this.replace(/(^\s*)/g, '')} String.prototype.rigthTrim = functio

jQuery ajax的执行顺序简单介绍

jQuery ajax的执行顺序简单介绍:jQuery中的Ajax的async默认是true(异步请求),如果想一个Ajax执行完后再执行另一个Ajax, 需要把async=false即可.代码如下: function TestAjax() { var UserName = $("#txtUserName").val(); $.ajax({ url:"AjaxCheckUserName.htm", async:false, success:function(data

二.jquery.datatables.js表格数据添加

1.后台php public function addtable(){ $data = $_POST; if(M('yanfa_project')->add($data)){ $this->ajaxReturn("success"); } } 二.jquery.datatables.js表格数据添加