2017-01-16 235 views
-1

我想在我的3D世界繪製路徑的路徑,但班線是沒有用的。誰能幫我?! 像this imageThreejs繪製紋理

現在我固定我的問題

  1. 我想繪製一條路徑,並與紋理填充

    var SUBDIVISIONS = 20; 
    geometry = new THREE.Geometry(); 
    var curve = new THREE.QuadraticBezierCurve3(); 
    curve.v0 = new THREE.Vector3(0, 0, 110); 
    curve.v1 = new THREE.Vector3(0, 200, 110); 
    curve.v2 = new THREE.Vector3(200, 200, 110); 
    for (j = 0; j < SUBDIVISIONS; j++) { 
        geometry.vertices.push(curve.getPoint(j/SUBDIVISIONS)) 
    } 
    
    material = new THREE.LineBasicMaterial({ color: 0xff0000, linewidth: 5 }); 
    line = new THREE.Line(geometry, material); 
    scene.add(line); 
    

這種方式有兩個問題1:線寬不支持Windows,2:LineBasicMaterial不支持紋理

  • 所以我在谷歌搜索找到類Three.MeshLine。線寬正常,但紋理映射不好。質地代碼有:var loader = new THREE.TextureLoader(); loader.load('assets/images.png', function(texture) { strokeTexture = texture; strokeTexture.wrapS = strokeTexture.wrapT = THREE.RepeatWrapping; strokeTexture.repeat.set(5, 1); strokeTexture.needsUpdate = true; init() }); 不管是什麼環境的質地和MeshLineMaterial,結果不是我想要的結果圖像:result image
  • +1

    你試過的代碼在哪裏? – Dekel

    +3

    我看到這是您在Stack Overflow上的第一個問題,歡迎您!請提供一些代碼,以便我們可以看到您所嘗試的內容,並更好地瞭解問題的背景,這反過來會幫助我們幫助您。另請參閱[如何提問](http://stackoverflow.com/help/how-to-ask)瞭解如何更好地提出問題,從而獲得更好的答案。 –

    +0

    @Dekel謝謝。這是在我的工作電腦上,我知道threejs。行可能不支持紋理貼圖。我想辦法做到這一點 –

    回答

    0

    看看https://github.com/spite/THREE.MeshLine - 這是基於網格線的實現。還要注意該網站上的參考資料,可以給你一些見解。

    否則你可能要考慮創建從線的形狀。這可以使用THREE.ShapeGeometry-類完成。

    +0

    非常感謝,網格線我是嘗試和形狀幾何。我可以繪製這條路。但不知道如何映射 –