• 0

    posted a message on Custom Morphing Animation via Blender

    [Update]

     

    The StarFighter can now morph in between three modes:- Fighter mode, Strafe mode and Assault mode thanks to the ValidateMorphFrom validator term. Added the map in my Morphing Assets project -https://www.sc2mapster.com/projects/morphing-assets. For anyone interested, do have a look into it.

    Posted in: Data
  • 0

    posted a message on [Data,Triggers] Referencing Actors

    The sixth to last attachment for Point 4 in the first post above as attached.

    Posted in: Tutorials
  • 0

    posted a message on [Data,Triggers] Referencing Actors

    Hi, guys,

     

    Below is a simple tutorial on how to reference an actor from another actor via actor events or even triggers.

     

    1. Referencing actor from unit actor with triggers via string or Actor ID.

    Example Usage

    Create a trigger with the following and place a few Oracles as well as some enemy Siege tanks in your map.

     

    Event: Any Unit has Revealed change Create

    Actions: Send message "SetTintColor 255,0,0" to actor (Actor connected to (Actor for (Triggering Unit) via reference "OracleRevelationBehaviorModel")

     

    Do note that the "OracleRevelationBehaviorModel" string is based on the Actor ID.

     

    Next, go to your map and use the Oracle's Revelation ability to reveal the enemy siege tanks. You will notice that the blue reveal model above the tanks now becomes red.

     

    2. Referencing actor from unit actor with triggers via global system referencing.

    Do note that a global actor can only be used to reference one actor at a given time.

    Example Usage

    Place a few Oracles as well as some enemy Siege tanks as in Example 1 in the above.

     

    Next, go to the Oracle Revelation Behavior Model Actor, and under Actor Events, add in the following:-

     

    Actor Creation

    -> RefSet ::global.revelationtest ::Self

    Refer to the second attachment as below.

     

    Then, create a trigger with the following:-

     

    Event: Any Unit has Revealed change Create

    Actions: Send message "SetTintColor 255,0,0" to actor (Actor connected to (Actor for (Triggering Unit) via reference "::global.revelationtest")

     

    Go to your map and use the Oracle's Revelation ability to reveal the enemy siege tanks. You will then realize that there is only one blue reveal model above the siege tanks that becomes red. This shows that global reference will only reference one actor at a time.

     

    3. Referencing actor from actor via target referencing.

    Example Usage

    Place a few Tempests in your map. Then go to the Tempest's Unit Actor and under Actor Events, add in the following:-

     

    Actor Creation

    -> Target:StormSphereAttachment

    -> SetTintColor 255,0,0

    Refer to the fourth attachment as below.

     

    You will notice that the Tempests' blue sphere model now turns red.

     

    4. Referencing actor from actor via signal.

    Example Usage

    Place a few Bunkers in your map. Then go to the Bunker's Unit Actor and under Actor Events, add in the following:-

     

    Actor Creation

    -> Target:OracleRevelationBehaviorModel

    -> Signal Revelation

    Refer to the sixth attachment as below.

     

    Then, go to the Oracle Revelation Behavior Model Actor and under Actor Events, add in the following:-

     

    Signal.*.Revelation

    -> Create

     

    You will notice that a blue reveal model is attached to the bunkers' overhead as shown.

     

    Conclusion

    With the 4 examples as given, I do hope that this simple tutorial will at least help those who still struggle at this topic. 

     

    Lastly, thanks.

     

     

     

     

     

     

     

     

     

    Posted in: Tutorials
  • 0

    posted a message on Coop mission Top Bar UI

    Yes, sure. You can change the model assets under the model name -> 2testmodel and 1testmodel  to change the appearance of the top bar in any way as you wish.

    Posted in: UI Development
  • 0

    posted a message on Coop mission Top Bar UI

    Hi,

     

    Welcome to the SC2Mapster community. With regard to your request on the Coop Commanders Top Bar UI, do have a look at DrSuperEvil's Global Calldown customized top bar UI which draws similarities with the ones from Coop albeit some minor concept differences. The link as below:

     

    https://www.sc2mapster.com/projects/the-assets-of-evil/files/2497486

     

    Thanks.

     

     

    Posted in: UI Development
  • 0

    posted a message on Custom Functions

    Updated.

     

    Example usage for Point 7 in the first post above :-

     

    Create a trigger with the following and place a few Tempests in your map:-

     

    Event : Any Unit Enters (Entire Map)

    Condition : (Unit Type of (Triggering Unit)) == Tempest

    Actions : Send message "SetTintColor 255,0,0" to actor (Return Actor Ref "StormSphereAttachment" from Triggering Unit Actor)

     

    You will notice that the Tempest's blue sphere weapon now turns red.

     

     

    Another Example Usage of Point 7 in the above:-

     

    Create a trigger with the following and place a few Oracles as well as some enemy Siege Tanks in your map:-

     

    Event : Any Unit has Revealed change Create

    Actions : Send message "SetTintColor 255,0,0" to actor (Return Actor Ref "OracleRevelationBehaviorModel" from Triggering Unit Actor)

     

    Next, go to your map and use the Oracle's Revelation ability to reveal the enemy Siege Tanks. You will notice that the blue reveal model above the tanks now becomes red.

     

    Hope that these 2 examples as stated will be of great use to anyone who has troubles linking an attached actor to the triggering Unit Actor as shown. Thanks.

     

     

    Posted in: Triggers
  • 0

    posted a message on Custom Functions

    1. Only returns the owner of the first unit in a unit group

     Hi, it works on my map as attached regardless of the unit index in the unit group. See the trigger -> Squadron Strike Cooldown Reset under the File Bomber Precision Strike in the map as attached. Also, use the Squadron Strike Ability from the Orbital Command and see that the strike platform group cooldown works as intended for player 1 (Owner of the Strike Platform Unit Group). 

     

    Did you save the Unit Group Variable (Global) as a string in the Save Unit Group in the Data Table action?, then use it as a parameter for the Function?.

     

    and assumes the unit group is made of units belonging to only one player.

     Yes. That is working as intended.

    Posted in: Triggers
  • 0

    posted a message on Custom Functions

    Hi, guys,

     

    Below are some of the custom functions which I think might be helpful. I do hope that others will also post in this thread if they do find any other useful functions.

     

    1. Owner of Unit Group

        Options : Functions

        Return Type : Integer

        Parameter : -> Unit Group = (Name from the Global data table)

        Hint Text : Used in Conjunction with Save Unit Group in the data table. Returns the Owner of the Unit Group.

        Action : 

        Unit Group - Pick Each Unit in Unit Group[Parameter] and do Actions

           -> Actions

              General - Return (Owner of (Picked Unit))

        General - Return 0

     

    2. Get Unit Closest to Unit Group with less than Distance

        Options : Function

        Return Type : Unit

        Parameters : Unit = Triggering Unit

                                Unit Group = Empty Unit Group

                                Distance = 0.0

        Hint : This function addresses the Unit from Unit Group that is closest to the triggering unit/main unit with distance of

        less than.

        Actions :-

        If then Else Conditions

            If

            -> Distance between (Position of Unit [Parameter]) and Position of (Closest Unit to (Position of Unit [Parameter]) in

                 Unit Group [Parameter]))) < Distance [Parameter]

            Then

            -> Return (Closest Unit to (Position of Unit [Parameter]) in Unit Group [Parameter])

     

        -> Return No Unit [Preset]

     

    3. Get Created Unit/Magazine Unit from Arm Magazine Ability

        Options : Function

        Return Type : Unit

        Parameters : Ability = No Game Link

        Hint : This function addresses the created unit from the arm magazine ability.

        Used in conjunction with Unit Is Created event.

        Actions:-

        If Then Else Conditions

            If

            -> (Ability that created unit) == Ability [Parameter]

            Then

            -> Return (Created unit)

     

        -> Return No Unit [Preset]

     

    4. Get Magazine Ammo Unit from Unit Effect

        Options : Function

        Return Type : Unit

        Hint : This function addresses the magazine unit from unit.

        Used in conjunction with Effect Used event.

        Actions:-

        Return (Triggering Effect Unit(Target))

     

    5. Return Search Area Effect From Unit On Straight Line Points

        Options : Action

        Return Type : None

        Parameters : 

           -> Effect = No Game Link

           -> Unit = No Unit

           -> Point = No Point

        Grammar Text : Return Search Area Effect (Effect) From Unit (Unit) To Point (Point)

        Local Variables :

           -> Points Array = ((Position of Unit) offset by 500.0 towards (Angle from (Position of Unit) to Point) degrees) <Point[125]>

           -> i = 0

        Actions :

           General - For Each Integer i from 1 to 125 with increment 1, do (Actions)

              Actions

                 Variable - Set Points Array[i] = ((Position of Unit) offset by (i * 4.0) towards (Angle from (Position of Unit) to Point) degrees)

                 Environment - Execute Effect at Points Array[i] from Unit

           

    6. Return Actor Ref from Unit Actor

         Options : Function

         Return Type : Actor

         Parameters : 

            -> Actor ID = ""<string>

            -> Unit Type = No Game Link <Game Link-Unit>

         Grammar Text : Return Actor Ref Actor ID from Unit Actor Unit Type

         Hint Text : Links the Actor Reference from the Unit Actor and used in conjunction with the Unit Enters Region event and the Send Actor Message action.

         Actions :

         If Then Else Conditions

            If

            -> (Unit Type of (Triggering Unit)) == Unit Type

            Then

            -> General - Return (Actor connected to (Actor for (Triggering Unit) via reference Actor ID)

         -> Return No Actor

     

    7. Return Actor Ref from Triggering Unit Actor

         Options : Function

         Return Type : Actor

         Parameters : 

            -> Actor ID = ""<string>

         Grammar Text : Return Actor Ref Actor ID from Triggering Unit Actor

         Hint Text : Links the Actor Reference from the Triggering Unit Actor and used in conjunction with the Unit Enters Region event and the Send Actor Message action. Use this when you already have a condition Unit Type of (Triggering Unit) in the trigger.

         Actions :

            General - Return (Actor connected to (Actor for (Triggering Unit) via reference Actor ID)

     

    Thanks.

     

     

    Posted in: Triggers
  • 0

    posted a message on HotS and LotV Dependencies

    In reply to g79nukedpenguin:

     

    Hi,

     

    Please try Scan and Repair in the Battle.Net Launcher. It will fix corrupted files or patches.

     

    Patch 4.9.3 addressed the Swarm and LOTV dependencies issue, so it shouldn't be a problem.

    Posted in: Data
  • 0

    posted a message on A question about projects.

    One more question,

     

    I just added a project and it stated that it was under review. Roughly, how long is the review process? 

     

    A bit curious to know.

     

    Thanks.

    Posted in: General Chat
  • 0

    posted a message on So the editor seems broken now? Anyone know workaround

    In reply to bilxor:

     

    Hi, William here,

     

    If you have troubles loading Swarm and LOTV dependencies, I suggest that you try Scan and Repair. 

     

    Patch 4.9.3 addressed the Swarm and LOTV dependencies log-in issues.

     

    Thanks.

    Posted in: General Chat
  • 0.93801107887101

    posted a message on Complications with imported Wow Model

    In reply to sc2ggamer:

     Perhaps all I need to do is change the direction of the model in blender
    I suppose you want to keep the model to its default facing. The best method is to re-import and start a new Blender file. Try not to click the LMB or Left Mouse Button anywhere on the screen because doing so will set a new offset away from the model which makes it hard to rotate or animate. Use the mouse scroll to change the direction of your view or to zoom in or out. And click the RMB or Right Mouse Button to select the mesh in object mode or the bones in pose mode.
    In any case, if you wish to rotate the model in Blender, right-click on it, press R then either Z (Z-axis), or Y (Y-axis), or X(X-axis) then specify the degrees of rotation in order to change the facing of the model.
    To select the model in the cutscene editor, simply left-click the model that you have added. To view its model properties, right click on the model, then choose Model Data to view its bones, materials, animations etc. However, having said that, did you happen to delete parts of the model because otherwise, the materials and textures of the model will show, and not just a 'blackish' model or how should I put it as shown in your post as of the above.
    Posted in: Artist Tavern
  • 0

    posted a message on Animations getting deleted when Exporting M3

    Then which Blender m3addon plugin did you use? Is it the Flo plugin? Just curious by the way. There are a few m3addon plugin version for Blender and the one which works for both importing and exporting .m3 models is currently the Flo's version.

     

    One more thing you need to know is you need to set the Frame Rate to 30 fps under Render or else, the animations won't work.

    Posted in: Artist Tavern
  • 0

    posted a message on Animations getting deleted when Exporting M3

    Hi, sc2ggamer,

     

    The animations might still be there. When you have imported back the modified model with animations back to the SC2 Editor, you need to open up the Cutscene Editor under Modules.

     

    Then, locate the file which you have imported under Cutscene (usually under Files -> Assets), then Add the .m3 file to preview the model.

     

    Next, you will notice the blue bar on the bottom on the Cutscene. This is the model animation timeline, usually Stand animation. Right click on this blue bar, and you will notice there is a change animation option. Click on that, and you will see the list of animations for your model.

     

    If this still doesn't work, perhaps it is an export error. Do check if there is any error messages upon exporting the .m3 model from Blender.

     

    Thanks.

    Posted in: Artist Tavern
  • 0

    posted a message on Custom Morphing Animation via Blender

    [Update]

     

    Both the StarFighter and the Arbiter can now morph even while moving or attacking bug-free. For anyone curious about how I did it, I have updated the attachment in my first post above.

     

    It is quite simple actually. Firstly, I created an Effect-Instant ability on top of the morph ability, then add the Effect-Instant ability to the Unit's abilities.

    I then used Triggers with the Unit Uses Ability Event (hereby the Effect-Instant Ability) to issue order for the morph ability with wait times in between. The wait time before the issue order for the morph is crucial or important because the units as mentioned doesn't immediately stop when a stop order is issued thereby causes the bug. The said units will drag a little forward and to avoid this from tampering with the morph duration, this is where a second ability (Effect-Instant) comes in, and by using triggers, order the unit to stop first, then wait for say 1.5 seconds, then issue the unit to morph. 

    Another method can be done by data alone, but it requires behaviours, apply behaviour effect, remove behaviour effect, issue order effect, and so on, and it might be a little complicated if you have not master the data side of the editor. 

     

    [Edit] The latest update now includes an If-Then-Else condition for morph triggers (Effect-Instant ability) which checks the condition if the unit movement speed equals zero, then morph, or else, wait a further 1.5 seconds before morphing. This, I feel, makes the morph smoother in transition when the unit is not moving while morphing.

     

     

     

    Posted in: Data
  • To post a comment, please or register a new account.