ãªã«ã«ãã
ææ°ã®r73ãªãªãŒã¹ã§ä»¥åã®ãããžã§ã¯ãã®ããããããã¹ãããããšããããŸããïŒ
ããããçš®é¡ã®ãšã©ãŒãäœãæ©èœããŸããïŒ
ãªããã®ãããªãã®ããªãªãŒã¹ããã®ã§ããïŒ
äœãæ©èœããªãã®ã§ããïŒ ã©ã®ãããªãšã©ãŒãçºçããŠããŸããïŒ ç§ã¯åžžã«ãã¹ãŠã®äŸããŸã æ©èœããããšã確èªããŸãã äœããå£ããå Žåã¯ãããããã¹ãããäŸãè¿œå ããå¿ èŠããããŸãã
äœãæ©èœããªãã®ã§ããïŒ
äœãæ©èœããŸãã!!!
åãªãäŸïŒããªãã®ããã«ïŒïŒ
http://necromanthus.com/Test/html5/dog_r72.html
http://necromanthus.com/Test/html5/dog_r73.html
ãšã©ãŒïŒ
ãªããã®ãããªãã®ããªãªãŒã¹ããã®ã§ããïŒ
ããïŒ ããã§ããã
ã¢ãã¡ãŒã·ã§ã³ã·ã¹ãã ãå®å šã«çœ®ãæããŸããããSEA3Dã¯ãŸã å€ããã®ã«äŸåããŠããŸãïŒ @sunagã¯ã¢ããããŒãã«åãçµãã§ãããšæããŸãïŒã
ãããŸã§ã®éããããžã§ã¯ãã«å€ãã¢ãã¡ãŒã·ã§ã³ã·ã¹ãã ãå«ããå¿ èŠããããŸãã
<script src="js/MorphAnimMesh.js"></script>
<script src="js/loaders/collada/Animation.js"></script>
<script src="js/loaders/collada/AnimationHandler.js"></script>
<script src="js/loaders/collada/KeyFrameAnimation.js"></script>
ãã¡ã€ã«ã¯examples
ãã©ã«ããŒã«ãããŸãã
ã¢ãã¡ãŒã·ã§ã³ã·ã¹ãã ãå®å šã«çœ®ãæããŸãã
ãããŠåã³ãããªãã¯åŸæ¹äºææ§ãå°ç¡ãã«ããŸãã... OMG
ãšã«ãããããã«äœãä»ã®ãã®ããããŸãïŒã¢ãã¡ãŒã·ã§ã³ãšããŒããŒãªãïŒïŒ
http://necromanthus.com/Test/html5/koolmoves_r72.html
http://necromanthus.com/Test/html5/koolmoves_r73.html
ãšã©ãŒïŒ
æ£çŽãªãšãããr73ã¯å®å
šã«æ··ä¹±ããŠãããããåé€ããå¿
èŠããããŸãã
也æ¯
ç§ã¯çŽ1ã5幎éChiliPepprãThree.jsã«äŸåããŠããŸããã ä»æã¯THREE.FontUtilsãå®çŸ©ãããŠããªããããChiliPepprã§ãã¹ãŠã®ãã©ã³ãã¬ã³ããªã³ã°ãå£ããŠããããã§ãã @RemusMarãèšåããŠããã®ãšåãr73ã®åé¡ã ãš
FontUtils
ããã³TextGeometry
utilsãã³ã¢ããåé€ãããŸããã
ããã§ããã¡ã€ã«ãåå¥ã«å«ããå¿ èŠããããŸãã
<script src="js/geometries/TextGeometry.js"></script>
<script src="js/utils/FontUtils.js"></script>
<script src="fonts/helvetiker_regular.typeface.js"></script>
ãšã«ãããŠãŒã¶ãŒã*.typeface.js
ãå«ããå¿
èŠããã£ãã®ã§ãã³ã¢ãããããã移åããããšã«ããŸããã
@RemusMarããŒãžã§ã³éã®äžäœäºææ§ã¯ä¿èšŒãããŸããã ãã ãããŠãŒã¶ãŒã«éç¥ããå¯èœãªå Žåã¯ãã€ã§ãã©ãã§ãã³ãŒããæ©èœããç¶ããé·ç§»ã³ãŒããè¿œå ããŸãã
FontUtilsããã³TextGeometryutilsãã³ã¢ããåé€ãããŸããã
ã³ã¢ãããã¹ãŠãåé€ããŠã¿ãŸãããïŒ
ZEROãã€ãã®ã³ã¢ãããŠã³ããŒãããå¿
èŠã¯ãŸã£ãããããŸããã
ããŒãžã§ã³éã®äžäœäºææ§ã¯ä¿èšŒãããŸããã
ããã¯æªãåãã§ããªã«ã«ãã
ç§ãæåããèšã£ãããã«ïŒ
äžäœäºææ§ã¯ãæ·±å»ãªãããžã§ã¯ãã§ã¯å¿
é ã§ãã
ããã§ãªããã°ããã®ãããžã§ã¯ãã«èå³ãæã€äººã¯ãŸããŸãå°ãªããªããŸãã
也æ¯
ã³ã¢ãããã¹ãŠãåé€ããŠã¿ãŸãããïŒ
ZEROãã€ãã®ã³ã¢ãããŠã³ããŒãããå¿ èŠã¯ãŸã£ãããããŸããã
ç§ã¯ããªããææ çãªç·ã ãšæããŸãã ããããããªãã¯åšãã«ããã®ã§ãç§ã¯ãŸããäžæ¥ã®çµããã«ããªãããããžã§ã¯ãã圹ã«ç«ã€ãšæãããšãéããŸãð
äžäœäºææ§ã¯ãæ·±å»ãªãããžã§ã¯ãã§ã¯å¿ é ã§ãã
ãã¶ããããã¯ããªããæã£ãŠããã»ã©æ·±å»ãªãããžã§ã¯ãã§ã¯ãããŸãããïŒ ç§ã¯ããªããç¥ã£ãŠããã¢ããã§ã¯ãããŸãããïŒ
ããã§ãªããã°ããã®ãããžã§ã¯ãã«èå³ãæã€äººã¯ãŸããŸãå°ãªããªããŸãã
èå³ã倱ã£ã人ã¯ç§ãå¿é ããããšã§ã¯ãããŸããã 代ããã«ãã³ã³ãã¥ãŒã¿ãŒã°ã©ãã£ãã¯ã¹ã®ç ©ããããæœè±¡åããçŸããAPIã®äœæã«çŠç¹ãåœãŠããšåæã«ãã©ã€ãã©ãªã100kbã®gzipå§çž®ã«åããããšèããŠããŸãã 人ã ãè¿œå ãããã¹ãŠã®æ©èœãæ°žä¹ ã«å«ããããšã¯äžå¯èœã§ãã
@RemusMaräžäœäºææ§ããã®ãããªjsã©ã€ãã©ãªã䜿çšããå ŽåããµããŒããããªããªã£ããã®ãããã°ãèªåã§åé¡ã修埩ã§ããã¯ãã§ãã ããã§ãªãå Žåã¯ãããååçãªæ¹æ³ã§è³ªåããŠãã ããã誰ããåãã§ãæäŒãããŸãã äŸãå£ããŠããå Žåã¯ããæ°è»œã«ä¿®çããŠãã ãã...
@RemusMar JavaScriptã§3Dããã°ã©ãã³ã°ãå§ãããšãã«three.jsã«ã€ããŠæåã«åŠãã ããšã®1ã€ã¯ãäžäœäºææ§ããªããšããäºå®ã§ããã
ç§ã®ãããžã§ã¯ãã§ã¯ãã³ãŒããäœæããã®ãšåãããŒãžã§ã³ã®three.jsã«ãªã³ã¯ããŠããããšã確èªããã ãã§ããã®ã§ãäžè¬çã«ã¯ãŸã£ããåé¡ãªããšæããŸãã
åŸæ¹äºææ§ãèæ ®ããªããšããããªã·ãŒã¯ããããŸã§ãéåžžã«çŽ æŽãããå¯èœæ§ãåããããã®ãããªåçãªæ¹æ³ã§three.jsãéçºãããã£ã³ã¹ã®åºç€ã§ããã
ããã¯æªãåãã§ããªã«ã«ã
70以äžã®æ¹èšåŸã«äººã ãããã«ã©ã®ããã«æ°ä»ããé©ãã¹ãããšïŒ
ããããèŠç¹ãä»ãå ãããšãæè¿èª°ããç§ã«ãææ°ã®å®å®ããthree.jsã¯r72ã§ãããšæžããŠããŸããïŒç¬ïŒã å®å®ããthree.jsã¯ãããŸããã å€ããªããžã§ã³ããã°ä¿®æ£ã§æŽæ°ããã®ã§ã¯ãªãããã°ä¿®æ£ãå«ãæ°ããããŒãžã§ã³ãšãé倧ãªå€æŽãŸãã¯æ°ãããã°ããããŸãã
ç¹°ãè¿ãã«ãªããŸãããåºã«ãªãã³ãŒããéããŸã«ãªã£ãå Žåã§ããããã€ãã®ããšãéæ³ã®ããã«ããŒãžã§ã³ãä»ããŠæ©èœããŸãã ãããã¡ãžãªã¡ããªã䜿çšããã¹ãã³ã®ããã«ïŒ
ç§ãã¡ãé倧ãªå€æŽã®å¯Ÿè±¡ã«ãªã£ãŠããéãç§ãæãæãããŠããã®ã¯jsonã®å€æŽã§ãã 誰ãã圌ã®3dmaxã«å€ããšã¯ã¹ããŒããã©ã°ã€ã³ãæã£ãŠããŠãã¢ãã¡ãŒã·ã§ã³ãæ©èœãããããã«jsonãæäœæ¥ã§ç·šéããããšã«äœå¹Žãè²»ãããŠããŸãã
ç¹°ãè¿ãã«ãªããŸãããåºã«ãªãã³ãŒããéããŸã«ãªã£ãå Žåã§ããããã€ãã®ããšãéæ³ã®ããã«ããŒãžã§ã³ãä»ããŠæ©èœããŸãã ãããã¡ãžãªã¡ããªã䜿çšããã¹ãã³ã®ããã«ïŒ
ããã«ã¯å°ãæéãããããŸããïŒ ð
ç§ãã¡ãé倧ãªå€æŽã®å¯Ÿè±¡ã«ãªã£ãŠããéãç§ãæãæãããŠããã®ã¯jsonã®å€æŽã§ãã 誰ãã圌ã®3dmaxã«å€ããšã¯ã¹ããŒããã©ã°ã€ã³ãæã£ãŠããŠãã¢ãã¡ãŒã·ã§ã³ãæ©èœãããããã«jsonãæäœæ¥ã§ç·šéããããšã«äœå¹Žãè²»ãããŠããŸãã
ã¯ãã ã¢ãã¡ãŒã·ã§ã³ã¯ã§ããã ãæ©ãå®å®ãããå¿ èŠããããŸãã æ°ããã¢ãã¡ãŒã·ã§ã³ã·ã¹ãã ã¯æ£ããæ¹åãžã®å€§ããªäžæ©ã ãšæããŸãã
r73ãå€æŽãããããããã®ãµã³ãã«ã¯å£ããŠããããã§ãã http://threejs.org/docs/scenes/geometry-browser.html#TextGeometry
ããïŒ ããã¥ã¡ã³ãã®ãµã³ãã«ã¯åžžã«å¿ããŠãã ãã...
@mrdoob
ãå€ããTHREE.Animationã¯ã©ã¹ã眮ãæããã«ã¯äœã䜿çšããã°ããã§ããïŒ
æ°ããã¢ãã¡ãŒã·ã§ã³ã·ã¹ãã ã䜿çšããäŸã¯ãããŸããïŒ äŸã®ããŒãžã§äœãæ°ãããªã£ãã®ãã¯ããã»ã©æ確ã§ã¯ãããŸããã
ç§ãã¡ãé倧ãªå€æŽã®å¯Ÿè±¡ã«ãªã£ãŠããéãç§ãæãæãããŠããã®ã¯jsonã®å€æŽã§ãã 誰ãã圌ã®3dmaxã«å€ããšã¯ã¹ããŒããã©ã°ã€ã³ãæã£ãŠããŠãã¢ãã¡ãŒã·ã§ã³ãæ©èœãããããã«jsonãæäœæ¥ã§ç·šéããããšã«äœå¹Žãè²»ãããŠããŸãã
ããã¯ç§ã®æžå¿µã§ããããŸãã äœçŸãã®ã¢ãã«ãåãšã¯ã¹ããŒãããå¿ èŠã¯æ¬åœã«ãããŸããã
@jostschmithals
åŸæ¹äºææ§ãèæ ®ããªããšããããªã·ãŒã¯ããããŸã§ãéåžžã«çŽ æŽãããå¯èœæ§ãåããããã®ãããªåçãªæ¹æ³ã§three.jsãéçºãããã£ã³ã¹ã®åºç€ã§ããã
ããã¯ééã£ã声æã§ãã
å®éãäžäœäºææ§ãåžžã«å£ããšããµãŒãããŒãã£ã®éçºè
ã¯THREE.jsããããããããšã«ãªããŸãã
äžæ¹ãæ°æ©èœããã°ä¿®æ£ã¯ãå€ããããžã§ã¯ããšã®äºææ§ãæãªãããšãæå³ãããã®ã§ã¯ãããŸããã
ãªã«ã«ãããã®éãæ©ã¿ç¶ãããªããç§ãæ£ãããã©ããã¯æãçµãŠã°ãããã§ãããã
也æ¯
ããã¯ç§ã®æžå¿µã§ããããŸãã äœçŸãã®ã¢ãã«ãåãšã¯ã¹ããŒãããå¿ èŠã¯æ¬åœã«ãããŸããã
åæããŸããïŒ json圢åŒã¯ãäžäœäºææ§ãéåžžã«éèŠã ãšæããã®ã§ãã ãšã«ããããã®ã¯é£ããããšã§ã¯ãããŸããã
åæããŸããïŒ json圢åŒã¯ãäžäœäºææ§ãéåžžã«éèŠã ãšæããã®ã§ãã ãšã«ããããã®ã¯é£ããããšã§ã¯ãããŸããã
å®å µã®ããæ¯ãã€ã=]
é倧ãªå€æŽãå«ãŸããŠããå Žåã移è¡ã¬ã€ããæŽæ°ããã«ãã«ãããªãªãŒã¹ããã®ã¯å°ãææå°æ©ã®ããã§ãã ç§ã¯ãããã®ããŒãããã©ããŒããŠããã®ã§å¹žããªããšã«ãã¢ãã¡ãŒã·ã§ã³ã®å€æŽã«æ°ã¥ããŠããŸããã ãã¹ãŠã®ãŠãŒã¶ãŒãå¹³çã«æºåãããŠãããšã¯æããŸããã
100KBã®ãµã€ãºå¶éãç¶æããããã ãã«ã³ã¢ããç©ãåé€ããããšã«ã€ããŠãRemusã«åæããŸãã å人çã«ã¯ãæ°ãã€ããåããããæ©èœæ§ã10000åæ°ã«ããŠããŸãã äŸããå¿ èŠãªãã¡ã€ã«ãååŸã§ããããšã¯ç¥ã£ãŠããŸãããããã¯ãå°»ã®äžçš®ã®äžå¿ èŠãªèŠçã®ããã§ãïŒç¹ã«ãªãªãŒã¹ããšã«ããããæŽæ°ããå¿ èŠããããŸãïŒã
ãšã«ããç§ããã®äžæºã¯ååã§ãã ãããã®ããã€ãã®æ¹å€ã¯ããŠãããçŽ æŽãããä»äºã®äººãã¡ïŒ
é倧ãªå€æŽãå«ãŸããŠããå Žåã移è¡ã¬ã€ããæŽæ°ããã«ãã«ãããªãªãŒã¹ããã®ã¯å°ãææå°æ©ã®ããã§ãã
ãªãªãŒã¹ãè¡ãã«ã¯ãããªãã®æ°ã®æé ãå¿
èŠã§ãã æã
ç§ã®å¿è/ç®èº«ãå°œããŸã...ð
誰ã§ã移è¡ããŒãžãæŽæ°ã§ããŸãã ããã§å©ããæ±ãããã§ãã
r73ãå€æŽãããããããã®ãµã³ãã«ã¯å£ããŠããããã§ãã http://threejs.org/docs/scenes/geometry-browser.html#TextGeometry
ä¿®ç¹ïŒ
r74ã®FontUtilsã¯ã©ãã«ãããŸããïŒ r74ã§åé€ãããããã§ã...
@pjanik
ãããç³ãèš³ãããŸãããã TextGeometry
APIãåã³å€æŽãããŸããã ããããããã¯ã³ã¢ã«æ»ã£ãŠããŸãïŒ
http://threejs.org/examples/webgl_shadowmap.htmlãåç §ããŠãã ããã
var loader = new THREE.FontLoader();
loader.load( 'fonts/helvetiker_bold.typeface.js', function ( font ) {
var textGeo = new THREE.TextGeometry( "THREE.JS", {
font: font,
size: 200,
height: 50,
curveSegments: 12,
bevelThickness: 2,
bevelSize: 5,
bevelEnabled: true
});
textGeo.computeBoundingBox();
var centerOffset = -0.5 * ( textGeo.boundingBox.max.x - textGeo.boundingBox.min.x );
var textMaterial = new THREE.MeshPhongMaterial( { color: 0xff0000, specular: 0xffffff } );
var mesh = new THREE.Mesh( textGeo, textMaterial );
mesh.position.x = centerOffset;
mesh.position.y = FLOOR + 67;
mesh.castShadow = true;
mesh.receiveShadow = true;
scene.add( mesh );
} );
誰ããèå³ãæã£ãŠãããªããããã¯ç§ãNPM [email protected]
ã¢ãžã¥ãŒã«ãšwebpackã䜿çšããŠéåæãªã¯ãšã¹ããªãã§ãã©ã³ããããŒãããæ¹æ³ã§ãïŒ https ïŒ//gist.github.com/pjanik/49c03c02c66341a26904
ä»ã®ãã«ãããŒã«ã䜿çšããŠããå ŽåãéèŠãªããšã¯ãã©ã³ããã¡ã€ã«ãæååãšããŠããŒãããããšã§ãã ãã¶ãããã®é¢çœãæ§æ解æã¯ãå°æ¥ãäœããã®ãã«ããŒã¡ãœããã«æœåºãããå¯èœæ§ããããŸããïŒ
ã¡ãªã¿ã«ãr74ã«/examples
dirãå«ãŸããŠããã®ã¯ãã°ãããããšã§ãïŒr73ã«ã¯å«ãŸããŠããŸããïŒãåŒãç¶ãå®è¡ããŠãã ããã ïŒwinkïŒæåŸã«ã three
ããã±ãŒãžã®ã¿ã䜿çšã§ããå€éšã¹ã¯ãªãããã¡ã€ã«ã¯äœ¿çšã§ããªããªããŸããïŒ examples/js/controls/OrbitControls
ã䜿çšããŠããŸãïŒã äŸãUMD圢åŒã䜿çšããŠå
¬éãããå Žåã¯ããã«ã¯ãŒã«ã«ãªããããã°ããŒãã«ãª3ã€ã®äŸåé¢ä¿ãå€æŽããã«OrbitControlsãçŽæ¥èŠæ±ã§ããŸãïŒã»ãšãã©ã®ãã«ãããŒã«ã§åŠçã§ããããã倧ããããšã§ã¯ãããŸããããããã§ãïŒã
ããããšãïŒ
ãŸãã¯ã_typeface_js.loadFaceãããŒã«ã«ã§å®çŸ©ããŠè©äŸ¡ããããšãã§ããŸããïŒ
ãããç³ãèš³ãããŸããããTextGeometryAPIãåã³å€æŽãããŸããã ããããããã¯ã³ã¢ã«æ»ã£ãŠããŸãïŒ
ããã¯è³¢æãªæ±ºæã§ããããªã«ã«ãã
ããŒããŒã®æ§æãå°ãå€æŽããå¿
èŠããããŸãããäžäœäºææ§ããããŸãã
r71ïŒ http ïŒ//necromanthus.com/Test/html5/koolmoves.html
r74ïŒ http ïŒ//necromanthus.com/Test/html5/koolmoves_r74.html
也æ¯
ObjectLoaderã«ããã¹ããžãªã¡ããªã®ããã¯ããŒããè¿œå ããå¿ èŠããããŸããïŒ
@fraguadaãããšãããã»ã©ç°¡åã§ã¯ãããŸããããã©ã³ããã¡ã€ã«ãåŠçããå¿ èŠããããŸã...
FontUtilã¯ç§ãååŸããŠããr74ã®ããŒãžã§ã³ã§ã¯å®çŸ©ãããŠããŸããïŒ https ïŒ
ããã¯http://threejs.org/examples/webgl_shadowmap.htmlã§äœ¿çšãããŠãããã®ãšåãããã«èŠããŸããïŒçž®å°åãããŠããå Žåãé€ãïŒãFontUtilsãæžäœãæ瀺çã«å«ãŸããŠããããšãããããŸãã...ããã§ããã®ãµã³ãã«ããŒãžã¯æ©èœããŸãã ïŒç§ã¯ãŸã ã_typeface_jsãå®çŸ©ãããŠããŸããããšè¡šç€ºãããŸããïŒããªãã¯ããªãã®ã³ã¡ã³ãïŒããã®äžã®6ã€ã®ã³ã¡ã³ãã®ã³ãŒããµã³ãã«ïŒã«ç€ºãããŠããããšã«å ããŠäœããããŠããŸããïŒ
APIã®å€æŽã«å¿ããŠããã¥ã¡ã³ããæŽæ°ããå¿ èŠããããŸãããããã¯é©çšãããªããªããŸããïŒ http ïŒ
ãã©ã³ãããŠã§ã€ããããã«ãåãæ¿ãããã¹ãŠã®ããŒã¹ãããŒã¯èšé²ããªãéåžžã«åºæ¬çãªäŸãããã°ãéåžžã«äŸ¿å©ã§ããã ããããæã£ãŠããã®ã¯çŽ æŽãããããšã§ã¯ãããŸããããããªãã®äŸã®åçŽãªåºæ¬çãªãã®ã¯ç§ã«ããããã®æéãç¯çŽããã§ãããã
ãã®äŸã¯å€§ãã«åœ¹ç«ã€å¯èœæ§ããããŸãïŒ http ïŒ
ãã®ã¹ã¬ãããèŠã€ãã人ã®ããã«ããã®ç°¡åãªäŸãJSFiddleã«ãŸãšããŸããã
https://jsfiddle.net/287rumst/1/
éåžžã«åºæ¬çãªäŸãããã°éåžžã«äŸ¿å©ã§ãã
r75ããã³r76devïŒ
http://necromanthus.com/Test/html5/koolmoves.html
ç§ã¯äžäœäºææ§ã®ãã¡ã³ã§ããããããããã2ã»ã³ãã§ãã
äºææ§ãä¿èšŒãããªãå Žåã¯ãå€ãããŒãžã§ã³ãšæ°ããåŠçã瀺ãupgrade
ãã©ã«ããŒïŒãŸãã¯fixes
ïŒãgithubã«çšæããŠãããšäŸ¿å©ã§ãã åç
§ã
ãã®ããã«ããŠãããã°ã©ããŒãå€æŽã«è¿œãã€ãã®ã¯ç°¡åã§ãã
ãããã®åé¡ãä¿®æ£ããæ¹æ³ãèãåºãããã«äœåãªæéãè²»ããããšãã§ããªããããªãæªç¥ã®ãåé¡ã®ããã«ãç§ã¯ãŸã r65ã䜿çšããŠããŸãã
ã¿ãªãããããã«ã¡ã¯ãr71ããr76ã«ç§»åããŠãæ°ããanimation.mixerãçºèŠããŸããã ãã®ãããå€ãjson 3Dãªããžã§ã¯ãã©ã€ãã©ãªãæ©èœããç¶ããããã«ãMorphAnimMesh.js Animation.jsAnimationHandler.jsãšKeyFrameAnimation.jsãjavascriptã©ã€ãã©ãªã«ã³ããŒããŸããã ãããããããŒã¿éå±€ãæªå®çŸ©ããšãããšã©ãŒãçºçããŸãã ããã¯ã以åã®3D jsonãªããžã§ã¯ãããã¹ãŠBlenderããåãšã¯ã¹ããŒãããå¿ èŠãããããšãæå³ããŸããããããšãããããæ©èœããç¶ããæ¹æ³ã¯ãããŸããïŒ
ããã«ã¡ã¯ããundefineddata.hierarchyããæäŒã£ãŠããã人ã¯ããŸãããïŒ
StackOverflowã䜿çšããŠãã ããã
ãªãªãŒã¹ãè¡ãã«ã¯ãããªãã®æ°ã®æé ãå¿ èŠã§ãã æã ç§ã®å¿è/ç®èº«ãå°œããŸã...ïŒæ··ä¹±ïŒ
誰ã§ã移è¡ããŒãžãæŽæ°ã§ããŸãã ããã§å©ããæ±ãããã§ãã
ç§ã¯æè¿ãå€ãããŒãžã§ã³ã®three.jsã䜿çšããŠãã®åé¡ã«ééããŸããã
ããããåãåã£ãã³ã¡ã³ãã䟮蟱ãèªãã åŸãå©ããæ±ãã代ããã«ãthree.jsãç¶æããŠãããŠããããšããšèšãããã£ãã ãã§ãã
ããªãã¯éåžžã«ç®èº«çã§å¿è匷ã人ã§ãïŒ ïŒ+1ïŒ
r72ããr84ãžã®æŽæ°ã¯ãäžé£ã®äœæ¥ã§ããïŒ1ã€ã®ãããžã§ã¯ãã§æ倧3æéïŒã
圹ã«ç«ã£ãïŒ
ç§ã®å¹žããªçµæïŒ https ïŒ
v72ããv84ã«äœãããå¿ èŠããããã詳ãã説æããŸãã
HTMLãã¡ã€ã«ããåé€ããŸãã
<!-- OLD <script src="../../threejs/geometries/TextGeometry.js"></script> -->
<!-- <script src="../../threejs/helvetiker_regular.typeface.js"></script> -->
threejsã·ãŒã³ãå®è¡ãããšããããã次ã®ããã«ãªããŸãã
Uncaught TypeError: c.generateShapes is not a function
ããã¯ããã©ã³ããããŒãããã«ã¬ã³ãã©ãŒãèµ·åããããã«çºçããŸãã ããã§ã¯ãæåã«ãã©ã³ããããŒãããŠãããèµ·åæã«ã¬ã³ãã©ãŒãåŒã³åºããŸãããã
var text3dparams;
var font_helvetiker;
var fontload = new THREE.FontLoader();
fontload.load( '/threejs/fonts/helvetiker_regular.typeface.json', function ( font ) {
font_helvetiker = font;
initStageText();
// startup
render();
});
å®è¡æã«ããã¹ããæ°ããèšå®ãããšãã«ãã°ããŒãã«ã¹ã±ãŒãã§ã¹ããŒãžãªããžã§ã¯ããå®çŸ©ããå¿ èŠããããŸããäŸïŒ
var text3d_r;
var text3d_s;
var text3d_h;
var material1;
var material_s;
var material2;
éå§æ©èœã®äŸïŒ
function initStageText()
{
// 3D TEXT LABELS
text3dparams = {
font: font_helvetiker, // font, important to change, before was "helvetiker", now the font directly!
size: 0.3, // size of the text
height: 0.05, // thickness to extrude text
curveSegments: 2, // number of points on the curves
weight: 'normal', // font weight (normal, bold)
style: 'normal', // font style (normal, italics)
}
// label radius
material1 = new THREE.MeshBasicMaterial({color: 0x009900});
var text3dgeom_r = new THREE.TextGeometry('r = '+cone_radius, text3dparams);
text3d_r = new THREE.Mesh(text3dgeom_r, material1);
text3d_r.position.y = cone_height+0.1;
text3d_r.position.z = cone_radius/2-0.35;
text3d_r.rotation.y = -Math.PI/2;
scene.add(text3d_r);
}
ãŸãããšã©ãŒTHREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.
ããã解決ããããã«ã次ã®ãã®ãåé€ããŸããã
gridHelper.setColors( new THREE.Color(gridcolor), new THREE.Color(gridcolor) );
è¿œå ïŒã°ãªããã¹ãããã¯ä»¥åã¯1ã§ããããåãã°ãªãããååŸããã«ã¯å€ã20ã«èšå®ããå¿ èŠããããŸããïŒïŒ
var gridHelper = new THREE.GridHelper(gridplaneSize/2, gridstep, gridcolor, gridcolor);
6.1 THREE.MeshBasicMaterial: 'ambient' is not a property of this material.
new THREE.MeshBasicMaterial();
ããambient:color,
ãåé€ããããšã§è§£æ±º
6.2ã©ã€ããå€æŽãããŸãããèŠåã«èšèŒãããŠããããã«äº€æããŠãã ããã
THREE.Light: .shadowMapWidth is now .shadow.mapSize.width.
THREE.Light: .shadowMapHeight is now .shadow.mapSize.height.
THREE.Light: .shadowCameraNear is now .shadow.camera.near.
THREE.Light: .shadowCameraFar is now .shadow.camera.far.
THREE.Light: .shadowCameraFov is now .shadow.camera.fov.
THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper(
THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled.
6.3 THREE.Light: .shadowDarkness has been removed.
-åé€ããŸãã
ã¬ã³ãã©ãŒã®èšå®ãå€æŽããŸããã
// OLD
var renderer = Detector.webgl ? new THREE.WebGLRenderer({ antialias: true }) : new THREE.CanvasRenderer({ antialias: true });
// NEW
var renderer;
if(Detector.webgl)
{
renderer = new THREE.WebGLRenderer({ antialias: true });
}
else
{
renderer = new THREE.CanvasRenderer({ antialias: true });
}
ãŸããã·ãŒã³ã®èšå®ã«çœãèæ¯è²ãè¿œå ããå¿ èŠããããŸããã
var scene = new THREE.Scene();
scene.background = new THREE.Color( 0xffffff );
ããã§ãç§ã®ã¢ããªã±ãŒã·ã§ã³ã¯å€ãthreejsããŒãžã§ã³ãšåãããã«å®è¡ãããŸãã ããªãã®ãããžã§ã¯ãã«ãé 匵ã£ãŠãã ããïŒ
æãåèã«ãªãã³ã¡ã³ã
ç§ã¯æè¿ãå€ãããŒãžã§ã³ã®three.jsã䜿çšããŠãã®åé¡ã«ééããŸããã
ããããåãåã£ãã³ã¡ã³ãã䟮蟱ãèªãã åŸãå©ããæ±ãã代ããã«ãthree.jsãç¶æããŠãããŠããããšããšèšãããã£ãã ãã§ãã
ããªãã¯éåžžã«ç®èº«çã§å¿è匷ã人ã§ãïŒ ïŒ+1ïŒ