这是我的目标:
var object = new THREE.Mesh( geometry, new THREE.MeshLambertMaterial( { map: THREE.ImageUtils.loadTexture( "image.png" ) } ) );
object.position.set(2, 3, 1.5);
Run Code Online (Sandbox Code Playgroud)
我在init()中创建了这个对象之后; 功能,我可以直接转到对象并改变他的位置,如下所示:
object.position.x = 15;
Run Code Online (Sandbox Code Playgroud)
现在问题是如何改变纹理的不透明度???
谢谢 :-)
C++只是通过让我微观管理我自己的记忆来吸引我太多的时间,让我打字太多(你好std::vector<Thingy>::const_iterator it = lotsOfThingys.begin()),并且厌倦了我很长的编译时间.什么是严肃的实时图形编程的唯一最佳选择?垃圾收集是必须的(必要时能够避免使用垃圾),速度必须与C++竞争.访问C libs的合理故事也是必须的.
(完全披露:我对此有自己的答案,但我很有兴趣看到其他人发现什么是实时图形工作的C++的好替代品.)
编辑:感谢大家的深思熟虑的回复.鉴于这个问题确实没有"正确"的答案,我不会选择任何特定的答案.除此之外,我只选择我喜欢的语言作为C++替代品,这不太公平.
用于开发交互式3d Web应用程序,建议使用哪种引擎?
我知道WebGL已经被宣布在不久的将来(1〜2年)成为所有浏览器的标准.
我担心通过将时间投入到像Unity这样的专有游戏引擎中,一旦出现无插件的开源3D引擎(webgl,用于3D的JavaScript),扭矩就不会很大.
这是一件令人担心的蠢事吗?我应该从Unity开始(它的演示和工具是令人兴奋的).
我正在写一个游戏引擎,我想知道我应该使用什么3D模型格式/加载/导出?Obj看似普遍且容易,但它似乎也不可靠,因为那里的大多数模型都包含错误,并且它不存储任何接近其他格式的地方.
似乎有专门用于MD2/3/5等游戏的格式,但我不确定,如果我建模我会使用wings3d,而且我不知道除了纯粹加载我需要的内容以及格式ID必须支持的其他细节实现,比如我需要实现IK?我可以使用脚本化的每片动画而不是反向运动学和骨骼绑定吗?
我正在使用Copperlicht,我想创建一个可用的FPS.演示控件显示了为什么浏览器环境会让这很痛苦.
为了实现FPS摄像机控制,您需要跟踪相对鼠标位置 - 换句话说,它的运动,而不是其绝对屏幕坐标.除非用户在页面内启动拖动事件,否则鼠标可以随时离开浏览器(理所当然地)并且无法跟踪.单击事件会更改焦点并阻止应用程序使用鼠标数据作为输入.
拖动期间可以跟踪鼠标位置,但这需要用户按住鼠标左键.这不好,因为左击通常用于其他事情.按下按钮也很累,很麻烦.
我唯一能想到的是自动鼠标中键.鼠标中键按下可在浏览器中保持焦点,并在浏览器焦点中将左/右点击事件保持在浏览器窗口之外.是否可以使用JavaScript使鼠标中键保持按下状态?
如果没有,是否有一个"纯粹"的解决方案呢?我宁愿不去flash或Java或插件作为答案.
设A是我有3D坐标x,y,z的点,我想将它们转换为2D坐标:x,y.投影应在由给定法线定义的平面上正交.平凡的情况,其中法线实际上是其中一个轴,它很容易解决,只是简单地消除了一个坐标,但其他情况如何更容易发生?
似乎有很多OBJ网格文件加载器已经开发出来供Android平台上使用.我想知道是否有人有这方面的经验,并可以提供一个似乎最适合他们的建议.
这是我的标准:
以下是我发现的一些库.
我也很乐意听到不在此列表中的其他人.
想象我有一个3列矩阵
x,y,z,其中z是x和y的函数.
我知道如何绘制这些点的"散点图"
plot3d(x,y,z)
但是,如果我想要一个表面,我必须使用其他命令,如surface3d问题是它不接受与plot3d相同的输入它似乎需要一个矩阵与
(nº elements of z) = (n of elements of x) * (n of elements of x)
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到这个矩阵?我尝试使用命令interp,就像我需要使用等高线图时一样.
如何在不计算此矩阵的情况下直接从x,y,z绘制曲面?如果我的分数太多,那么这个矩阵就太大了.
干杯
我对3D图形非常熟悉(我为一个学术项目开发了一个简单的3D游戏引擎).但是现在我必须用C++开发一个音频/视频工具,里面还需要一些3D功能,所以我不能依赖我的小程序,但我需要一个具有高性能标准和功能的3d引擎框架.
我想知道您对这三种产品之间3D引擎的最佳选择的看法,我听说过:
我需要的要求如下:
回答请记住,我不是在开发视频游戏,而我对最佳框架的选择并不取决于难以使用的程度.我只对框架提供的功能感兴趣.
我想更好地理解使用一个框架而不是另一个框架的差异和优点.
有几个优秀的堆栈问题(1,2)关于three.js所unprojecting,那就是如何转换(X,Y)鼠标在浏览器中的(X,Y,Z)坐标three.js所帆布空间坐标.他们大多遵循这种模式:
var elem = renderer.domElement,
boundingRect = elem.getBoundingClientRect(),
x = (event.clientX - boundingRect.left) * (elem.width / boundingRect.width),
y = (event.clientY - boundingRect.top) * (elem.height / boundingRect.height);
var vector = new THREE.Vector3(
( x / WIDTH ) * 2 - 1,
- ( y / HEIGHT ) * 2 + 1,
0.5
);
projector.unprojectVector( vector, camera );
var ray = new THREE.Ray( camera.position, vector.subSelf( camera.position ).normalize() );
var intersects = ray.intersectObjects( scene.children );
Run Code Online (Sandbox Code Playgroud)
我一直试图反过来 - 而不是从"屏幕到世界"空间,从"世界到屏幕"空间.如果我知道Three.js中对象的位置,我该如何确定它在屏幕上的位置?
似乎没有任何已发布的解决方案来解决此问题. …