LDraw + рдПрдХрддрд╛ред рдореИрдВрдиреЗ рд▓реЗрдЧреЛ рдХреЛ рдХреИрд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛

рдЖрдиреЗ рдХреЗ рд╕рд╛рде рд╕рднреА! рдореЗрд░рд╛ рдирд╛рдо рдЧреНрд░рд┐рд╢рд╛ рд╣реИ рдФрд░ рдореИрдВ CGDevs рдХрд╛ рд╕рдВрд╕реНрдерд╛рдкрдХ рд╣реВрдВред рдЫреБрдЯреНрдЯрд┐рдпрд╛рдВ рдмрд╕ рдХреЛрдиреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╣реИрдВ, рдХрд┐рд╕реА рдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдХреНрд░рд┐рд╕рдорд╕ рдХрд╛ рдкреЗрдбрд╝ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ, tangerines рдЦрд╛рдпрд╛ рдФрд░ рдирдП рд╕рд╛рд▓ рдХреЗ рдореВрдб рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЪрд╛рд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдЬ рдпрд╣ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИред рдЖрдЬ рд╣рдо рдПрд▓рдбреАрдЖрд░рд╡реА рдирд╛рдордХ рдПрдХ рдЕрджреНрднреБрдд рдкреНрд░рд╛рд░реВрдк рдФрд░ рдПрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдУрдкрдирд╕реЛрд░реНрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдФрд░ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ред рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдФрд░ рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗ рд▓рд┐рдВрдХ, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рд╕рдВрд▓рдЧреНрди рд╣реИрдВред рдпрджрд┐ рдЖрдк рд▓реЗрдЧреЛ рд╕реЗ рдЙрддрдирд╛ рд╣реА рдкреНрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рддрдирд╛ рдореИрдВ рдХрд░рддрд╛ рд╣реВрдВ - рдХреИрдЯ рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред



рдПрд▓рдбреАрдЖрд░ рдкреНрд░рд╛рд░реВрдк

рдЖрдЗрдП рд╢реБрд░реБрдЖрдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ LDraw рдХреНрдпрд╛ рд╣реИ? рдПрд▓рдбреАрдЖрд░ рд▓реЗрдЧреЛ рд╕реАрдПрдбреА рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓рд╛ рдорд╛рдирдХ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд▓реЗрдЧреЛ рдореЙрдбрд▓ рдФрд░ рджреГрд╢реНрдп рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпрдХреНрд░рдо рдФрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдирдХреЗ рд╕рд╛рде рдЖрдк рдПрд▓рдбреНрд░реЙ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмреНрд▓реЗрдВрдбрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓рдЧрдЗрди рд╣реИ)ред

рдкреНрд░рд╛рд░реВрдк рд╣реА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИ, рдФрд░ рд╣рдо рдЗрд╕рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдпрд╛ 1.0.2 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред

LDraw рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдлреЙрд░реНрдореЗрдЯ рд╣реИ рдЬрд┐рд╕рдХреА рдлрд╛рдЗрд▓реЗрдВ UTF-8 рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдкреНрд░рд╛рд░реВрдк рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди ldr, dat рдпрд╛ mdp рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд╝рд╛рдЗрд▓ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдПрдХ рдЕрд▓рдЧ рдХрдорд╛рдВрдб рд╣реИред

рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдг рджрд╛рдПрдВ рд╣рд╛рде рдХрд╛ рд╕рдордиреНрд╡рдп рдкреНрд░рдгрд╛рд▓реА рд╣реИ (Y рдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реИ) - рд╣рдо рдЗрдХрд╛рдИ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдмрд╛рдж рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗ, рд╕рд╛рде рд╣реА рдпрд╣ рддрдереНрдп рднреА рд╣реИ рдХрд┐ рдкреНрд░рд╛рд░реВрдк рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╣реИ (рдЕрдзрд┐рдХрд╛рдВрд╢ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕рдВрдХреЗрдд рд╣реИ)ред



LDraw рдХрдорд╛рдВрдб

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдЗрдП рдПрдХрддрд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдереЛрдбрд╝рд╛ рджреЗрдЦреЗрдВред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, LDraw рдкреНрд░рд╛рд░реВрдк 6 рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрджреЗрд╢реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

0. рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдпрд╛ рдПрдХ рдореЗрдЯрд╛ рдХрдорд╛рдВрдб рд╡рд┐рд╢реЗрд╖ рдХрдорд╛рдВрдб рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рд╢рд╛рдпрдж рд╣реА рдкреНрд▓рдЧрдЗрди рдореЗрдВ рд╕реНрдкрд░реНрд╢ рдХрд░реЗрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг: 0 !META command additional parameters

1. рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХреАрдХреГрдд рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдЯреАрдо рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдпрд╣ рджрд┐рдЦрддрд╛ рд╣реИ - 1 colour xyzabcdefghi file , рдЬрд╣рд╛рдВ рдкреИрд░рд╛рдореАрдЯрд░ TRS рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╣реИрдВ (TRS рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред рд░реВрдк рдореЗрдВ рдЗрдХрд╛рдИ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ

 / adg 0 \ | beh 0 | | cfi 0 | \ xyz 1 / 

2. рд▓рд╛рдЗрди - рдПрдХрддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕реАрдПрдбреА рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд░рдВрдЧ рдХреЗ рд╕рд╛рде рдХрд┐рдирд╛рд░реЛрдВ рдкрд░ рдЬреЛрд░ рджреЗрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

3.4ред рддреНрд░рд┐рдХреЛрдг рдФрд░ рд╡рд░реНрдЧ ред рдХрдорд╛рдВрдб рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрд▓рдбреАрдЖрд░ рдкреНрд░рд╛рд░реВрдк 3 рдбреА рдореЙрдбрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рддреНрд░рд┐рдХреЛрдгреЛрдВ рдФрд░ рдЪреМрдХреЛрдВ рдХрд╛ рдмрд╛рдИрдкрд╛рд╕ рдорд╛рдирдХреАрдХреГрдд рдирд╣реАрдВ рд╣реИред рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрдХрд╛рдИ, рддреНрд░рд┐рдХреЛрдг рдХреЗ рджреМрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЧрдгрдирд╛ рдХреА рджрд┐рд╢рд╛ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ, рд╕рд╛рде рд╣реА рддреНрд░рд┐рдХреЛрдг рдХреЗ рдХрд┐рд╕ рддрд░рдл рдкреАрдЫреЗ рд╣реИ рдФрд░ рдЬреЛ рд╕рд╛рдордиреЗ рд╣реИ (рдЬреЛ рдбреНрд░рд╛рдЗрдВрдЧ рдФрд░ рдХреБрд▓реНрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ)

рдХрдорд╛рдВрдб рдЙрджрд╛рд╣рд░рдг:
рддреНрд░рд┐рдХреЛрдг - 3 colour x1 y1 z1 x2 y2 z2 x3 y3 z3
рд╕реНрдХреНрд╡рд╛рдпрд░ - 4 colour x1 y1 z1 x2 y2 z2 x3 y3 z3 x4 y4 z4

5. рд╡реИрдХрд▓реНрдкрд┐рдХ рд▓рд╛рдЗрди - рднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ред



рдПрд▓рдбреНрд░рд╛ рдореЗрдВ рд░рдВрдЧ

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЯреАрдореЛрдВ рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд░рдВрдЧ рдХрдорд╛рдВрдб рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдЖрддрд╛ рд╣реИред рдЗрди рджреЛ рд▓реЗрдЦреЛрдВ www.ldraw.org/article/299.html рдФрд░ www.ldraw.org/article/547.html рдореЗрдВ рд░рдВрдЧреЛрдВ рдХрд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ , рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рджреМрд░рд╛рди рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдордирд╛ рдХреА рдЧрдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдпрд╣ рд╕реНрд╡рд░реВрдкреЛрдВ рдФрд░ рддрдерд╛рдХрдерд┐рдд "рд╕реНрдХреЛрдк" рдкреНрд░рд╛рд░реВрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝реА рдФрд░ рдмрд╛рдд рдХрд░рдиреЗ рд▓рд╛рдпрдХ рд╣реИред рдкреНрд░рд╛рд░реВрдк рдореЗрдВ 3 рдкреНрд░рдХрд╛рд░ рдХреА рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВред

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

рдПрд▓рдбреАрдЖрд░ рд░рдВрдЧреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬ рд╣реИ, рдФрд░ рдЬрд╣рд╛рдВ рд╕реНрдХреЛрдк рдПрдХ рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддрд╛ рд╣реИред рдирд┐рдпрдо рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рд╛рдЗрдЯ рдиреЗ рдЬрдЯрд┐рд▓ рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ ldr рд╕реЗ рджреВрд╕рд░реЗ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд░реВрдЯ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд░рдВрдЧ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ 30051-1 - X- рд╡рд┐рдВрдЧ рдлрд╛рдЗрдЯрд░ - Mini.mpd (рдКрдкрд░ рдЪрд┐рддреНрд░ рдореЗрдВ рдПрдХреНрд╕-рд╡рд┐рдВрдЧ):

рдЙрджрд╛рд╣рд░рдг
 1 71 -10 0 50 0 0 1 0 1 0 -1 0 0 60470a.dat 1 71 10 0 50 0 0 -1 0 1 0 1 0 0 60470a.dat 0 STEP 1 19 0 8 50 0 0 -1 0 1 0 1 0 0 4032b.dat 0 STEP 0 ROTSTEP 35 55 0 ABS 1 19 0 -16 0 0 0 -1 0 1 0 1 0 0 3623.dat 1 72 0 -16 50 0 0 -1 0 1 0 1 0 0 3022.dat 0 STEP 1 72 0 -8 -70 1 0 0 0 1 0 0 0 1 30051 - Nose.ldr 


рд╕рднреА рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ, рд╣рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд░рдВрдЧ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдХрдорд╛рдВрдб рдореЗрдВ 1 72 0 -8 -70 1 0 0 0 1 0 0 0 1 30051 - Nose.ldr - 72 рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВ, рдФрд░ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ 30051 - Nose .ldr ред

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



LDraw рдореЗрдВ рдореЙрдбрд▓

рдПрд▓рдбреАрдЖрд░ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд▓реЗрдЧреЛ рдкреНрд░рд╢рдВрд╕рдХреЛрдВ рдХреЗ рдмреАрдЪ рдЙрдирдХреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреНрд░рд╢рдВрд╕рдХ рд╣реИрдВред рдХрдИ рджрд┐рд▓рдЪрд╕реНрдк рдХрд┐рдЯ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ omr.ldraw.org рдкрд░ рджреЗрдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдордВрдЪреЛрдВ рдкрд░ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред

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



рдПрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрди

рдкреНрд▓рдЧрдЗрди LDraw рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ 3D рдореЙрдбрд▓ рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЖрдк рд▓реЗрдЦ рд╕реЗ рдЪрд┐рддреНрд░реЛрдВ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдорд╣рддреНрд╡рдкреВрд░реНрдг: рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдХрдордЬреЛрд░ рдбрд┐рд╡рд╛рдЗрд╕ рд╣реИ, рддреЛ рдбреЗрдореЛ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЗрд╡рд▓ рдорд┐рдиреА рджреГрд╢реНрдпреЛрдВ рдХреЛ рдЦреЛрд▓рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдореЙрдбрд▓ рдЕрдиреБрдХреВрд▓рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рд╣рдореЗрд╢рд╛ рдПрдХ рдмреИрдХрдлрд╝реБрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВред

рдЕрдм рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдлрд┐рд▓рд╣рд╛рд▓, рд╕рдмрд╕реЗ рдКрдкрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЕрд▓рдЧ рд╕рдордиреНрд╡рдп рдкреНрд░рдгрд╛рд▓реА рд╣реИред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рд╛рд░реВрдк рдПрдХ рджрд╛рдПрдВ рд╣рд╛рде рдХреА рд╕рдордиреНрд╡рдп рдкреНрд░рдгрд╛рд▓реА рд╣реИ, рдЬрдмрдХрд┐ рдПрдХрддрд╛ рдПрдХ рдмрд╛рдПрдВ рд╣рд╛рде рдХреА рд╕рдордиреНрд╡рдп рдкреНрд░рдгрд╛рд▓реА рд╣реИред рдпрд╣ рдХреНрдпрд╛ рд╣реИ, рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рднреА рдореЛрдбрд╝ рдФрд░ рдЯреАрдЖрд░рдПрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдирдХрд╛рд░рд╛рддреНрдордХ рд╡рд╛рдИ рдХреЛ рд╣рд░рд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ - рд╣рдо рд╡реЗрдХреНрдЯрд░ 3.up рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╕рднреА рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ (-1 рд╕реЗ рдЧреБрдгрд╛ рдХрд░реЗрдВ)ред рд▓реЗрдХрд┐рди рдЯреАрдЖрд░рдПрд╕ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдм рдХреБрдЫ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред рдЪреВрдВрдХрд┐ рдкреНрд░рд╛рд░реВрдк рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдирд╛ рдХреЗрд╡рд▓ рдЕрд╕рдВрднрд╡ рд╣реИ, рдЪреВрдВрдХрд┐ рдореИрдЯреНрд░рд┐рдХреНрд╕ред рд╡рд┐рд╡рд┐рдзрддрд╛ рд╣рд░ рдЬрдЧрд╣ рдПрдХ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдореИрдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧреА рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдИ рдЕрдХреНрд╖ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдореЙрдбрд▓ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕рд╕реЗ рдЧрд▓рдд рдкреНрд░рджрд░реНрд╢рди рд╣реЛрдЧрд╛ (рдпрджрд┐ рдЖрдк рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреИрдорд╛рдиреЗ рд░рдЦрддреЗ рд╣реИрдВ)ред рдЕрдм рддрдХ, рдореИрдВ рдирдХрд╛рд░рд╛рддреНрдордХ рдкреИрдорд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЧрд▓рдд рдирд┐рд░реНрдгрдп рдкрд░ рдЖрдпрд╛ рд╣реВрдВ, рдЬрд┐рд╕реЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рджреВрд╕рд░реА рд╡рд┐рд╢реЗрд╖рддрд╛ рддреНрд░рд┐рдХреЛрдгреЛрдВ рдХрд╛ рдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИред Quads рдХреЗ рд▓рд┐рдП, рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рддреНрд░рд┐рдХреЛрдг рдПрдХ рддрд░рд╣ рд╕реЗ рджрд┐рдЦрддрд╛ рд╣реИ:

рд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░реА рдХреЛрдб
 public override void PrepareMeshData(List<int> triangles, List<Vector3> verts) { var v = _Verts; var nA = Vector3.Cross(v[1] - v[0], v[2] - v[0]); var nB = Vector3.Cross(v[1] - v[0], v[2] - v[0]); var vertLen = verts.Count; triangles.AddRange(new[] { vertLen + 1, vertLen + 2, vertLen, vertLen + 1, vertLen + 3, vertLen + 2 }); var indexes = Vector3.Dot(nA, nB) > 0 ? new int[] {0, 1, 3, 2} : new int[] {0, 1, 2, 3}; for (int i = 0; i < indexes.Length; i++) { verts.Add(v[indexes[i]]); } } 


рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЕрд╕реНрдкрд╖реНрдЯ рд╣реИ, рдкреНрд░рд╛рд░реВрдк рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рддреНрд░рд┐рдХреЛрдг рдХреЛ рдХрд┐рд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдПрдХ рдЧреИрд░-рддреБрдЪреНрдЫ рдХрд╛рд░реНрдпред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рджреЛрдиреЛрдВ рдкрдХреНрд╖ рд╣рдореЗрд╢рд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВред

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

рджреЛ рддрд░реАрдХреЛрдВ рдореЗрдВ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рд▓реЗ рдЯреАрдЖрд░рдПрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ (рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ), рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣рдо рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдСрдлрд╕реЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:

рдордВрдЪ рдкрд░ рдПрдХ рдореЙрдбрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реАрдХреЗ
 public class LDrawModel { public GameObject CreateMeshGameObject(Matrix4x4 trs, Material mat = null, Transform parent = null) { if (_Commands.Count == 0) return null; GameObject go = new GameObject(_Name); var triangles = new List<int>(); var verts = new List<Vector3>(); for (int i = 0; i < _Commands.Count; i++) { var sfCommand = _Commands[i] as LDrawSubFile; if (sfCommand == null) { _Commands[i].PrepareMeshData(triangles, verts); } else { sfCommand.GetModelGameObject(go.transform); } } if (mat != null) { var childMrs = go.transform.GetComponentsInChildren<MeshRenderer>(); foreach (var meshRenderer in childMrs) { meshRenderer.material = mat; } } if (verts.Count > 0) { var visualGO = new GameObject("mesh"); visualGO.transform.SetParent(go.transform); var mf = visualGO.AddComponent<MeshFilter>(); mf.sharedMesh = PrepareMesh(verts, triangles); var mr = visualGO.AddComponent<MeshRenderer>(); if (mat != null) { mr.sharedMaterial = mat; } } go.transform.ApplyLocalTRS(trs); go.transform.SetParent(parent); return go; } } public class LDrawSubFile : LDrawCommand { public void GetModelGameObject(Transform parent) { _Model.CreateMeshGameObject(_Matrix, GetMaterial(), parent); } } 


рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕реБрдВрджрд░ рджреГрд╢реНрдп рдорд┐рд▓рддреЗ рд╣реИрдВ:





рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдЧрд┐рддреБрдм рдкрд░ рднрдВрдбрд╛рд░ рджреЗрдЦреЗрдВред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдкреНрд▓рдЧрдЗрди рдХреЗ рд╡рд┐рдХрд╛рд╕ рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ, рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдкреЗрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ:

  1. рдХреБрдЫ рдЖрдХреГрддрд┐рдпреЛрдВ рдХреЛ рдЪрд┐рдХрдирд╛ рдХрд░рдирд╛
  2. рдХреЗрд╡рд▓ рд╕рд╛рдордиреЗ рдХреА рдкреАрдврд╝реА
  3. рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдФрд░ рдореЙрдбрд▓ рдХреЛ рд╡рд╛рдкрд╕ LDraw рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ
  4. рдЙрдкрд╕рддрд╣ рдмрд┐рдЦрд░рдиреЗ рдХреЗ рд╕рд╛рде рдкреНрд▓рд╛рд╕реНрдЯрд┐рдХ рдХреЗ рд▓рд┐рдП рдХреВрд▓рд░ рд╢реЗрдбрд░ (рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рд╕рд╣реА рд╕реЗрдЯ)
  5. рд▓рд╛рдЗрдЯрд╡реИрдк рдХреЗ рд▓рд┐рдП рдпреВрд╡реА рдХреЛ рдЕрдирдкреНрд░реЗрдк рдХрд░реЗрдВ
  6. рдореЙрдбрд▓ рдХрд╛ рдЕрдиреБрдХреВрд▓рди (рдЕрдм рдЙрдирдореЗрдВ рд╕реЗ рдЬреНрдпрд╛рджрд╛рддрд░ рдореЗрдВ 500k + рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдлрд┐рд▓ рдЯреЙрд╡рд░ рдХрд╛ рдореЙрдбрд▓ 2.8 рдорд┐рд▓рд┐рдпрди 3000 рдЧреНрд░рд╛рдо рд╣реИ)

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

рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдХреБрдЫ рдирдпрд╛ рд╕реАрдЦрд╛ рд╣реИ, рдФрд░ рдЖрдк рдкреНрд░рд╛рд░реВрдк рдФрд░ рдкреНрд▓рдЧрдЗрди рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ! рдпрджрд┐ рд╕рдордп рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреВрдВрдЧрд╛ рдФрд░ рдЗрд╕ рдХрдард┐рди рдорд╛рдорд▓реЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

Source: https://habr.com/ru/post/hi433364/


All Articles