HeroEngine Forums
Welcome, Guest. Please login or Register for HeroCloud Account.

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Yallia

Pages: [1] 2
1
Art & Art Pipeline / Re: Question about pbr and quixel
« on: Mar 20, 16, 02:32:00 PM »
Ok thanks, that's what I thought, but I really wanted to make sure!

2
Art & Art Pipeline / Question about pbr and quixel
« on: Mar 20, 16, 01:25:05 PM »
Hi,

One of our modelers uses Quixel in his workflow quite a bit. He asked me if there would be any issues with Hero Engine. I looked into it and from my understanding, as long as he is exporting normal, diffuse and the spec maps only he should be able to plug those into the Hero Material in 3ds max. However, I'm new to Hero Engine though and a quick search didn't yield any similar questions, so I wanted to ask to make sure. I don't want the guy to do all the texturing then find out there's an issue.

Thanks!

3
Art & Art Pipeline / Re: Static Characters as Player Controlled
« on: Mar 15, 16, 02:26:54 PM »
OverridePosture = None, Jumping, Falling, Dead, Knockback, ResurrectTarget, Landing

still throws the error: not a 'variable' input for the lines with change OverridePosture to Something.


4
Art & Art Pipeline / Re: Static Characters as Player Controlled
« on: Mar 15, 16, 01:32:57 PM »
That .aas won't compile, the errors are:

not a 'variable' input referring to OverridePosture
and Enum Swim not found.

I added swim and tried putting variable OverridePosture but it still throws the same errors, so I'm a bit confused. Is there some reason the .aas wouldn't be updating in Heroblade and it's holding on to a previous version? I've tried uploading it while exited out of HeroBlade then opening Heroblade just to make sure it wasn't something weird with the dynamic updating. Here is the .aas:

Code: [Select]
! biped control
!
!this is a super basic template to start with
!add more stuff and make it do something neat!!


channels
{
  AnimAllBody
}

inputs
{
  // Basic inputs used by the HeroEngine_ACCController
  BaseMode = Normal, Combat
  BasePosture = Idle, Turning, Moving, Prone, Dead, Sitting, Kneeling, Alive, Climbing
  MoveType = Normal, Swim
  IdleType = Normal
  MoveDirection = Forward, Backward
  TurnDirection = None, Right, Left
  TurnAmount = None, T45Degrees, T90Degrees, T135Degrees, T180Degrees
  variable AlreadyTurning =  True, False
  variable CurrentMotion = Idle, TurningLeft, TurningRight, Forward, Backward
  variable OverridePosture = None, Jumping, Falling, Dead, Knockback, ResurrectTarget, Landing
}

action Default
{
set(1) AnimAllBody
{
   when OverridePosture {
   
     is Jumping:
       // NOTE: This is also done in a transition above
       //anim "jump"
       //blend .025
       //hold 1
       //looping false
       //FreezeLastSequence true
       change OverridePosture to Falling
       //stop
     is Falling:
       //anim "fall_loop"
       //blend .025
       //hold 1
       //looping false
       //FreezeLastSequence true
      change OverridePosture to Landing
       //stop
     is Landing:
       //anim "fall_landing"
       //blend .1
       //hold .5
       //looping false
       change OverridePosture to None
       //stop
   }
when BasePosture {
      is Idle:
        when MoveType {
        is Swim:
          //anim "swim_idle"
        DEFAULT:
        anim "idle"
        align False
        blend 0.25
        hold 0.25 seconds recycle
        looping True
        change AlreadyTurning to False
        change CurrentMotion to Idle
       
        }
       

    is Turning:
         when TurnDirection {
         is Right:
         when TurnAmount {
          is T45Degrees:
            anim "T45Right"
          is T90Degrees:
            anim "T90Right"
          is T135Degrees:
            anim "T135Right"
          is T180Degrees:
            anim "T180Left"
          }
          change CurrentMotion to TurningRight
         is Left:
          when TurnAmount {
          is T45Degrees:
            anim "T45Left"
          is T90Degrees:
            anim "T90Left"
          is T135Degrees:
            anim "T135Left"
          is T180Degrees:
            anim "T180Left"
          }
          change CurrentMotion to TurningLeft
         }
         hold 1.0
         if (AlreadyTurning = True) {
         align True   
         }
         else {   
         blend 0.1
         align False
         }
         looping False
         change AlreadyTurning to True
      is Dead:
        //anim "dead"
      is Moving:
        when MoveDirection {
        is Forward:
          when MoveType {
          is Swim:
            //anim "swim"
          DEFAULT:
         anim "Forward"
          }
          blend 0 
          hold 0 seconds
          change CurrentMotion to Forward
        is Backward:
          when MoveType {
          is Swim:
            //anim "swim"
          DEFAULT:
            anim "Backward"
          }
          blend 0.25
          hold 0.25 seconds 
          change CurrentMotion to Backward 
        }
        looping True
        change AlreadyTurning to False
      }
}
}

5
Art & Art Pipeline / Re: Static Characters as Player Controlled
« on: Mar 13, 16, 09:16:46 PM »
Any idea on how to stop this:

22:13:19: SCRIPT:[E_ACCControllerClassMethods]:E_ACCControllerClassMethods line 993 (_onPostAnimUpdate) has determined I should be falling

It's just constantly throwing that message, it keeps trying to snap to ground even though I'm on the ground.

Thanks, at least I'm now able to move so that's a huge plus!

6
Art & Art Pipeline / Re: Static Characters as Player Controlled
« on: Mar 13, 16, 05:37:31 PM »
Ok that is working now! Thanks so much, I think another problem I was having is that with the select tool you can select the red circle under the npc or the npc itself, and I was doing the former instead of the latter sometimes.

7
Art & Art Pipeline / Re: Static Characters as Player Controlled
« on: Mar 13, 16, 04:20:41 PM »
.aas:
Code: [Select]
! biped control
!
!this is a super basic template to start with
!add more stuff and make it do something neat!!


channels
{
  AnimAllBody
}

inputs
{
  animation = Idle
 
  // Basic inputs used by the HeroEngine_ACCController
  BaseMode = Normal, Combat
  BasePosture = Idle, Turning, Moving, Prone, Dead, Sitting, Kneeling, Alive, Climbing
  OverridePosture = None, Jumping, Falling, Dead, Knockback, ResurrectTarget, Landing
  MoveType = Normal
  IdleType = Normal
  MoveDirection = Forward, Backward
  TurnDirection = None, Right, Left
  TurnAmount = None, T45Degrees, T90Degrees, T135Degrees, T180Degrees
  variable AlreadyTurning =  True, False
  variable CurrentMotion = Idle, TurningLeft, TurningRight, Forward, Backward
}

action Default
{
set(1) AnimAllBody
{
when BaseMode {
    is Normal:   
      when BasePosture {
      is Idle:
        when MoveType {
        is Normal:         
          anim "idle"
        }
        align False
        blend 0.25
        hold 0.25 seconds recycle
        looping True
        change AlreadyTurning to False
        change CurrentMotion to Idle

      is Turning:
        when TurnDirection {
        is Right:
          when TurnAmount {
          is T45Degrees:
            anim "T45Right"
          is T90Degrees:
            anim "T90Right"
          is T135Degrees:
            anim "T135Right"
          is T180Degrees:
            anim "T180Left"
          }
          change CurrentMotion to TurningRight
        is Left:
          when TurnAmount {
          is T45Degrees:
            anim "T45Left"
          is T90Degrees:
            anim "T90Left"
          is T135Degrees:
            anim "T135Left"
          is T180Degrees:
            anim "T180Left"
          }
          change CurrentMotion to TurningLeft
        }
        hold 1.0
        if (AlreadyTurning = True) {
          align True   
        }
        else {   
          blend 0.1
          align False
        }
        looping False
        change AlreadyTurning to True

      is Moving:
        when MoveDirection {
        is Forward:
          when MoveType {
          is Normal:
            anim "Forward"
          }
          blend 0 
          hold 0 seconds
          change CurrentMotion to Forward
        is Backward:
          when MoveType {
          is Normal:
            anim "Backward"
          }
          blend 0.25
          hold 0.25 seconds 
          change CurrentMotion to Backward 
        }
        looping True
        change AlreadyTurning to False
      }
      }
}
}


I am in select mode, I see a yellow box around the model as well as a purple/bluish box.

8
Art & Art Pipeline / Re: Static Characters as Player Controlled
« on: Mar 13, 16, 03:56:34 PM »
Ok, so I'm closer now! I added Combat back to the .aas and some others (landing for example) to get rid of any errors. The NPC will now appear, and I can possess it. It will turn fine, but no forward/backward movement. The key W rotates, so is it a keybinding issue? I couldn't find any keys on the keyboard that would cause forward/backward movement. The other thing I noticed was that I still can't use the Animation Panel. I add the animations.dat set but still nothing. I noticed that when I add the animations.dat and select a movement (e.g. Backward) in the Animation Set tab it says in the bottom panel Backward.gr2, I don't know why it's trying to reference a .gr2, so I clicked the ... button and browsed to Backward.hgm and did that for all the Animations and clicked Commit Changes, but still no forward movement. Also, when I first add the ship as an NPC it does move forward/backward turning on some default path, my idle animation is actually a slow moving forward animation, however when I possess it all movement except turning is gone. Any ideas? So close, and thanks for your help and that link to the other post!

9
Art & Art Pipeline / Re: Static Characters as Player Controlled
« on: Mar 13, 16, 02:11:37 PM »
Ok, so fixing True/False solved the braces issue. Now it throws

ERROR:System:  FAILURE: stop of [Idle.gr2] attempted when it was not playing
ERROR:System:Input [BaseMode] does not have enum handle [Combat]!
ERROR:System:BehaviorBase: Attempt to set input [BaseMode] to [Combat] failed, enum not valid for this input (node=9223372057850022158).
SYSTEM:System:AnimSeqAbilityApplyAnimation[idle] had animation [Idle] but it was not ready. (Return false to fallback)

Idle.gr2 doesn't exist, Idle.hgm does though, I'm confused on why it's referencing a .gr2. The Combat issues makes sense I think because I removed Combat in the .aas and the npc expecting combat to exist correct? And the solution is write some game specific code that doesn't want combat?

10
Art & Art Pipeline / Re: Static Characters as Player Controlled
« on: Mar 13, 16, 01:41:38 PM »
Ok so it's throwing these errors:


ERROR:System:AAS error at line 45: Enum [False] not found
ERROR:System:AAS error at line 76: Enum [True] not found
ERROR:System:AAS error at line 79: Expected statement or closing brace
ERROR:System:AAS error at line 84: Enum [True] not found
ERROR:System:AAS error at line 86: Expected }
ERROR:System:AAS error at line 103: Enum [Backward] not found
ERROR:System:AAS error at line 106: Enum [False] not found
ERROR:System:AAS error at line 108: Closing brace without an open brace
ERROR:System:AAS error at line 109: Closing brace without an open brace
ERROR:System:AAS error at line 110: Closing brace without an open brace
ERROR:system:Unable to compile AnimAgent script!

I've doubled checked the braces, they have matching closing/opening, I don't know what that's about, I'm using Geany to edit them and it will highlight red if there's no matching brace. Everything appears correct. The True/False was a case sensitive issue I fixed.

11
Art & Art Pipeline / Re: Static Characters as Player Controlled
« on: Mar 13, 16, 01:05:25 PM »
I removed the file extension from the .asq's but same thing. Once I made my model (skin+bones) following the static character tutorial I exported it by using the Static Character Option and Export Hidden. Then I opened up the Animation Tools at the bottom of the exporter, did the animations and the selected Export Multiple. I assumed that export multiple was exporting as Animation (VDA), and since it viewed fine in HeroViewer I figured I was right. Was this the wrong thing to do? It was a little confusing having to cross correlate info between the Animation Tutorial and the Animation Panel wiki pages, where the Animation Panel is only discussed in one line of the Tutorial, so I could have easily done something wrong.

Thanks

12
Art & Art Pipeline / Re: Static Characters as Player Controlled
« on: Mar 12, 16, 09:43:46 PM »
Ok so I made those changes to my .aas file (see code). And I uploaded it again, no errors on upload. I added the character to the registry using F5, then added it as an NPC. I also made sure to add a new animation set like you said and browsed to the animations.dat. All the animations are listed in the Animation Set tab, but when I go to the Animation Control Tab everything is still disabled. I can possess the model now though, however all controls are dead, presumably for the same reason I can't use the Animation Control tab. No errors are being logged though. Is it maybe not reading the .asq files, also yes there are .hgm's for each animation.

Any thoughts?

Thanks for all your help thus far!

New .aas:

Code: [Select]
! biped control
!
!this is a super basic template to start with
!add more stuff and make it do something neat!!


channels
{
  AnimAllBody
}

inputs
{
  animation = Idle
 
  // Basic inputs used by the HeroEngine_ACCController
  BaseMode = Normal
  BasePosture = Idle, Turning, Moving
  OverridePosture = None
  MoveType = Normal
  IdleType = Normal
  MoveDirection = Forward, Backward
  TurnDirection = None, Right, Left
  TurnAmount = None, T45Degrees, T90Degrees, T135Degrees, T180Degrees
  variable AlreadyTurning =  true, false
  variable CurrentMotion = Idle, TurningLeft, TurningRight, Forward, Backingup
}

action Default
{
set(1) AnimAllBody
{
when BaseMode {
    is Normal:   
      when BasePosture {
      is Idle:
        when MoveType {
        is Normal:         
          anim "idle"
        }
        align False
        blend 0.25
        hold 0.25 seconds recycle
        looping True
        change AlreadyTurning to False
        change CurrentMotion to Idle

      is Turning:
        when TurnDirection {
        is Right:
          when TurnAmount {
          is T45Degrees:
            anim "T45Right"
          is T90Degrees:
            anim "T90Right"
          is T135Degrees:
            anim "T135Right"
          is T180Degrees:
            anim "T180Left"
          }
          change CurrentMotion to TurningRight
        is Left:
          when TurnAmount {
          is T45Degrees:
            anim "T45Left"
          is T90Degrees:
            anim "T90Left"
          is T135Degrees:
            anim "T135Left"
          is T180Degrees:
            anim "T180Left"
          }
          change CurrentMotion to TurningLeft
        }
        hold 1.0
        if (AlreadyTurning = True) {
          align True   
        }
        else {   
          blend 0.1
          align False
        }
        looping False
        change AlreadyTurning to True

      is Moving:
        when MoveDirection {
        is Forward:
          when MoveType {
          is Normal:
            anim "Forward"
          }
          blend 0 
          hold 0 seconds
          change CurrentMotion to Forward
        is Backward:
          when MoveType {
          is Normal:
            anim "Backward"
          }
          blend 0.25
          hold 0.25 seconds 
          change CurrentMotion to Backward 
        }
        looping True
        change AlreadyTurning to False
      }
      }
}
}


Example of .asq:

Code: [Select]
!
! Animation Sequence Spec
! template Sequence generated by Max or Maya output
Version=1
[ABILITIES]
  Apply Animation
    .Animation=Backward.hgm
    .InitialSpeed=1
    .InitialLoop=true
    .InitialAlign=true
    .VDA=false

13
Art & Art Pipeline / Re: Static Characters as Player Controlled
« on: Mar 12, 16, 06:08:30 PM »
Ok, I'm getting there lol. So I made animations Idle, Forward, Backward, T45Left, T45Right, T90Left, T90Right, T135Left, T135Right and T180Left, and setup the .aas, .dat, and .asq (attached to post). I've attached those in this post. I tested in the HeroViewer and everything looked good. I uploaded everything and double checked the file hierarchy and placement of assets. Now, this didn't occur to me before but what is the easiest way to test it in HeroBlade? My idea was just make it an NPC and then possess it, but when I try that (using F5-->Character Spec Registry, Add, then Create NPC). It appears in the game, but I can't possess because it says unable to resolve to a valid character. Then I tried selecting it to bring it up in the Animation Panel and everything is just grayed out. The asq's are all the same as the template idle.asq except pointing to the correct file location for that animation. I didn't modify much in the .aas as I'm simply trying to get it to display at this point. Do I need to bring it in as player controlled model via the character creation/selection system? Sorry for all the questions, I'm sure it's a smooth process once you learn it, which in my case will hopefully be soon.

Thanks

14
Art & Art Pipeline / Re: Static Characters as Player Controlled
« on: Mar 12, 16, 12:06:37 PM »
Question: If

// Basic inputs used by the HeroEngine_ACCController
  BaseMode = Normal, Combat
  BasePosture = Idle, Turning, Moving, Prone, Dead, Sitting, Kneeling, Alive, Climbing
  OverridePosture = None, Jumping, Falling, Dead, Knockback, ResurrectTarget
  MoveType = Normal, Swim
  IdleType = Normal
  MoveDirection = Forward, Backward
  TurnDirection = None, Right, Left
  TurnAmount = None, T45Degrees, T90Degrees, T135Degrees, T180Degrees

Then what happens if I bring in a character without all those options? My static character (a ship) has forward, backward, turn 45 right/left, I could add more but I don't really need to at the moment to test things. Those animations are working fine in HeroViewer, but before I brought them into HeroBlade I wanted to know what would occur. Should I just make a new controller X_ACCController and remove everything I don't need or is that a waste of time if you're just testing something? The other thing is how to do make an idle animation for an object that is stopped (no character animation) when idle?

I'm also a little confused on the animation work flow process. In the Animating Characters Tutorial it states

"It is important to note here, that All of the code you see on this page involving ASQ sequences no longer needs to to be edited by hand. The animation panel in the engine now handles all the editing of these nodes."

So I read that to mean people typically use the Animation Panel nowadays to set up the ASQs, at the end of the Animation Characters Tutorial it states

"Now that your animations have been properly created and you have animation sequences(.asq) and your animationset.dat set up, you can wire them all together in the animation agent (.aas)."

So by that logical you need to export your animations, set up the .dat, then bring them into HeroBlade and use the Animation Panel to set up ASQs then go to the AAS for wiring. But when you go to the AAS page it says:

"The HeroBlade Animation Panel allows you to look at all of the character animations that have been set up through the Animation Agent Script for a particular character"

That doesn't make sense to me based on previous statements. How can you use the Animation Panel to look at animations wired with AAS when according to the Animation Tutorial you use the Animation Panel to set up the ASQs, which is the step prior to wiring with AAS? The statement implies the Animation Panel is the last step yet the Animation Tutorial is saying that the Animation Panel can be used in the intermediate step of setting up ASQs. Can anyone help clarify the correct workflow?

Thanks!
 

15
Art & Art Pipeline / Re: Static Characters as Player Controlled
« on: Mar 10, 16, 02:09:43 PM »
Thanks for your advice, I'm going to go ahead and give that a shot this afternoon. In your original post, do you have an idea which implementation is less expensive resource wise? I'm guessing the second option of updating node position by modifying the input_movement would be less costly than playing animations constantly for movement. Also what are these skype channels you speak of?

Thanks!

Pages: [1] 2