Three.js: r73: рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ?!

рдХреЛ рдирд┐рд░реНрдорд┐рдд 16 рдЕрдХреНрддреВре░ 2015  ┬╖  42рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: mrdoob/three.js

рд░рд┐рдХрд╛рд░реНрдбреЛ,

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХрднреА рднреА рдирд╡реАрдирддрдо r73 рд░рд┐рд▓реАрдЬ рдкрд░ рдкрд┐рдЫрд▓реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдерд╛?
рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ, рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ!
рдЖрдкрдиреЗ рдРрд╕рд╛ рдХреБрдЫ рдХреНрдпреЛрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдПрдХ рд░рд┐рд▓реАрдЬ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдлреА рдХреБрдЫ рдХрджрдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдХрднреА-рдХрднреА рдореЗрд░рд╛ рдзреИрд░реНрдп / рд╕рдорд░реНрдкрдг рдЦрддреНрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ ...: рдЙрд▓рдЭрди:
рдХреЛрдИ рднреА рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкреЗрдЬ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рд╡рд╣рд╛рдВ рдХреБрдЫ рдорджрдж рд▓реЗрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред

рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рддреАрди.js рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдЖрдпрд╛ рд╣реВрдВред

рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдкреНрд░рд╛рдкреНрдд рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рдЕрдкрдорд╛рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдорджрдж рдорд╛рдВрдЧрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдореИрдВ рд╕рд┐рд░реНрдл рдЖрдкрдХреЛ рддреАрди.рдЬреЗрдПрд╕ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред

рдЖрдк рдПрдХ рд╕реБрдкрд░ рд╕рдорд░реНрдкрд┐рдд рдФрд░ рдзреИрд░реНрдпрд╡рд╛рди рд╡реНрдпрдХреНрддрд┐ рд╣реИрдВ! : +1:

рд╕рднреА 42 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдХреНрдпрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ? рдЖрдкрдХреЛ рдХреНрдпрд╛ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рд╣реЛ рд░рд╣реА рд╣реИрдВ? рдореИрдВ рд╣рдореЗрд╢рд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╕рднреА рдЙрджрд╛рд╣рд░рдг рдЕрднреА рднреА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЕрдЧрд░ рдХреБрдЫ рдЯреВрдЯ рдЧрдпрд╛ рддреЛ рд╣рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ?

рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ !!!
рд╕рд┐рд░реНрдл рдПрдХ рдЙрджрд╛рд╣рд░рдг (рдЖрдкрдХреЗ рд▓рд┐рдП):
http://necromanthus.com/Test/html5/dog_r72.html
http://necromanthus.com/Test/html5/dog_r73.html
рддреНрд░реБрдЯрд┐рдпрд╛рдВ:

  • THREE.MorphAnimMesh рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИ
  • loader.load рдХреЛрдИ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ

рдЖрдкрдиреЗ рдРрд╕рд╛ рдХреБрдЫ рдХреНрдпреЛрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ ???

рдЖрд╣! рд╕рдордЭрд╛ред

рд╣рдордиреЗ рдПрдиреАрдореЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ рдФрд░ 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 рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЗрдВ рдорд┐рд▓реЗрдВрдЧреАред

рд╣рдордиреЗ рдПрдиреАрдореЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ

рдФрд░ рдлрд┐рд░, рдЖрдкрдиреЗ рдкрд┐рдЫрдбрд╝реА рд╕рдВрдЧрддрддрд╛ рдХреЛ рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рджрд┐рдпрд╛ ... рдУрдПрдордЬреА

рд╡реИрд╕реЗ рднреА, рдпрд╣рд╛рдБ рдХреБрдЫ рдФрд░ рд╣реИ (рдПрдиреАрдореЗрд╢рди рдФрд░ рд▓реЛрдбрд░ рдХреЗ рдмрд┐рдирд╛):
http://necromanthus.com/Test/html5/koolmoves_r72.html
http://necromanthus.com/Test/html5/koolmoves_r73.html
рддреНрд░реБрдЯрд┐рдпрд╛рдВ:

  • _typeface_js рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ
  • THREE.TextGeometry рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдирд╣реАрдВ рд╣реИ

рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, r73 рдПрдХ рдкреВрд░реНрдг рдЧрдбрд╝рдмрдбрд╝ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЪрд┐рдпрд░реНрд╕

рдореИрдВ рдЕрдм рд▓рдЧрднрдЧ 1.5 рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЪрд┐рд▓реНрд▓реАрдкрд░ рдХреЗ рд▓рд┐рдП рдереНрд░реА.рдЬреЗрдПрд╕ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЖрдЬ рд╕реБрдмрд╣ рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ THREE.FontUtils рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рднреА рдлрд╝реЙрдиреНрдЯ рдкреНрд░рддрд┐рдкрд╛рджрди ChiliPeppr рдореЗрдВ рдЯреВрдЯ рдЧрдП рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ @ remusMar рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реИ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА r73 рдореБрджреНрджрд╛ рд╣реИред

FontUtils рдФрд░ TextGeometry рдмрд░реНрддрдиреЛрдВ рдХреЛ рднреА рдХреЛрд░ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЕрдм рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

<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 рдФрд░ TextGeometry рдмрд░реНрддрдиреЛрдВ рдХреЛ рднреА рдХреЛрд░ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рддреБрдо рд╕рдм рдХреБрдЫ рдХреЛрд░ рд╕реЗ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдирд┐рдХрд╛рд▓рддреЗ?
рд╢реВрдиреНрдп рдмрд╛рдЗрдЯреНрд╕ рд╡рд╛рд▓реЗ рдХреЛрд░ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рд╣рдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рдкреАрдЫреЗ рдХреА рд╕рдВрдЧрддрддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред

рдпрд╣ рдПрдХ рдмреБрд░рд╛ рдХрджрдо рд╣реИ рд░рд┐рдХрд╛рд░реНрдбреЛред
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рд╢реБрд░реВ рд╕реЗ рд╣реА рдХрд╣рд╛ рдерд╛:

рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрддрддрд╛ рдХрд┐рд╕реА рднреА рдЧрдВрднреАрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рдЬрд░реВрд░реА рд╣реИред
рдЕрдиреНрдпрдерд╛ рдХрдо рдФрд░ рдХрдо рд▓реЛрдЧ рдЙрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд░реБрдЪрд┐ рд▓реЗрдВрдЧреЗред

рдЪрд┐рдпрд░реНрд╕

рддреБрдо рд╕рдм рдХреБрдЫ рдХреЛрд░ рд╕реЗ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдирд┐рдХрд╛рд▓рддреЗ?
рд╢реВрдиреНрдп рдмрд╛рдЗрдЯреНрд╕ рд╡рд╛рд▓реЗ рдХреЛрд░ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдореИрдВ рдЗрдХрдЯреНрдард╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рддреБрдо рдПрдХ рднрд╛рд╡реБрдХ рдЖрджрдореА рд╣реЛред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдк рдЖрд╕рдкрд╛рд╕ рд░рд╣рддреЗ рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдпрд╣ рднреА рдЗрдХрдЯреНрдард╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рджрд┐рди рдХреЗ рдЕрдВрдд рдореЗрдВ рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЙрдкрдпреЛрдЧреА рд▓рдЧрддрд╛ рд╣реИ stay

рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрддрддрд╛ рдХрд┐рд╕реА рднреА рдЧрдВрднреАрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рдЬрд░реВрд░реА рд╣реИред

рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЙрддрдирд╛ рдЧрдВрднреАрд░ рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣реИ? рдореИрдВ рдирд╣реАрдВ рд╣реВрдБ Adobe рддреБрдореНрд╣реЗрдВ рдкрддрд╛ рд╣реИ?

рдЕрдиреНрдпрдерд╛ рдХрдо рдФрд░ рдХрдо рд▓реЛрдЧ рдЙрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд░реБрдЪрд┐ рд▓реЗрдВрдЧреЗред

рдмреНрдпрд╛рдЬ рдЦреЛрдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧ рдРрд╕реА рдХреЛрдИ рдЪреАрдЬ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХреА рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдореИрдВ рдПрдХ рд╕реБрдВрджрд░ рдПрдкреАрдЖрдИ рдмрдирд╛рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдХрдВрдкреНрдпреВрдЯрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреА рдкрд░реЗрд╢рд╛рдирд┐рдпреЛрдВ рдХреЛ рдЦрддреНрдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рд╛рде рд╣реА, рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд▓рд╛рдЗрдмреНрд░реЗрд░реА 100kb рдореЗрдВ рдлрд┐рдЯ рд╣реЛ рдЬрд╛рдПред рд▓реЛрдЧреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓реА рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред

@RemusMar рдкрд┐рдЫрдбрд╝реА рдЕрдиреБрдХреВрд▓рддрд╛, рдЕрдЧрд░ рдЖрдк js

@RemusMar рд╕рдмрд╕реЗ рдкрд╣рд▓реА рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЬреЛ рдореИрдВрдиреЗ рддреАрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реАрдЦреА рдереАред рдЬрдм рдореИрдВрдиреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ 3 рдбреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реБрд░реВ рдХреА, рддреЛ рдпрд╣ рддрдереНрдп рдерд╛ рдХрд┐ рдпрд╣ рдкреАрдЫреЗ рдХреА рдУрд░ рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдХреЗрд╡рд▓ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ, рдХрд┐ рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдореИрдВ рддреАрди рдХреЗ рдПрдХ рд╣реА рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рддрд╛ рд╣реВрдВред рдЬреЗрдПрд╕ рдХреЗ рд╕рд╛рде рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдХреЛрдб рдмрдирд╛рдпрд╛ рд╣реИред

рдЗрд╕ рдмрд╛рдд рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрдиреЗ рдХреА рдиреАрддрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдереА рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдмрд╣реБрдд рд╣реА рд╢рд╛рдирджрд╛рд░ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рд╕рд╛рде, рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рддрд░реАрдХреЗ рд╕реЗ рддреАрди.js рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рдореМрдХреЗ рдХрд╛ рдЖрдзрд╛рд░ рдерд╛ред

рдпрд╣ рдПрдХ рдмреБрд░рд╛ рдХрджрдо рд╣реИ рд░рд┐рдХрд╛рд░реНрдбреЛ

рдХрдорд╛рд▓ рд╣реИ рдХрд┐ 70+ рд╕рдВрд╢реЛрдзрди рдХреЗ рдмрд╛рдж рд▓реЛрдЧ рдЗрд╕реЗ рдХреИрд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ)

рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдореБрдЭреЗ "рдирд╡реАрдирддрдо рд╕реНрдерд┐рд░ рддреАрдиред Js r72 рд╣реИ", рдпреЛрдЧреНрдп рд▓рд┐рдЦ рд░рд╣рд╛ рдерд╛ред рдХреЛрдИ рд╕реНрдерд┐рд░ рддреАрди .js рдирд╣реАрдВ рд╣реИред рд╡реЗ рдмрдЧ рдлрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдкреБрд░рд╛рдиреЗ рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреЛ рдЕрджреНрдпрддрди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдмрдЧрдлрд┐рдХреНрд╕ _and_ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдпрд╛ рдирдП рдмрдЧ рдХреЗ рд╕рд╛рде рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЖрддрд╛ рд╣реИред

рдлрд┐рд░, рдХреБрдЫ рдЪреАрдЬреЗрдВ рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ, рднрд▓реЗ рд╣реА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХреЛрдб рдЙрд▓реНрдЯрд╛ рд╣реЛ рдЧрдпрд╛ рд╣реЛред рдмрдлрд░ рдЬреНрдпрд╛рдорд┐рддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЦрд╛рд▓ рдХреА рддрд░рд╣)

рдЬрдм рд╣рдо рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдЬреЛ рдореБрдЭреЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкрд░реЗрд╢рд╛рди рдХрд░ рд░рд╣рд╛ рд╣реИ, рд╡рд╣ рд╣реИ json рдкрд░рд┐рд╡рд░реНрддрдиред рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ 3 рдбреАрдореИрдХреНрд╕ рдореЗрдВ рдкреБрд░рд╛рдирд╛ рдПрдХреНрд╕рдкреЛрд░реНрдЯрд┐рдВрдЧ рдкреНрд▓рдЧрдЗрди рд╣реИ, рдФрд░ рдореИрдВ рдПрдирд┐рдореЗрд╢рди рдмрдирд╛рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд╛рде рд╕реЗ рдПрдбрд┐рдВрдЧ рдЬреЛрдВрд╕ рдЦрд░реНрдЪ рдХрд░рддрд╛ рд╣реВрдВред

рдлрд┐рд░, рдХреБрдЫ рдЪреАрдЬреЗрдВ рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ, рднрд▓реЗ рд╣реА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХреЛрдб рдЙрд▓реНрдЯрд╛ рд╣реЛ рдЧрдпрд╛ рд╣реЛред рдмрдлрд░ рдЬреНрдпрд╛рдорд┐рддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЦрд╛рд▓ рдХреА рддрд░рд╣)

рдХрд┐ рдХреБрдЫ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛! ЁЯШЕ

рдЬрдм рд╣рдо рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдЬреЛ рдореБрдЭреЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкрд░реЗрд╢рд╛рди рдХрд░ рд░рд╣рд╛ рд╣реИ, рд╡рд╣ рд╣реИ json рдкрд░рд┐рд╡рд░реНрддрдиред рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ 3 рдбреАрдореИрдХреНрд╕ рдореЗрдВ рдкреБрд░рд╛рдирд╛ рдПрдХреНрд╕рдкреЛрд░реНрдЯрд┐рдВрдЧ рдкреНрд▓рдЧрдЗрди рд╣реИ, рдФрд░ рдореИрдВ рдПрдирд┐рдореЗрд╢рди рдмрдирд╛рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд╛рде рд╕реЗ рдПрдбрд┐рдВрдЧ рдЬреЛрдВрд╕ рдЦрд░реНрдЪ рдХрд░рддрд╛ рд╣реВрдВред

рд╣рд╛рдБред рдПрдирд┐рдореЗрд╢рди рдХреЛ рд╕реНрдерд┐рд░ ASAP рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирдпрд╛ рдПрдиреАрдореЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рдПрдХ рд╢рд╛рдирджрд╛рд░ рдХрджрдо рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдирдореВрдирд╛ рдЖрдкрдХреЗ r73 рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдЯреВрдЯ рдЧрдпрд╛ рд╣реИред http://threejs.org/docs/scenes/geometry-browser.html#TextGeometry

image

рдУрд╣! рд╣рдореЗрд╢рд╛ рдбреЙрдХреНрд╕ рдореЗрдВ рдирдореВрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЬрд╛рдУ ...

@ рдорд░реНрдбреЛрдмрд╛
рдореБрдЭреЗ "рдкреБрд░рд╛рдиреЗ" THREE.Animation рд╡рд░реНрдЧ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
рдХреНрдпрд╛ рдРрд╕реЗ рдХреЛрдИ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ рдЬреЛ рдирдП рдПрдиреАрдореЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ? рдпрд╣ рдЗрддрдирд╛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрджрд╛рд╣рд░рдг рдкреГрд╖реНрда рдкрд░ рдирдпрд╛ рдХреНрдпрд╛ рд╣реИред

рдЬрдм рд╣рдо рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдЬреЛ рдореБрдЭреЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкрд░реЗрд╢рд╛рди рдХрд░ рд░рд╣рд╛ рд╣реИ, рд╡рд╣ рд╣реИ json рдкрд░рд┐рд╡рд░реНрддрдиред рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ 3 рдбреАрдореИрдХреНрд╕ рдореЗрдВ рдкреБрд░рд╛рдирд╛ рдПрдХреНрд╕рдкреЛрд░реНрдЯрд┐рдВрдЧ рдкреНрд▓рдЧрдЗрди рд╣реИ, рдФрд░ рдореИрдВ рдПрдирд┐рдореЗрд╢рди рдмрдирд╛рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд╛рде рд╕реЗ рдПрдбрд┐рдВрдЧ рдЬреЛрдВрд╕ рдЦрд░реНрдЪ рдХрд░рддрд╛ рд╣реВрдВред

рдпрд╣ рдореЗрд░реА рднреА рдЪрд┐рдВрддрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд░рд╣рд╛ рд╣реИред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрднреА рднреА рд╕реИрдХрдбрд╝реЛрдВ рдореЙрдбрд▓реЛрдВ рдХрд╛ рдлрд┐рд░ рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ред

@jostschmithals
рдЗрд╕ рдмрд╛рдд рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрдиреЗ рдХреА рдиреАрддрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдереА рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдмрд╣реБрдд рд╣реА рд╢рд╛рдирджрд╛рд░ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рд╕рд╛рде, рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рддрд░реАрдХреЗ рд╕реЗ рддреАрди.js рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рдореМрдХреЗ рдХрд╛ рдЖрдзрд╛рд░ рдерд╛ред

рд╡рд╣ рдЧрд▓рдд рдмрдпрд╛рди рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рд░ рд╕рдордп рдкрд┐рдЫрдбрд╝реА рд╕рдВрдЧрддрддрд╛ рдХреЛ рддреЛрдбрд╝рдХрд░ рдереНрд░реА рдкрд╛рд░реНрдЯреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ THREE.js рдкрд░ рдЫреЛрдбрд╝ рджреЗрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ
рджреВрд╕рд░реА рдУрд░, рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдФрд░ рдмрдЧ рдлрд┐рдХреНрд╕ рдХрд╛ рдорддрд▓рдм рдкреБрд░рд╛рдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдХреЛ рддреЛрдбрд╝рдирд╛ рдирд╣реАрдВ рд╣реИред
рдпрджрд┐ рд░рд┐рдХрд╛рд░реНрдбреЛ рдЗрд╕ рд░рд╛рд╕реНрддреЗ рдкрд░ рдЬрд╛рд░реА рд░рд╣реЗрдЧрд╛, рддреЛ рд╕рдордп рдмрддрд╛рдПрдЧрд╛ рдХрд┐ рдореИрдВ рд╕рд╣реА рд╣реВрдВ рдпрд╛ рдирд╣реАрдВред
рдЪрд┐рдпрд░реНрд╕

рдпрд╣ рдореЗрд░реА рднреА рдЪрд┐рдВрддрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд░рд╣рд╛ рд╣реИред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрднреА рднреА рд╕реИрдХрдбрд╝реЛрдВ рдореЙрдбрд▓реЛрдВ рдХрд╛ рдлрд┐рд░ рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ред

рдорд╛рдирд╛! Json рдкреНрд░рд╛рд░реВрдк рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд╣рд╛рдБ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╢реНрдЪрдЧрд╛рдореА рд╕рдВрдЧрддрддрд╛ рд╕реБрдкрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд╡реИрд╕реЗ рднреА рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред

рдорд╛рдирд╛! Json рдкреНрд░рд╛рд░реВрдк рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд╣рд╛рдБ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╢реНрдЪрдЧрд╛рдореА рд╕рдВрдЧрддрддрд╛ рд╕реБрдкрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд╡реИрд╕реЗ рднреА рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред

рд░рд╛рд╣рдд рдХреА рдмрдбрд╝реА рдЖрд╣ =]

рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рдмрд┐рд▓реНрдб рдХреЛ рд░рд┐рд▓реАрдЬрд╝ рдХрд░рдирд╛ рдереЛрдбрд╝рд╛ рд╕рдордпрдкреВрд░реНрд╡ рд▓рдЧрддрд╛ рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рдЬрдм рд╕реЗ рдореИрдВ рдЗрди рдмреЛрд░реНрдбреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реВрдВ, рдореБрдЭреЗ рдПрдиреАрдореЗрд╢рди рдЪреЗрдВрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдерд╛ред рдореИрдВ рд╢рд░реНрдд рдирд╣реАрдВ рд▓рдЧрд╛рдКрдВрдЧрд╛ рдХрд┐ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рддреИрдпрд╛рд░ рдереЗред

рдореИрдВ рдХреЗрд╡рд▓ 100KB рдЖрдХрд╛рд░ рд╕реАрдорд╛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрд░ рд╕реЗ рдЪреАрдЬреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд░реЗрдорд╕ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореБрдЭреЗ рдХреБрдЫ рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рд╢реЗрд╡рд┐рдВрдЧ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ 10000x рдЕрдзрд┐рдХ рдкрд░рд╡рд╛рд╣ рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЖрд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рдкрдХрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрдЯ рдореЗрдВ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рджрд░реНрдж рд╣реИ (рд╡рд┐рд╢реЗрд╖рдХрд░ рдЙрдиреНрд╣реЗрдВ рд╣рд░ рд░рд┐рд▓реАрдЬ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред

рд╡реИрд╕реЗ рднреА рдореБрдЭрд╕реЗ рдХрд╛рдлреА рд╢рд┐рдХрд╛рдпрдд рд╣реИред рдЗрди рдХреБрдЫ рдЖрд▓реЛрдЪрдирд╛рдУрдВ рдХреЛ рдПрдХ рддрд░рдл, рдЕрджреНрднреБрдд рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧ!

рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рдмрд┐рд▓реНрдб рдХреЛ рд░рд┐рд▓реАрдЬрд╝ рдХрд░рдирд╛ рдереЛрдбрд╝рд╛ рд╕рдордпрдкреВрд░реНрд╡ рд▓рдЧрддрд╛ рд╣реИред

рдПрдХ рд░рд┐рд▓реАрдЬ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдлреА рдХреБрдЫ рдХрджрдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдХрднреА-рдХрднреА рдореЗрд░рд╛ рдзреИрд░реНрдп / рд╕рдорд░реНрдкрдг рдЦрддреНрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ ... ded
рдХреЛрдИ рднреА рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкреЗрдЬ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рд╡рд╣рд╛рдВ рдХреБрдЫ рдорджрдж рд▓реЗрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдирдореВрдирд╛ рдЖрдкрдХреЗ 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 );

} );

рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рддреЛ рдпрд╣ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдореИрдВрдиреЗ async рдЕрдиреБрд░реЛрдз рдХреЗ рдмрд┐рдирд╛ рдлрд╝реЙрдиреНрдЯ рд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИ, NPM [email protected] рдореЙрдбреНрдпреВрд▓ рдФрд░ рд╡реЗрдмрдкреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ: https://gist.github.com/pjanik/49c03c02c66341a2664
рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдмрд┐рд▓реНрдб рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдлрд╝реЙрдиреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕ рдордЬреЗрджрд╛рд░ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЛ рдХреБрдЫ рд╕рд╣рд╛рдпрдХ рд╡рд┐рдзрд┐ рд╕реЗ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХреЗ?

рдПрдХ рд╕рд╛рдЗрдб рдиреЛрдЯ рдкрд░, рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ r74 рдореЗрдВ /examples dir (r73 рдирд╣реАрдВ) рд╢рд╛рдорд┐рд▓ рд╣реИ, рдХреГрдкрдпрд╛ рдРрд╕рд╛ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВред : рдкрд▓рдХ: рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдХреЗрд╡рд▓ three рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЕрдм рдХреЛрдИ рдмрд╛рд╣реНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВ (рдореИрдВ examples/js/controls/OrbitControls рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ)ред рдпрд╣ рдФрд░ рднреА рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЙрджрд╛рд╣рд░рдг UMD рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдП рдЧрдП рдереЗ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕реАрдзреЗ рд╡реИрд╢реНрд╡рд┐рдХ THREE рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЪрдордХрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛ OrbitControls рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ (рдПрдХ рдмрдбрд╝реА рдмрд╛рдд рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдирд┐рд░реНрдорд╛рдг рдЙрдкрдХрд░рдг рдЗрд╕реЗ рд╕рдВрднрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рднреА)ред

рдзрдиреНрдпрд╡рд╛рдж!

рдпрд╛ рдЖрдк рдмрд╕ рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ _typeface_js.loadFace рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ?

рд╣рд╛рдБ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЦреЗрдж рд╣реИ, TextGeometry рдПрдкреАрдЖрдИ рдлрд┐рд░ рд╕реЗ рдмрджрд▓ рдЧрдпрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХреЛрд░ рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реИ!

рдпрд╣ рдПрдХ рдмреБрджреНрдзрд┐рдорд╛рди рдирд┐рд░реНрдгрдп рдерд╛ рд░рд┐рдХрд╛рд░реНрдбреЛред
рд▓реЛрдбрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдореВрд▓реА рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрдд рд╣реИред
r71: http://necromanthus.com/Test/html5/koolmoves.html
r74: http://necromanthus.com/Test/html5/koolmoves_r74.html
рдЪрд┐рдпрд░реНрд╕

рдХреНрдпрд╛ рд╣рдореЗрдВ ObjectLoader рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯ рдЬреНрдпреЛрдореЗрдЯреНрд░реА рдХреЛ рд╡рд╛рдкрд╕ рд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

@fraguada рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рд╣рдореЗрдВ рдлрд╝реЙрдиреНрдЯ рдлрд╝рд╛рдЗрд▓ рднреА

FontUtil r74 рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ: https://github.com/mrdoob/three.js/blob/master/build/three.js

рдпрд╣ рд╡реИрд╕рд╛ рд╣реА рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ http://threejs.org/examples/webgl_shadowmap.html (minified рдХреЛ рдЫреЛрдбрд╝рдХрд░) рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ FontUtils рдпрд╛ typeface рд╕рд╣рд┐рдд рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рджреЗрдЦрддрд╛ ... рдлрд┐рд░ рднреА рдпрд╣ рдкреГрд╖реНрда рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ред (рдЬрдмрдХрд┐ рдореБрдЭреЗ рдЕрднреА рднреА "_typeface_js рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ") рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рдХреБрдЫ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдЗрд╕ рдХреЗ рдКрдкрд░ рдХреЛрдб 6 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ)?

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдПрдкреАрдЖрдИ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдбреЗрдЯ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╣ рдЕрдм рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ: http://threejs.org/docs/index.html#Reference/Extras.Geometries/TextGeometry

рд╕рднреА рдХреАрд╕реНрдЯреНрд░реЛрдХреНрд╕ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдлреЛрдВрдЯ, рд╡реЗрдЯ рдФрд░ рдмреЗрд╡реЗрд▓ рдХреЗ рдмрд┐рдирд╛ рдмрд╣реБрдд рд╣реА рдореВрд▓ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕реБрдкрд░ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡реЗ рднреА рдорд╣рд╛рди рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдмреБрдирд┐рдпрд╛рджреА рдиреЗ рдореБрдЭреЗ рдПрдХ рдЯрди рдмрдЪрд╛рдпрд╛ рд╣реЛрдЧрд╛ред

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдмрд╣реБрдд рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рдереА: http://threejs.org/docs/scenes/geometry-browser.html#TextGeometry , рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рд╕реНрд░реЛрдд рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдЯреЛрд░рд╕ рдХреЛ рдЦреАрдВрдЪрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╛рд╣рд░реА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рдЦреАрдВрдЪрддрд╛ рд╣реИ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

рдореИрдВ JSFiddle рдкрд░ рдЗрд╕ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрддрд╛ рд╣реВрдВ рдЬреЛ рдХрд┐рд╕реА рдХреЛ рднреА рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рдвреВрдВрдврддрд╛ рд╣реИред
https://jsfiddle.net/287rumst/1/

рдпрд╣ рдмрд╣реБрдд рд╣реА рдмреБрдирд┐рдпрд╛рджреА рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕реБрдкрд░ рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛

r75 рдФрд░ r76dev:
http://necromanthus.com/Test/html5/koolmoves.html

рд╕рд┐рд░реНрдл рдореЗрд░реЗ рджреЛ рд╕реЗрдВрдЯ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рднреА рдкреАрдЫреЗ рдХреА рд╕рдВрдЧрддрддрд╛ рдХрд╛ рдкреНрд░рд╢рдВрд╕рдХ рд╣реВрдВ:

рдпрджрд┐ рд╕рдВрдЧрддрддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рддреЛ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдирдП рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЬреАрдердм рдореЗрдВ upgrade рдлрд╝реЛрд▓реНрдбрд░ (рдпрд╛ fixes ) рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рд╕рдВрджрд░реНрднред

рдЗрд╕ рддрд░рд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рдХреЗ рд▓рд┐рдП рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рдкрдХрдбрд╝рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред

рдореИрдВ рдЕрднреА рднреА r65 рдХрд╛ рдЙрдкрдпреЛрдЧ рдРрд╕реА "рдЕрдЬреНрдЮрд╛рдд" рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдордп рдирд╣реАрдВ рд╣реИ, рдЗрди рдореБрджреНрджреЛрдВ рдХреЛ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПред

рд╣рд╛рдп рд╕рдм, рдореИрдВ рдмрд╕ r71 рд╕реЗ r76 рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдирдП рдПрдиреАрдореЗрд╢рди.mixer рдХреА рдЦреЛрдЬ рдХреАред рддреЛ рдЕрдкрдиреЗ рдкреБрд░рд╛рдиреЗ рдЬреЛрдВрд╕ 3 рдбреА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдХрд╛рдо рдкрд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ MorphAnimMesh.js рдПрдирд┐рдореЗрд╢рди рдХреАред рд▓реЗрдХрд┐рди рдЕрдм рдореБрдЭреЗ "рдбреЗрдЯрд╛ рдкрджрд╛рдиреБрдХреНрд░рдо рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд" рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдмреНрд▓реЗрдВрдбрд░ рд╕реЗ рдЕрдкрдиреЗ рд╕рднреА рдкреВрд░реНрд╡ 3 рдбреА рдЬреЛрдВрд╕ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдЖрд░рдИ-рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдХреНрдпрд╛ рдЗрди рдХрд╛рдореЛрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ?

рд╣реИрд▓реЛ, "рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд data.hierarchy" рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдирд╣реАрдВ?

рдХреГрдкрдпрд╛, рдорджрдж рдХреЗ рд▓рд┐рдП StackOverflow рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдПрдХ рд░рд┐рд▓реАрдЬ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдлреА рдХреБрдЫ рдХрджрдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдХрднреА-рдХрднреА рдореЗрд░рд╛ рдзреИрд░реНрдп / рд╕рдорд░реНрдкрдг рдЦрддреНрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ ...: рдЙрд▓рдЭрди:
рдХреЛрдИ рднреА рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкреЗрдЬ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рд╡рд╣рд╛рдВ рдХреБрдЫ рдорджрдж рд▓реЗрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред

рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рддреАрди.js рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдЖрдпрд╛ рд╣реВрдВред

рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдкреНрд░рд╛рдкреНрдд рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рдЕрдкрдорд╛рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдорджрдж рдорд╛рдВрдЧрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдореИрдВ рд╕рд┐рд░реНрдл рдЖрдкрдХреЛ рддреАрди.рдЬреЗрдПрд╕ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред

рдЖрдк рдПрдХ рд╕реБрдкрд░ рд╕рдорд░реНрдкрд┐рдд рдФрд░ рдзреИрд░реНрдпрд╡рд╛рди рд╡реНрдпрдХреНрддрд┐ рд╣реИрдВ! : +1:

R72 рд╕реЗ r84 рддрдХ рдХрд╛ рдЕрджреНрдпрддрди рдХрд╛рд░реНрдп рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдерд╛ (рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП ~ 3 рдШрдВрдЯреЗ)ред

рд╕рд╣рд╛рдпрдХ:

  • рдлрд╝реЙрдиреНрдЯ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП: http://necromanthus.com/Test/html5/koolmoves.html рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рджреЗрдЦреЗрдВ (рдЖрдк HTML рдореЗрдВ рдлрд╝реЙрдиреНрдЯ рдХреЛ рд▓реЛрдб рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди JS рдХреЗ рдмрдЬрд╛рдп, рдПрдХ var рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВ рдФрд░ рдпрд╣ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИред рдХреЗрд╡рд▓ рдпрд╣ рд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдлрд╝реЙрдиреНрдЯ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ)
  • рджреЗрд╡ рдХрдВрд╕реЛрд▓ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рджреЗрдЦреЗрдВ, рд╡реЗ рдмрд╣реБрдд рдорджрдж рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЖрдкрдХреЛ рдпрд╣ рднреА рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ (рдЕрдЪреНрдЫрд╛ рдХрд╛рдо @mrdoob )
  • https://github.com/mrdoob/three.js/wiki/Migration-Guide рдкрд░ рднреА рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ

рдореЗрд░рд╛ рд╕реБрдЦрдж рдкрд░рд┐рдгрд╛рдо: https://www.matheretter.de/geoservant/en/


рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдореБрдЭреЗ v72 рд╕реЗ v84 рддрдХ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

  1. рдЕрдкрдиреА HTML рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдирд┐рдХрд╛рд▓реЗрдВ:

    <!-- OLD <script src="../../threejs/geometries/TextGeometry.js"></script>  -->
    <!-- <script src="../../threejs/helvetiker_regular.typeface.js"></script>  -->
    
  2. рдЕрдкрдиреЗ рддреАрдиjs рджреГрд╢реНрдп рдЪрд▓рд╛рдПрдВ, рдЖрдк рд╢рд╛рдпрдж рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:

    Uncaught TypeError: c.generateShapes is not a function
    
  3. рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд░реЗрдВрдбрд░рд░ рдлрд╝реЙрдиреНрдЯ рд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рддреЛ рдЪрд▓рд┐рдП рдкрд╣рд▓реЗ рдлреЙрдиреНрдЯ рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рд░реЗрдВрдбрд░рд░ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ:

    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(); 
    });
    
  4. рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рд░рдирдЯрд╛рдЗрдо рдХреЗ рджреМрд░рд╛рди рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдирдпрд╛ рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдореБрдЭреЗ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдХреЗрдк рдкрд░ рд╕реНрдЯреЗрдЬ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ:

    var text3d_r;
    var text3d_s;
    var text3d_h;
    var material1;
    var material_s;
    var material2;
    
  5. рдкреНрд░рд╛рд░рдВрдн рд╕рдорд╛рд░реЛрд╣ рдХрд╛ рдЙрджрд╛рд╣рд░рдг:

    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);
    }
    
  6. рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ 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);
  1. рдлрд┐рд░ рдореБрдЭреЗ рддреАрдиj рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ (рдХреНрд░реЛрдо рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

6.1 THREE.MeshBasicMaterial: 'ambient' is not a property of this material. ambient:color, new THREE.MeshBasicMaterial(); рдХреЛ рдирд┐рдХрд╛рд▓рдХрд░ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛

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. - рдЗрд╕реЗ рд╣рдЯрд╛ рджреЗрдВред

  1. рдореИрдВрдиреЗ рд░реЗрдВрдбрд░рд░ рд╕реЗрдЯрдЕрдк рднреА рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ:

    // 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 });
    }
    
  2. рдореБрдЭреЗ рджреГрд╢реНрдп рд╕реЗрдЯрдЕрдк рдореЗрдВ рдПрдХ рд╕рдлреЗрдж рдкреГрд╖реНрдарднреВрдорд┐ рд░рдВрдЧ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА:

    var scene = new THREE.Scene();          
    scene.background = new THREE.Color( 0xffffff );
    

рдЕрдм рдореЗрд░рд╛ рдЖрд╡реЗрджрди рдкреБрд░рд╛рдиреЗ рддреАрдиjs рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдЪрд▓рддрд╛ рд╣реИред рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рднреА рд╢реБрднрдХрд╛рдордирд╛рдПрдБ!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

donmccurdy picture donmccurdy  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

fuzihaofzh picture fuzihaofzh  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

seep picture seep  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

akshaysrin picture akshaysrin  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Bandit picture Bandit  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ