向几何体添加细分

2024-04-01

我正在尝试向球体添加细分,如下所示:

http://stemkoski.github.com/Three.js/Subdivision-Cube.html http://stemkoski.github.com/Three.js/Subdivision-Cube.html

这是我的代码:http://jsfiddle.net/mdrorum/HvFLw/ http://jsfiddle.net/mdrorum/HvFLw/

        <script src="http://mrdoob.github.com/three.js/build/three.js"></script>

            <script type="text/javascript">

            var camera, scene, renderer;
            var geometry, material, mesh;
            var smooth, subdiv, modifier;

            init();
            animate();

            function init() {

                camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 1, 10000 );
                camera.position.z = 1000;

                scene = new THREE.Scene();

                renderer = new THREE.CanvasRenderer();
                renderer.setSize( window.innerWidth, window.innerHeight );

                document.body.appendChild( renderer.domElement );

                geometry = new THREE.SphereGeometry( 200 );
                material = new THREE.MeshBasicMaterial( { color: 0x00ff00, wireframe: true } );

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

                var smooth = mesh.clone();
                var subdiv = 3;
                var modifier = new THREE.SubdivisionModifier( subdiv );
                //modifier.modify( smooth );


            }

            function animate() {

                requestAnimationFrame( animate );

                mesh.rotation.x += 0.01;
                mesh.rotation.y += 0.02;

                renderer.render( scene, camera );

            }

        </script>

这工作正常,但取消注释://modifier.modify( smooth );

什么都没发生。 :(

如何添加细分?


Here http://www.kadrmasconcepts.com/blog/2011/11/06/subdivision-surfaces-with-three-js/你可以找到一个很好的教程demo http://client.kadrmasconcepts.com/blog_examples/html5-webgl-subdivision/。引用作者的话:

// First we want to clone our original geometry.
// Just in case we want to get the low poly version back.
var smooth = THREE.GeometryUtils.clone( geometry );

// Next, we need to merge vertices to clean up any unwanted vertex. 
smooth.mergeVertices();

// Create a new instance of the modifier and pass the number of divisions.
var divisions = 3;
var modifier = new THREE.SubdivisionModifier(divisions);

// Apply the modifier to our cloned geometry.
modifier.modify( smooth );

// Finally, add our new detailed geometry to a mesh object and add it to our scene.
var mesh = new THREE.Mesh( smooth, new THREE.MeshPhongMaterial( { color: 0x222222 } ) );
scene.add( mesh );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

向几何体添加细分 的相关文章

  • 具有材质颜色的三个 js 动画搅拌机模型

    我有一个导出的 三个 js json 格式 搅拌机模型 该模型有一些带有颜色的材料 如果我使用 THREE MorphAnimMesh 和 THREE MeshPhongMaterial 动画工作正常 但没有材质颜色 如果我使用 THREE
  • 向几何体添加细分

    我正在尝试向球体添加细分 如下所示 http stemkoski github com Three js Subdivision Cube html http stemkoski github com Three js Subdivisio
  • 将几何图形转换为 BufferGeometry

    据我了解 Geometry 存储顶点和面的 javascript 对象结构 而 BufferGeometry 仅通过 Float32Arrays 等存储原始 gl 数据 有没有什么方法可以将标准 Geometry 转换为 BufferGeo
  • 如何将 SketchUp 模型导出到 Three.js?

    我通过谷歌创建了一个模型SketchUp 我想将其导出到three js节省一些时间 因为我想使用SketchUp比three js 那么有人可以告诉我该怎么做吗 非常感谢 您可以从 SketcUp 导出 collada DAE 然后使用
  • Three.js - 在自定义几何体上平滑兰伯特材质着色的问题

    我在 Three js 中创建了一个自定义几何体 现在 我想创建一个使用平滑阴影兰伯特材质的网格 使用循环 我创建了顶点数组 然后创建了面 然后我调用了 geometry computeCentroids geometry computeF
  • THREE.JS 加载 STL 网格数组

    因此 我有一个数据库 其中包含文件引用列以及对其所需的子 STL 文件的任何引用 我可以将一两个模型加载到 THREE js 查看器中 因此所有这些都可以正常工作 但是当我加载四个左右的数组时 事情开始变得毛茸茸的 分配的网格 ID 开始变
  • Three.js 支持波斯语/阿拉伯语文本

    我需要以波斯语 阿拉伯语显示一些文本 我加载了包含字符的字体 并使用 TextGeometry 在场景上创建文本 var loader new THREE FontLoader loader load B Zar Regular js fu
  • 给定 3D 空间中的一条线,如何找到从它到一点的角度?

    我在 3D 空间中有两组点 我想画一条穿过两组点的中心的线 然后找到从该线到每个点的角度 从那里开始 我将根据两个角度的接近程度来确定两组中的匹配点 我知道如何找到每组点的中心 只需将它们平均在一起 并且我知道如何将它们匹配 甚至考虑到它们
  • Three.js 中几何图形的事件处理? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在寻找对 Three js 中的几何图形 相机 灯光 我们添加到场景中的东西 进行某种事件处理 我用谷歌搜索但找不到任何相关内容
  • 将球体 a 旋转到自身的 b 点

    我试图弄清楚如何将球体从 A 点旋转到 B 点 我找到了一些Unity3d代码 Quaternion rot Quaternion FromToRotation pointA pointB sphere transform rotation
  • 动画 GIF 作为 THREE.js 中的纹理

    我正在寻找一种在 THREE js 中使用 GIF 动画作为纹理的方法 我目前可以加载纹理 甚至是 GIF 格式 但它无法播放动画 有什么办法可以做到吗 我发现了一些像这样的链接 https github com JordiRos GLGi
  • 在 Three.js 中将贝塞尔曲线转换为平面道路

    我试图根据之前计算得到的一些贝塞尔曲线在 Three js 中绘制一条弯曲的道路 问题是我找不到转换曲线序列的方法 一条从上一条曲线的末尾开始 到一个曲面 我有一个 3D 场景 其中有一些汽车 一条用飞机创建的道路 并且绘制了即将到来的道路
  • 将颜色渐变应用于网格上的材质 - Three.js

    我有一个 STL 文件加载到我的场景中 并将单一颜色应用于 phong 材质 我想要一种方法 将两种颜色应用于该网格物体的材质 并在 Z 轴上应用渐变效果 如下例所示 渐变花瓶 https i stack imgur com Ty9gq j
  • Three.js 光线投射器可以与组相交吗?

    我想知道我的光线投射器是否正在查看我已加载的 OBJ 由于从 Cinema4D 导出的方式 我相信 OBJ 是一个具有 3 个子级的 THREE Group 而不是 THREE Object 我可以更改我的 raycaster 代码行来查找
  • Three.js - 将 WebGL 和 CSS3D 与 iFrame 混合

    我准备了一个混合的工作页面WebGL and CSS3D 在SO的一点帮助下here https stackoverflow com questions 24681170 three js properly blending css3d a
  • 如何在 Three.js 场景中包含 OVRManager?

    我创建了几个 Three js Javascript 演示应用程序 正在我的新 Oculus Go 中进行试验 我正在尝试让 Go 控制器在我的应用程序中执行某些操作 根据 Oculus 开发人员中心的说法 最好的办法是将 OVRManag
  • 三-mtl-loader 错误:THREE.MeshPhongMaterial:.shading 已被删除 -> 对象不可见

    昨天我问了这个问题 未捕获的类型错误 THREE MTLLoader 不是构造函数 2 0 https stackoverflow com questions 47741644 uncaught typeerror three mtlloa
  • CSS3DObject 始终位于 WebGL Mesh 前面

    我正在混合CSS3D Renderer with WebGL Renderer to add HTML3D 空间中的元素WebGL场景 这CSS3DObject在前面WebGL网格即使WebGL Renderer具有较高的 z index
  • 如何在react-三纤维中提取并播放动画

    嗯 我有 gltf 动画模型 我成功加载模型 但无法播放嵌入的动画 我想知道是否可以以任何方式解决它 顺便说一句 我正在反应中工作 先感谢您 在这里您可以找到型号https drive google com file d 1ZVyklaQu
  • ThreeJS 中阴影的奇怪行为

    所以我有一个 ThreeJS 场景 并且添加了一些球体 多材质 我还添加了定向光 this light new THREE DirectionalLight 0xFFFFFF 1 this light position set 2 10 2

随机推荐

  • 用 C# 为信息检索应用程序编写倒排索引

    我正在编写一个内部应用程序 其中包含多条文本信息以及有关这些文本的大量数据 这些数据将按照输入顺序保存在数据库 SQL Server 尽管这可能会改变 中 我希望能够搜索这些信息中最相关的信息 并将最相关的信息放在顶部 我最初考虑使用 SQ
  • 如何将距离从度转换为米?

    我将 OpenLayers 与普通墨卡托地图一起使用 并尝试通过查找经纬度中的点网格来对边界框进行采样 bbox 以 latlon 表示 例如 48 1388 15 3616 55 2057 3 9359 我可以定义一个距离degrees
  • 为什么 sizeof int 是错误的,而 sizeof(int) 是正确的?

    我们知道sizeof是一个运算符 用于计算任何数据类型和表达式的大小 当操作数是表达式时 可以省略括号 int main int a sizeof int sizeof int sizeof a sizeof a return 0 的第一次
  • Java 反射、类对象

    我的目标是在命令行中读入我希望观察其信息的类的名称 当我在运行前知道类名时 就没有问题了 我似乎无法管理的是如何根据字符串输入创建类对象 public class Tester static void methodInfo2 Object
  • jQuery Ajax 发布 - 404 错误

    我正在发布到 ActionMethod 以检索一些客户计数 该帖子在我的本地机器上运行良好 当部署到另一台服务器时 它会抛出 404 错误 我的帖子如下 我不知道为什么这已经停止工作了 var urlStr Items ItemCount
  • mongodb中db.collection.find()的返回类型是什么

    我正在尝试从 mongodb 连接读取 find 函数的输出 我想将数据库结果存储到 JSON Array 中 称为结果 如下所示 collection db collection users result collection find
  • 从 SQL Server 2005 读取 MS Excel 文件

    我需要从 SQL Server 2005 中的查询读取 Microsoft Excel 2003 文件 xls 然后将其中一些数据插入到一些表中 读取文件然后使用其数据本身并不是问题 但我发现 对于列 有时我会得到 NULL 值 而不是 E
  • 带有 jquery 的 IE 复选框无法正常工作

    我正在尝试在页面上使用多个 asp net 复选框 并相应地禁用它们
  • 完全模态的 WPF 窗口?

    我有一个要求 指定使用 WPF 的通知托盘应用程序必须 基于某些条件 弹出一个全局模式的窗口 这应该阻止用户执行任何操作 即使在 Tray 应用程序之外 直到他们满足一些其他条件 此时它将启用关闭按钮并允许用户将其关闭 如何制作这样一扇窗户
  • 我应该如何正确删除 TFS 分支?

    我想知道我应该如何正确地摆脱不再有任何用途的分支 现在 即使我删除它们并提交 它们仍然在特定分支根 目录 的属性窗口中列为分支 如果我选择合并 我不会选择合并到已删除的分支 这显然是符合预期的 但因此我对属性窗口中仍然显示的分支感到困惑 对
  • 如何在 WP8 地图上创建自动缩放图像

    我正在尝试向地图添加多个图钉 当您缩小到足够大时 图钉就会消失 以使图钉变得如此小 以至于不再渲染它们 我通过以下代码成功实现了这种效果 MapPolygon shape new MapPolygon GeoCoordinateCollec
  • 类型的无效操作数 - C++

    我有一个名为 ThreeDigits 的 C 代码类 我这样重载了 操作数 ThreeDigits ThreeDigits operator const ThreeDigits number const double result getN
  • MongoDB:查询名称中包含空格的键

    我只想从 MongoDB 集合中检索某些键的值 但是 该集合有一些名称中带有 空格 的键 例如 Parent key1 some string key2 some string key 3 some string 我知道这是一种错误的方法
  • 调用未定义函数 Intervention\\Image\\Gd\\imagecreatefromjpeg() - laravel

    我收到此错误消息 Call to undefined function Intervention Image Gd imagecreatefromjpeg 这是我的 php 信息 http behika com http behika co
  • 使用什么:var 还是对象名称类型? [复制]

    这个问题在这里已经有答案了 这是我在编程时总是想知道的一个问题 当我们编写代码时该使用什么 var myFiles Directory GetFiles fullPath or string myFiles Directory GetFil
  • 对于颜色逐渐变化的多个绘图,显示 matplotlib 颜色条而不是图例

    我正在尝试制作一个简单的图 显示属于具有特定顺序的大型数据集的许多曲线 比方说图 1 n 曲线的形状随着n的增加而逐渐变化 读者能否准确地看到哪个图属于 n 的哪个值并不重要 但他们应该能够猜测 n 的数量级 因此我做了这样的事情 nVal
  • 如何在 Scala 编译器插件中生成文本形式的新源代码?

    我刚刚完成了 Java 6 编译器插件的第一个版本 它根据注释自动生成包装器 代理 适配器 委托 您可以随意称呼它 由于我正在进行 Java Scala 混合项目 因此我希望能够在 Scala 代码中使用相同的注释 并获得相同的生成代码 当
  • 如何导航到 Clion 链接库中的源代码?

    我有一个链接多个静态库的项目 例如 libModule a 当我尝试导航到模块库内的类时 Clion 仅将我带到标头声明并在那里停止导航 我希望能够深入研究模块库内函数的定义 我遇到了同样的问题 这就是我所做的 在 Clion 中 我通过在
  • Angular2 错误 TS1146:需要声明

    Angular2 新手 我正在使用 Angular io 中的种子文件 但是当我运行 npm start 时 出现 tsc 编译器错误 tsc p src src app app module ts 11 3 错误 TS1146 需要声明
  • 向几何体添加细分

    我正在尝试向球体添加细分 如下所示 http stemkoski github com Three js Subdivision Cube html http stemkoski github com Three js Subdivisio