rubberband object between to objects

11 replies [Last post]
ingerslev
User offline. Last seen 13 weeks 6 days ago. Offline
Joined: 01/08/2010
Posts:

Som det første vil jeg lige sige, flot arbejde med din guide.

Jeg fjoller lidt rundt i 2.5 for at se hvad dens potentiale er, men er støt på et problem, som jeg ikke er i stand til at løse med min sporatisk viden pt.

Det jeg ønsker, er at bruge blender som en slags netværksdiagram visualiseringsvørktøj. Spørgsmålet er så, om det er muligt at lave en cylinder mellem to objecter som strækker sig i forhold til hvor jeg placere disse to objecter?  (lidt som en elastik snor).

Det skal lige siges, at det er ikke som animation jeg mener, men rent modelleringsmæsigt.

Jeg har prøvet at lave constraints på en cylinder og lavet den som child of de to andre objecter og fumlet lidt med stretch to. Jeg ved ikke om det kan lade sig gøre overhovedet, men syntes det kunne være en lækker funktion at have, da det virker omstændigt at flytte og strække en cylinder bare fordi man flytter en af hovedobjecterne.

På forhånd tak!

/ingerslev

MikaelK
User offline. Last seen 21 weeks 2 days ago. Offline
Joined: 01/12/2010
Posts:
Power point???

Skal det absolut være 3D, hvis ikke så er det meget nemmere med powerpoint!

 

 

ingerslev
User offline. Last seen 13 weeks 6 days ago. Offline
Joined: 01/08/2010
Posts:
muligvis nemmere

Jeg ikke windows mand, så det ville nok ikke være nemmere. Jeg har da lavet det i DIA (en opensource pendant til visio i Microsoft miljøet). Jeg havde dog bare lyst til at visualisere det i 3d, det ville ogsp være rigtig ledelses blær (de skal jo nogen gange have det visualiseret i papfigur og pixibøger).

Den måde, som jeg fik det til at fungere på, syntes jeg også virker upåklageligt.

JoOngle
User offline. Last seen 2 weeks 4 days ago. Offline
Joined: 10/12/2009
Posts:
Det kan lade sig gøre med HOOKS

Blender har en funktion vi kalder HOOKS.

Hooks fungerer ligesom en "krog" hvor du f.eks kan tilknytte en række verticer til et kontrolobjekt (f.eks en kasse, dummy, cylinder etc.) så når du manuelt flytter den ene kasse, vil det objekt du har tilsluttet med HOOK, strække sig alt efter hvilke verticer du har valgt at objektet skal påvirke, er det hvad du mener?

Du kan bruge hooks på følgende måde:

1) Hold shift nede, mens du højreklikker på dit kontrol objekt (en eller anden mesh du skal bruge til at strække objektet med)

2) Hold shift nede endnu...og så vælg det objekt du vil manipulere med hooks.

3) Gå ind i editmesh mode, vælg de verticer du vil skal påvirkes af det andre objekt, og tryk Control + H 

4) Vælg Hook to selected object.

Når du nu går ud af editmesh mode, vil du kunne flytte rundt på dit første objekt...og det vil trække de verticer med sig som du har valgt i pkt 3.

5) Evnt. gentag med et objekt nummer 2, og gør det ved f.eks den anden side af objektet.

Der er selvsagt andre måder du kan påvirke objekter, du kan bruge "constraints" hvor du kan få et objekt til at "kigge" efter et andet objekt, eller følge dets bane etc...så skal du til at læse om constraints, men jeg ved ikke helt hvor du vil hen så lad mig høre om det første var rigtig?

ingerslev
User offline. Last seen 13 weeks 6 days ago. Offline
Joined: 01/08/2010
Posts:
rubberband effekt med hooks

Tak! for dit hurtige svar.

Jeg har oploadet en blender fil 2.5 her, da jeg ikke lige kunne finde en sådan funktion på sitet. http://www.megaupload.com/?d=IFHQP1F9

Det er en meget simpel sceen, som jeg har lavet for at illustrere, hvad jeg mener med rubberband effekt. Jeg tror dog ikke det kan lade sig gøre med hooks, da jeg ser flere problemer med dette.

Hvis du trækker mesh.002 rundt om mesh objektet, så vil du have en idé om hvad jeg ønsker.

Den måde som jeg har lavet det på i filen, begrænser mig til kun at have to objekter, hvilket ikke er helt nok til at beskrive et netværk 700 - 800 noder som bliver forbundet X antal gange. Det giver nemlig et rent modelleringshelved at flytte forbindelser, når man har brug for at flytte og give plads til nye objekter.

/ingerslev

JoOngle
User offline. Last seen 2 weeks 4 days ago. Offline
Joined: 10/12/2009
Posts:
Du har ret, jeg forstår slet

Du har ret, jeg forstår slet ikke hvad du mener, og din fil gjorde mig desværre ikke ret meget klogere, for mig virker det som du har brugt hooks, ligesom jeg beskrev dem, og fået sylinderen mellem de 2 sylindere til at strække sig mellem de 2.

Mener du at du vil have at sylinderen strækker sig som et ægte gummil element og bibeholder den korrekte volum information (f.eks bliver tyndere når det bliver strukket) ?

ingerslev
User offline. Last seen 13 weeks 6 days ago. Offline
Joined: 01/08/2010
Posts:
Det er lidt svært at beskrive

Det jeg ønsker, er som det vises i filen. Det der er problemt, er at der kan være op til X af den slags forbindelser mellem de stående cylinder(noder) og op til 700 - 800 noder.

her er et link til et billede, som måske kan anskue kompleksiteten for et netværk

http://filebox.vt.edu/users/ajohri/toolslab/network.jpg

Jeg kan se du er vant til at læse diagrammer. Det vil nok svare til at du skulle flytte en modstand og derefter skulle flytte alle stregerne. Det er ikke specielt fancy eller noget ( behøver ikke blive tyndere kun lægere).

Da det er et netværk, som bliver udviklet og udbygget på hele tiden, så skal der flyttes meget rundt på noderne. Det der gør det svært, er at man ikke umiddelbart kan lave den ønskede effekt med hooks - unden også at lave en constraint som peger på en anden node og da man kun kan få den til at følge en node, så bliver det svært at få de andre hooks som laver til at opføre sig på samme måde.

/ingerslev

JoOngle
User offline. Last seen 2 weeks 4 days ago. Offline
Joined: 10/12/2009
Posts:
En anden lille sjov feature

En anden lille sjov feature jeg opdagede i den aller sidste nye 2.5 (SVN, den man selv kompilerer) er en GREASE PENCIL feature der lader dig tegne direkte på objekterne, f.eks fra Objekt-TIL-Objekt.

De vil ikke animeres, men vil lægge sig nøjagtig på toppen af de områder du vælger at tegne på (f.eks en streg mellem to objekter), og vil dukke op når du klikker på master objektet. Hvert start objekt kan være et master objekt...en ret sjov detalje.

JoOngle
User offline. Last seen 2 weeks 4 days ago. Offline
Joined: 10/12/2009
Posts:
Aaaah, så er jeg med.

Aaaah, så er jeg med. I PCB-programmer kalder vi det for "Auto-Routing", dvs. hvis man flytter en "node" vil den automatisk "route" linket til den respektive node.

Blender er mere et visualiseringsværktøj på Linie med 3Dstudio max og Maya,  og knapt så meget "Inventor","SolidWorks" eller "Auto-Cad", dvs. der er ikke ret mange matematiske funktioner, men mere "kunstneriske" funktioner beregnet til den alm.  ikke-tekniske bruger.

Jeg ved det ikke 100%, men jeg tror ikke vi har en sådan funktion. Jeg ved derimod at Game-Enginen til Blender har en mulighed for dummy-chaining der fysisk påvirker hinanden, dvs. du kan faktisk kæde ting som om det var en lang kæde og tilslutte / afkoble deres forbindelser som det passer dig, men det kræver en del programmering i scriptsproget Python (som er en Del af Blender)

OG DOG...jeg kom til at tænke på at Blender har et OOPS schematic som du muligvis kan benytte for at opnå dit mål, men så skal du til at bruge Blender 2.49 (for OOPS er ikke implementeret i Blender 2.5 Alpha/Beta endnu. 

Dvs. hvis du har tre objekter (f.eks default cuben):


(KLIK på billederne for fuld størrelse)

Så kan du se ovenfor at de ikke er knyttet sammen, blot til scenen, men uafhængige af hinanden.

Hvis du nu tager to (eller flere) af objekterne og "parent" dem sammen, får du følgende skema i "Oops" displayet:

Er det noget du kan bruge?

ingerslev
User offline. Last seen 13 weeks 6 days ago. Offline
Joined: 01/08/2010
Posts:
tree-structure

Jeg tror du har ret i, at der ikke findes sådan en funktion i blender. Jeg har leget lidt med parent - child delen, men det har sine svagheder i kraf af, at man kun kan definere et træ. Sådan fungere netværk desvære ikke og dog. Det er bare rigtigt svært at definere roden til et træ-struktur i et netværk.

Jeg må nok tilbage til den manuelle måde at gøre det på.

I mens jeg sad og skrev dette her, fik jeg dog en idé til hvordan jeg kunne gøre dette.

Jeg lavede det i 2.49b

http://www.megaupload.com/?d=MQ035HMN

Det lykkedes mig, at lave et cirkulær net (dog et lille et).

Alle de punkterede liner som stikker ud, kan nok godt gå hen og forstyre lidt.

Så jeg kan kun sige mange tak for hjælpen (jeg havde ikke lige tænkt på det med hooks).

/ingerslev

JoOngle
User offline. Last seen 2 weeks 4 days ago. Offline
Joined: 10/12/2009
Posts:
Det var så lidt. Du ved godt

Det var så lidt.

Du ved godt at du kan programmere python script DIREKTE i Blenders egen editor, right?

Du kunne jo evnt, lave en sådan funktion som et script? Det er der mange der gør hvis de lige skulle lave noget smart i f.eks Blender, Maya, Max osv...de har alle et script-sprog lige præcis til formål som du nævner.

ingerslev
User offline. Last seen 13 weeks 6 days ago. Offline
Joined: 01/08/2010
Posts:
Der mangler jeg nok lidt eksempler

Ja! Jeg har set, at man kan programmere noget i python. Jeg har bare ikke nogle eksempler. Jeg har ikke den store programmerings erfaring med python.

/ingerslev