Ergebnis 1 bis 9 von 9

Thema: Expression 2 holos, um eine Achse rotieren

  1. #1

    Standard Expression 2 holos, um eine Achse rotieren

    Hi,

    ich habe mich vor kurzem mit den holos aus Expression 2 befasst und habe jetzt auch schon einiges gelernt. Nun habe ich aber ein Problem. Möchte ich z.B. einen tetraeder um seine eigene Achse rotieren lassen, tue ich das ja mit:

    Code:
    holoAng(N,ang(0,Variable,0)
    Soweit so gut. Nun habe ich aber das Problem, das ich zum beispiel 2 Objekte um einen gemeinsamen punkt rotieren lassen möchte. dabei meine ich nicht das sie zb direkt über der Expression schweben, sonder z.B. versetzt sind [ holoPos(N,vec(0,10,0)) ]
    Sollen sie jetzt beide z.B. die drehungen der Expression übernehmen. Klappt dies nicht, weil ja jede nur um seine eigene achse rotiert und nicht um den punkt selber.

    Ich habe hier mal einen Zeichung gemacht falls ihr nicht versteht was ich meine.



    Hoffe ihr könnt mir helfen

    THX

  2. #2

    Standard AW: Expression 2 holos, um eine Achse rotieren

    Sollte so gehen

    Code:
    interval(100)
    A=A+0.1 # geschwindigkeit
    if(A1>1000000000){A=0}
    holoCreate(3)
    holoPos(3,entity():toWorld(vec(cosr(A1)*250,sinr(A1)*250,0))) #250 ist für den radius
    Dreht sich immer um das expression um es um etwas anderes kreisen zu lassen entity() durch das entsprechende ersetzen

  3. #3

    Standard AW: Expression 2 holos, um eine Achse rotieren

    Du hast es anscheindend falsch verstanden, es soll nicht um das objekt kreisen, sonder sich mit dem objekt winkeltreu bewegen, dh ein zweiteiliger pfeil, sollte immer zb in die blickrichtung zeigen in die ich sehe, wenn du es probierst zu bauen, wirst du merken was ich meine.

    trozdem thx

  4. #4

    Standard AW: Expression 2 holos, um eine Achse rotieren

    aso oops. hmm da binn ich im moment auch n bissen überfordert

  5. #5

    Standard AW: Expression 2 holos, um eine Achse rotieren

    Ich hoffe ich hab dein Problem richtig verstanden.

    Diese E2 erstellt einen Pfeil aus zwei Holo´s, die um die E2 kreisen:

    PHP-Code:
    @name 
    @inputs 
    @outputs 
    @persist T
    @trigger 
    runOnTick
    (1)

    Pos entity():pos()

    if(
    first()) {
        
    holoCreate(1,Pos+50)
        
    holoModel(1,"hqcylinder2")  
        
    holoScale(1,vec(1,1,4))
        
    holoAng(1,ang(90,0,0)) 
        
    holoCreate(2,entity():pos()+50)
        
    holoModel(2,"hqcone")  
        
    holoAng(2,ang(90,0,0)) 
        
    holoScale(2,vec()+2)
    }

    T++
    cos(T)*100
    sin(T)*100

    holoPos
    (1,Pos+vec(X,Y,50))
    holoAng(1,ang(90,T+90,0))

    ## Position der Spitze

    Holo holoEntity(1)
    Size Holo:boxSize():z()+holoEntity(2):boxSize():z()+2

    holoPos
    (2,Holo:pos()+Holo:up()*Size
    holoAng(2,ang(90,Holo:angles():yaw(),0)) 
    Hast du das so gemeint?

  6. #6

    Standard AW: Expression 2 holos, um eine Achse rotieren

    Soll nicht um den Chip kreisen. Der Pfeil soll z.B. 50 Units westlich vom Chip gespawnt werden. Wenn man den Chip um die eigene Y-Achse dreht, soll der Pfeil dies auch tun, aber auf der Stelle bleiben.
    orly?
    ­­­­­

  7. #7

    Standard AW: Expression 2 holos, um eine Achse rotieren

    Ah, jetzt versteh ichs.

    Sollte jetzt passen:

    PHP-Code:
    @name 
    @inputs 
    @outputs 
    @persist 
    @trigger 
    runOnTick
    (1)

    Pos entity():pos()

    if(
    first()) {
        
    holoCreate(1,Pos+50)
        
    holoModel(1,"hqcylinder2")  
        
    holoScale(1,vec(1,1,4))
        
    holoAng(1,ang(90,0,0)) 
        
    holoCreate(2,entity():pos()+50)
        
    holoModel(2,"hqcone")  
        
    holoAng(2,ang(90,0,0)) 
        
    holoScale(2,vec()+2)
    }


    holoPos(1,Pos+vec(0,50,50))
    holoAng(1,entity():angles()+ang(90,0,0))

    ## Position der Spitze

    Holo holoEntity(1)
    Size Holo:boxSize():z()+holoEntity(2):boxSize():z()+2

    holoPos
    (2,Holo:pos()+Holo:up()*Size
    holoAng(2,entity():angles()+ang(90,0,0)) 

  8. #8

    Standard AW: Expression 2 holos, um eine Achse rotieren

    YEA so hab ichs gemeint, thx!
    Aber die schwierigere Frage, kannst du mir erklären wie dus gemacht hast? werde darraus nicht ganz schlau...

  9. #9

    Standard AW: Expression 2 holos, um eine Achse rotieren

    Ist recht Simple.

    Das erste Holo, also die Basis, übernimmt einfach die Angles der E2 (+90 Pitch, damit es gekippt ist).

    Mit E:up() bekommt man die Richtung der oberen Seite eines entities, und mit boxSize():z() die Größe der Z-Achse. Size ist hier die Länge der Z-Achsen beider Holos.

    boxSize() funktioniert nicht richtig mit Holos, normalerweiße müsste man beide Z-Achsen noch durch 2 Teilen, da man ja nur die Länge von der Spitze bis zur Mitte (E:pos()) braucht. Deshalb muss man hier einfach Size austesten.

    Richtung*Größe + Postion = Position der oberen Seite als Weltkoordinaten. Da kann man jetzt das zweite Holo platzieren.


    Ich hoffe das ist halbwegs verständlich, hab gerade nicht viel Zeit

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 21.09.2009, 14:10
  2. Wire wheel,s spawnen in der falschen Achse
    Von cracked im Forum Addon: Wiremod
    Antworten: 4
    Letzter Beitrag: 08.08.2009, 22:19
  3. Expression 2 Tür
    Von NeoBerlin im Forum Addon: Wiremod
    Antworten: 4
    Letzter Beitrag: 13.07.2009, 15:50
  4. "Sir, die Achse ist definitiv kaputt."
    Von !Xirteg! im Forum Ragdolls
    Antworten: 5
    Letzter Beitrag: 07.01.2009, 23:47
  5. Frage zu Expression 2
    Von Flaver im Forum Addon: Wiremod
    Antworten: 2
    Letzter Beitrag: 05.01.2009, 20:41

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •