Სარჩევი:
- ნაბიჯი 1: ჩამოტვირთეთ პროგრამები
- ნაბიჯი 2: თქვენი მოდელის ექსპორტი XML– ში
- ნაბიჯი 3: ობიექტის იმპორტი Java- ში
ვიდეო: ბლენდერის გამოყენება Java3D მოდელების შესაქმნელად: 3 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:22
თუ თქვენ ხართ ჯავა პროგრამისტი, თქვენ ალბათ გსურდათ რაღაც ეტაპზე 3D პროგრამირება. Მაგრამ როგორ? თქვენ შეგიძლიათ გამოიყენოთ Java3D და ნელა ჩაწეროთ თითოეული წერტილი 3D პოლიგონში (დამიჯერეთ ეს ცუდი იდეაა), ან შეგიძლიათ გამოიყენოთ Blender (https://blender.org) უფასო და ღია კოდის 3D მოდელირების პროგრამა. სკრიპტი სახელწოდებით Blend2Java (https://sourceforge.net/projects/blend2java/). თუმცა დოკუმენტაცია Blend2Java– ს შესახებ თითქმის არ არსებობს, ამიტომ ვჯდები აქ და ვწერ ამას.
ნაბიჯი 1: ჩამოტვირთეთ პროგრამები
თქვენ დაგჭირდებათ ბლენდერი (https://blender.org) და Blend2Java (https://sourceforge.net/projects/blend2java/). კარგი მაშინ, როდესაც ორივე გექნებათ, დაიწყეთ ბლენდერში მარტივი მოდელის (ან უბრალოდ სტანდარტული კუბიკის) გამოყენებით.
ნაბიჯი 2: თქვენი მოდელის ექსპორტი XML– ში
მას შემდეგ რაც თქვენ გაქვთ მოდელი, რომელიც გსურთ გამოიყენოთ ბლენდერში გახსენით რედაქტირების რეჟიმი და დააჭირეთ ღილაკს "a" ყველა წერტილის ასარჩევად. ქვედა პანელში აირჩიეთ ტექსტური რედაქტორი. გახსენით ახალი ფაილი ტექსტურ რედაქტორში. გახსენით გადმოწერილი blend2java.py ფაილი. გაუშვით. ახლა თქვენი ობიექტი უნდა იყოს. XML- ში, სადაც არ უნდა შეინახოთ (თუ გაქვთ და შეცდომის შეტყობინება გაგიკეთებთ, თქვენ გაქვთ მხოლოდ 1 მასალა ობიექტისთვის). გადაარქვით სახელი ობიექტს (მას უცნაური სახელი ექნება).
ნაბიჯი 3: ობიექტის იმპორტი Java- ში
Shape3D fred = null; სცადეთ {XMLDecoder e = new XMLDecoder (ახალი BufferedInputStream (ახალი FileInputStream ("c: /HandShape3D.xml"))); // თქვენი ფაილის სახელი აქ fred = (Shape3D) e.readObject (); ე. დახურვა (); } catch (გამონაკლისი e) {e.printStackTrace (); } ColoringAttributes at = new ColoringAttributes (); გარეგნობა ap = ახალი გარეგნობა (); Color3f col = ახალი Color3f (1.0f, 0.0f, 1.0f); ColoringAttributes ca = new ColoringAttributes (col, ColoringAttributes. NICEST); ap.setColoringAttributes (ca); fred.setAppearance (ap); obj.addChild (fred); ჩადეთ ეს ნებისმიერ 3D კოდში ან გამოიყენეთ მთელი კოდი აქ java.io.*; java.beans. XMLDecoder; იმპორტი java.applet. Applet; იმპორტი java.awt.*; java იმპორტი. awt.event.*; იმპორტი com.sun.j3d.utils.applet. MainFrame; იმპორტი com.sun.j3d.utils.universe.*; იმპორტი javax.media.j3d.*; იმპორტი javax.vecmath.*; იმპორტი java.applet. Applet; იმპორტი java.awt. BorderLayout; იმპორტი java.awt. Frame; იმპორტი com.sun.j3d.utils.applet. MainFrame; იმპორტი com.sun.j3d.utils.geometry. ColorCube; იმპორტი com.sun. j3d.utils.universe.*; იმპორტი com.sun.j3d.utils.behaviors.mouse.*; იმპორტი javax.media.j3d.*; იმპორტი javax.vecmath.*; იმპორტი java.awt.event.*; java იმპორტი.util. Enumeration; საჯარო კლასი MouseBehaviorApp აფართოებს აპლეტს {public BranchGroup createSceneGraph () {BranchGroup objRoot = new BranchGroup (); TransformGroup objTransform = ახალი TransformGroup (); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_WRITE); objTransform.setCapability (TransformGroup. ALLOW_TRANSFORM_READ); objRoot.addChild (objTransform); Shape3D fred = null; სცადეთ {XMLDecoder e = new XMLDecoder (ახალი BufferedInputStream (ახალი FileInputStream ("c: /HandShape3D.xml"))); fred = (Shape3D) e.readObject (); ე. დახურვა (); } catch (გამონაკლისი e) {e.printStackTrace (); } ColoringAttributes at = new ColoringAttributes (); გარეგნობა ap = ახალი გარეგნობა (); Color3f col = ახალი Color3f (1.0f, 0.0f, 1.0f); ColoringAttributes ca = new ColoringAttributes (col, ColoringAttributes. NICEST); ap.setColoringAttributes (ca); fred.setAppearance (ap); objTransform.addChild (ფრედ); MouseRotate myMouseRotate = ახალი MouseRotate (); myMouseRotate.setTransformGroup (objTransform); myMouseRotate.setSchedulingBounds (ახალი BoundingSphere ()); objRoot.addChild (myMouseRotate); MouseTranslate myMouseTranslate = ახალი MouseTranslate (); myMouseTranslate.setTransformGroup (objTransform); myMouseTranslate.setSchedulingBounds (ახალი BoundingSphere ()); objRoot.addChild (myMouseTranslate); MouseZoom myMouseZoom = ახალი MouseZoom (); myMouseZoom.setTransformGroup (objTransform); myMouseZoom.setSchedulingBounds (ახალი BoundingSphere ()); objRoot.addChild (myMouseZoom); objRoot.compile (); objRoot დაბრუნება; } public MouseBehaviorApp () {setLayout (new BorderLayout ()); Canvas3D canvas3D = ახალი Canvas3D (SimpleUniverse.getPreferredConfiguration ()); დამატება ("ცენტრი", ტილო 3D); BranchGroup სცენა = createSceneGraph (); SimpleUniverse simpleU = ახალი SimpleUniverse (canvas3D); simpleU.getViewingPlatform (). setNominalViewingTransform (); simpleU.addBranchGraph (სცენა); } public static void main (String args) {Frame frame = new MainFrame (new MouseBehaviorApp (), 256, 256); }} გამოიყენეთ ეს სრული პროგრამისთვის! დაასრულე! და შემდეგ ამბობ "ახლა რა"? წარმოდგენა არ მაქვს! მე მხოლოდ ერთი თვის წინ ვისწავლე ჯავა: lol:
გირჩევთ:
კომპიუტერის გამაცხელებლის გამოყენება ტრანზისტორი გამაცხელებლის შესაქმნელად: 7 ნაბიჯი
კომპიუტერის გამაცხელებლის ხელახლა გამოყენება ტრანზისტორი გამაცხელებლის შესაქმნელად: რამდენიმე ხნის წინ შევიძინე ჟოლო Pi 3s, რომ ვითამაშო. როგორც ისინი მოდიან გამაგრილებლის გარეშე, ზოგი ბაზარზე ვიყავი. მე ჩავატარე სწრაფი ძებნა Google- ში და წავაწყდი ამ ინსტრუქციულ (Raspberry Pi Heat Sink) - ეს იყო იდეის უარყოფის შემდეგ
მოდელების შესაქმნელად ფოტოგრამმეტრიის გამოყენება: 9 ნაბიჯი
მოდელების შესაქმნელად ფოტოგრამმეტრიის გამოყენება: ვინ ვარ მე? მე ვარ სამუელ კონკლინი და მე ვარ მეორე კურსის სტუდენტი E.L. მეიერსის უმაღლესი სკოლა. ბოლო რამდენიმე თვის განმავლობაში მე ექსპერიმენტი გავატარე ფოტოგრამეტრიაზე და ვიმედოვნებ, რომ დაგეხმარებით, თუ თქვენ აირჩევთ ამ პროდუქტის ხელახლა შექმნას. მე დაინტერესებული ვარ ვნახო სხვა როგორ
DIY NE555 მიკროსქემის შესაქმნელად სინუსური ტალღის შესაქმნელად: 6 ნაბიჯი
DIY a NE555 წრე სინუსური ტალღის შესაქმნელად: ეს გაკვეთილი გასწავლით თუ როგორ უნდა შეიმუშაოთ NE555 ჩართვა სინუსური ტალღის შესაქმნელად. ეს ხელნაკეთი წვრილმანი ნაკრები ძალიან დაგეხმარებათ იმის გაგებაში, თუ როგორ შეუძლიათ კონდენსატორებს რეზისტორებთან მუშაობა აკონტროლონ დატენვისა და განმუხტვის დრო, რომელიც გენერირდება
ვინილის საჭრელის გამოყენება საჰაერო ჯაგრისის შესაქმნელად: 5 ნაბიჯი
ვინილის საჭრელის გამოყენება საჰაერო ჯაგრისის შესაქმნელად: ამ სასწავლო ინსტრუქციაში მე მოკლედ შემოგთავაზებთ ვინილის საჭრელის გამოყენების პროცესს შაბლონების შესაქმნელად, რომლებიც შეგიძლიათ გამოიყენოთ საჰაერო ჯაგრისის დაყენებით ან მართლაც, თითქმის ნებისმიერი ტიპისთვის. საღებავის. ამ სურათებში მე გამოვიყენე საჰაერო ჯაგრისი
RGB LED- ების გამოყენება ფერის თანმიმდევრობის შესაქმნელად: 12 ნაბიჯი
RGB LED- ების გამოყენება ფერადი თანმიმდევრობის შესაქმნელად: ეს ინსტრუქცია აჩვენებს, თუ როგორ გამოიყენოთ RGB LED- ები ფერის თანმიმდევრობის შესაქმნელად Arduino Uno- ს და კოდის გამოყენებით. 3 RGB LED- ები დროთა განმავლობაში იცვლის ფერებს, ხოლო 2 სხვა RGB LED- ები იგივე ფერი დარჩება