Hey Ryan!
It's just for individuals or can I do this with a buddy? (and fight over the prize a-la double dragon)
Bruno,
I dont think we ever decided if teams are allowed so I say go for it! The only thing you have to keep in mind is if your team wins the prize will still only be one trophy and one amex card. So some one will have to be the point of contact for that.
Is there any chance of a windmill animation vid, or is that opening up a can of worms?
And do we have to start a new topic for a different entry? Thanks
James,
I will try to put this together and transports early next week. In short you will export a model with a bone skinned animation. By going to File Export Selected (with bones+mesh selected). Then select .model and in animation dialog choose bone and enter the fields there. For the windmill it is just the shaft.
Then to test you can place the model in the level and attach a lua script to it then browse for the script and you want animate.lua. You will change the property fields below to change the animation name to whatever you specified in the export dialog. Then you will set the play speed you want it to play at. Press play and you should see it animating. Last step is to expose the bone you will attach the physics objects to as children. With the animated object selected go to the properties panel then go to exposed bones drop down and check the driving bone.
The next step is exporting the blades to work as physics items that interact with the ball, for this export the object you want as a .model. place it in the engine then place it so it is aligned where you want it to start with your animated object. Pivots and biasing on export make this easier and are important. Then once aligned in the shape view panel (top left) drag your object over the bone name and it will now be a child and move with the bone.
Last step is to put a rigidbody component on your object and mark the Motion Type to Keyframed in the component properties.
I know that is a lot but it all goes really quickly, as said i will have a video next week.
So the windmill explanation is a little overwhelming for me since I am still a noob at most of this stuff, but i think i follow it. is creating a simple rotate animation more easily achieved? For example I would like part of the course to simply rotate around its center at a set speed. Is this easily achieved in the engine or should I create the animation in blender and import it?
Second, can that animation be connected to a trigger such that it starts/stops based on the ball reaching a certain trigger box?
Finally, can the camera angle and position be connected to triggers so that the user's view moves about the course as they play through it?
Or am I perhaps biting off entirely more than I can chew?
Thanks Ryan, that's pretty helpful and actually I was thinking about having to use one of the animation tools to have to use .anim/vTransition/.hkt files. But it can be done with just a model and a script.
Is there any chance you could do the export from Blender or at least put up a workable file on the github. So we have the blender part right for the workflow. It can all go a bit wrong there so a working example will be extremely helpful.
(-I was going to say if possible a version of the golf ball .obj should be fine as I had a hell of a time getting it to run around my helter skelter, though it does work now, it might make someone's life a lot easier.
I certainly think a trigger box for the play animation will be great.
@Ewing, if you look at the Proxy_Holeadvanced.scene and click on the waterMill.model it has no armature attached, but under the 'Components' tab of the 'Scripting Layout' boxes on the right hand side of Vforge, it has a Lua script attached 'Animate.lua'.
I've got a similar model in mind, so I'm going to test it, but I don't think there are any other prerequisites than that, unless "rotorSpin" and "VAnimationComponent" make any references that you have to do anything about.
If fact it has the term 'WaterSpin' in the component panel instead.
i ran into an strange problem using the tools inside 3ds max. Every time i open 3ds max the toolbar show up but then it moves down to the bottom of my screen and disappears. Even if i klick on show toolbar under the Havok Content Tools it wont show up. Any ideas how to solve this problem?
Is it possible to import a light map calculated externally in the engine? Might be me, but I don't manage to get the result i want with vlux =/ (mainly the control of the ao).
Ezmeow it is possible! In the export options you will see lightmap uvs. You can specify a custom channel then in engine using the visual shader editor you can make a shader using your lightmap instead.
Is there a way to see the collision mesh that was created for a static mesh I exported with the "default" setting?
I have a slope in my scene and I'm not sure if it's just the angle of the slope that's the problem or if the ball collides with the collision in a weird manner...
Is there a way to see the collision mesh that was created for a static mesh I exported with the "default" setting?
I have a slope in my scene and I'm not sure if it's just the angle of the slope that's the problem or if the ball collides with the collision in a weird manner...
Grindy this may need some welding, by default it is off.
If you select the mesh then change the welding type to AntiClockwise it should help the collision weirdness.
If it doesn't you can always use the visual debugger (a tool provided in project anarchy through the start menu). Then set it up to connect to vforge to see all the collision and interactions.
Changing the WeldingType to AntiClockwise has fixed my collision problem, I'll still have to rework the slope but at least now it's not hitting an invisible wall anymore!
If you select the mesh then change the welding type to AntiClockwise it should help the collision weirdness.
I was wondering about that. I saw all the assets in the example scenes collision was set to AntiClockwise. So I just set all my collisions to that too. And so far I haven't really had any strange problems with my collision. I'm curious though, how would you know when to set it to something different, like Clockwise for example?
If you select the Camera shape then go to components you will see a few new values to edit and tweak such as offset from the ball and height from green, rotation speed and much more.
The keys in the engine to use things are:
Z- Zoom out (you can not hit while zoomed out)
A,S = Move left and right you will not be able to hit while you are moving camera rotation.
Don't worry I'll find a way(but maybe some other people will want it locked).
But on the camera request topic, is that possible to have the Z zoom out to a specific point rather than relative to the golf ball?
I'd like to zoom out to always have an overview of the course, centered on it. Right now if the ball is on the extreme left of the course for example, it will zoom out showing half of an area not relevant to the game =/
Ryan/Mangled: Is using the stock gameplay logic a requirement?
If we alter that to have a more mobile camera or say a ball with less friction, will that affect the validity of our entry in any way?
I know this is primarily an art competition, but when playing the samples I really wanted to make some handling changes.
Is there any way in which I could get help for gaining a specific effect? I realized sometimes my walls in my golf course could be high, and they might obstruct player view at times. There's an effect in Super Mario Sunshine when Mario is behind a mesh and the player camera cannot see him directly. A darkened silhouette of him will be seen so that the player knows where the character is.
Here's an example:
I was wondering how could I achieve this with the golf ball, or if anyone could help me out. Thank you in advance!
You now have new tweak fields for camera if you select the camera shape -> go to components -> then select the Mainlogic.lua field.
camRotationSpeed: how fast you want the camera to rotate.. Use 0 if you want no rotation
camRotationStart: The direction you want the camera to start at
camFixedObjectKey: You can now use this to have a fixed zoom out location if it is left "" then it will zoom out from the ball based off the camFarDist. To have a fixed location you can place a blank entity in the scene and then align it where you want. Then go to properties and give it an object key name. IMPORTANT it uses the object key name not the shape name. Also be sure to have it start and end in "
camFixedUseRotation: true or false is valid options here. If it is set to true then it will use the object specified in camFixedObjectKey. If it is left at false then it will keep the rotation looking at the ball
I have also added a camera model proxy/gizmo to help place the zoom out camera if you want to use that.
Ryan/Mangled: Is using the stock gameplay logic a requirement?
If we alter that to have a more mobile camera or say a ball with less friction, will that affect the validity of our entry in any way?
I know this is primarily an art competition, but when playing the samples I really wanted to make some handling changes.
Vailias,
After talking this over we would prefer you do not mess with the mainlogic as we will have to merge this together. HOWEVER you are free to add any scripts on top of this to edit ball friction behavoir. If there is something missing from the main logic, we can evaluate adding it for you. But with ball friction that can easily be done in a side script.
Free of that you are free to change any values, properties, or exposed script values. Again if you are missing something from the Main logic hit us up!
Is there any way in which I could get help for gaining a specific effect? I realized sometimes my walls in my golf course could be high, and they might obstruct player view at times. There's an effect in Super Mario Sunshine when Mario is behind a mesh and the player camera cannot see him directly. A darkened silhouette of him will be seen so that the player knows where the character is.
Here's an example:
I was wondering how could I achieve this with the golf ball, or if anyone could help me out. Thank you in advance!
Does adding camera rotation mentioned in the last page help this. We maybe able to look at a shader if needed.
Are there any limits on lighting or glowing materials? I was thinking about having a part of an object light up but I'm not sure if that goes against the low poly look.
@Ryan,
Is it actually possible to create a ferris wheel with boats so essentially things swinging off the end of the windmill blades. I can get the constraints system to work and the rotating wheel.
I have (rotating non rigid body) wheel.model with child arm.model (HRB, fixed) and child anchor
boat.model (HRB, dynamic) with child anchor
Placed the chain constraint (path renderer (cable))(to group) , though the boat just falls off.
It is just a fact that for the top fixing to be a HRB it cannot be fixed to something rotating or it falls off.
I have thought of a completely mental way of doing it, but no doubt it'll be as experimental and watching how many bits of something you can you make fall apart.
Swing boats will work along the 'swing ball' concept.
James,
Sounds like you made it a far way. This is a hard one to look out with out seeing the project you can PM me if needed.
If it is a ferris wheel I may consider just animating the ferris wheel then animated the swing in. This way you get very predictable results at a lower performance cost.
New UPDATE! I have added a video that several of you requested. It covers how I set up the animation of the windmill with workign physics parts and it also covers how to set up ball transports.
Important! The video covers this, but I had to change the script for the transports to make it easier and more expandable (more then 2). So it may require you to get an updated version of the project from git hub for the Hole advanced to work with the new script posted here. Also if you already setup transports you will need to do a quick edit to put the object key in the exposed script variable:
And another question .
It seems that I don't manage to export the vertex alpha, vertex color is fine but playing with the visual shader editor, the vertex alpha don't display me anything.
Is there anything specific to do at export or am I just doing something wrong?
(and thanks for the camera script and the new animation tutorial .)
Ez,
Just tested vert alpha is supported, however you need to change the blending from opaque to alphablending (I marked the area in red). I also noticed a bug that if you change that setting you need to manually recompute the shader or disconnect/reconnect a node to get it to recompute.
Oh cool.
My initial though was to use it for a mask rather than transparency, so I didn't think about that at all.
I'll test that tonight once I go home.
Thanks!
Edit:
Also there is a nasty bug in the VSE. If one of your shaders in a shader library does not compile right it will make all the shaders not compile. This is important to keep in mind if you have tests that you have abandoned and dont compile properly.
Noticed a bug with the camera. If you have the engine in "default layout" the camera will be at a different offset distance from the ball then if you're in "Play the Game Layout".
Noticed a bug with the camera. If you have the engine in "default layout" the camera will be at a different offset distance from the ball then if you're in "Play the Game Layout".
Interesting I will have to look why that is... I would trust the default layout more
Replies
Bruno,
I dont think we ever decided if teams are allowed so I say go for it! The only thing you have to keep in mind is if your team wins the prize will still only be one trophy and one amex card. So some one will have to be the point of contact for that.
Edit: please post the fight if winning occurs
-Ryan
And do we have to start a new topic for a different entry? Thanks
I will try to put this together and transports early next week. In short you will export a model with a bone skinned animation. By going to File Export Selected (with bones+mesh selected). Then select .model and in animation dialog choose bone and enter the fields there. For the windmill it is just the shaft.
Then to test you can place the model in the level and attach a lua script to it then browse for the script and you want animate.lua. You will change the property fields below to change the animation name to whatever you specified in the export dialog. Then you will set the play speed you want it to play at. Press play and you should see it animating. Last step is to expose the bone you will attach the physics objects to as children. With the animated object selected go to the properties panel then go to exposed bones drop down and check the driving bone.
The next step is exporting the blades to work as physics items that interact with the ball, for this export the object you want as a .model. place it in the engine then place it so it is aligned where you want it to start with your animated object. Pivots and biasing on export make this easier and are important. Then once aligned in the shape view panel (top left) drag your object over the bone name and it will now be a child and move with the bone.
Last step is to put a rigidbody component on your object and mark the Motion Type to Keyframed in the component properties.
I know that is a lot but it all goes really quickly, as said i will have a video next week.
-Ryan
Second, can that animation be connected to a trigger such that it starts/stops based on the ball reaching a certain trigger box?
Finally, can the camera angle and position be connected to triggers so that the user's view moves about the course as they play through it?
Or am I perhaps biting off entirely more than I can chew?
Thanks for the great support this far!
Is there any chance you could do the export from Blender or at least put up a workable file on the github. So we have the blender part right for the workflow. It can all go a bit wrong there so a working example will be extremely helpful.
(-I was going to say if possible a version of the golf ball .obj should be fine as I had a hell of a time getting it to run around my helter skelter, though it does work now, it might make someone's life a lot easier.
I certainly think a trigger box for the play animation will be great.
@Ewing, if you look at the Proxy_Holeadvanced.scene and click on the waterMill.model it has no armature attached, but under the 'Components' tab of the 'Scripting Layout' boxes on the right hand side of Vforge, it has a Lua script attached 'Animate.lua'.
I've got a similar model in mind, so I'm going to test it, but I don't think there are any other prerequisites than that, unless "rotorSpin" and "VAnimationComponent" make any references that you have to do anything about.
If fact it has the term 'WaterSpin' in the component panel instead.
Also do dynamic lights have shadows at all? I'm missing where to click those on at.
I can help you with this next week hit me up with a pm so we can chat and see what you need.
I have a slope in my scene and I'm not sure if it's just the angle of the slope that's the problem or if the ball collides with the collision in a weird manner...
Did you download the havok content tools? The first video in the tutorials should cover what packages you need.
Grindy this may need some welding, by default it is off.
If you select the mesh then change the welding type to AntiClockwise it should help the collision weirdness.
If it doesn't you can always use the visual debugger (a tool provided in project anarchy through the start menu). Then set it up to connect to vforge to see all the collision and interactions.
-Ryan
Thanks for the help Ryan.
I was wondering about that. I saw all the assets in the example scenes collision was set to AntiClockwise. So I just set all my collisions to that too. And so far I haven't really had any strange problems with my collision. I'm curious though, how would you know when to set it to something different, like Clockwise for example?
I think currently anticlockwise is the only one working correctly, so for now its your only option.
To answer your question though you would use the visual debugger tool and look at the welds/contact points and tell from there which one is best!
-Ryan
We are working on adding this today and should have an updated script for everyone soon!
-Ryan
Many of you have requested camera rotation. We have added that today you can simply replace the code in this file with your Mainlogic.lua file:
https://github.com/projectanarchy/minigolf/blob/master/Assets/Scripts/MainLogic.lua
If you select the Camera shape then go to components you will see a few new values to edit and tweak such as offset from the ball and height from green, rotation speed and much more.
The keys in the engine to use things are:
Z- Zoom out (you can not hit while zoomed out)
A,S = Move left and right you will not be able to hit while you are moving camera rotation.
All the best and hope this helps people!
-Ryan
Well thats no good! We will add an option to lock rotation. So dont worry about the extra work
But on the camera request topic, is that possible to have the Z zoom out to a specific point rather than relative to the golf ball?
I'd like to zoom out to always have an overview of the course, centered on it. Right now if the ball is on the extreme left of the course for example, it will zoom out showing half of an area not relevant to the game =/
If we alter that to have a more mobile camera or say a ball with less friction, will that affect the validity of our entry in any way?
I know this is primarily an art competition, but when playing the samples I really wanted to make some handling changes.
Is there any way in which I could get help for gaining a specific effect? I realized sometimes my walls in my golf course could be high, and they might obstruct player view at times. There's an effect in Super Mario Sunshine when Mario is behind a mesh and the player camera cannot see him directly. A darkened silhouette of him will be seen so that the player knows where the character is.
Here's an example:
I was wondering how could I achieve this with the golf ball, or if anyone could help me out. Thank you in advance!
https://github.com/projectanarchy/minigolf/blob/master/Assets/Scripts/MainLogic.lua
Due to some more requests we have added some more camera features
You now have new tweak fields for camera if you select the camera shape -> go to components -> then select the Mainlogic.lua field.
camRotationSpeed: how fast you want the camera to rotate.. Use 0 if you want no rotation
camRotationStart: The direction you want the camera to start at
camFixedObjectKey: You can now use this to have a fixed zoom out location if it is left "" then it will zoom out from the ball based off the camFarDist. To have a fixed location you can place a blank entity in the scene and then align it where you want. Then go to properties and give it an object key name. IMPORTANT it uses the object key name not the shape name. Also be sure to have it start and end in "
camFixedUseRotation: true or false is valid options here. If it is set to true then it will use the object specified in camFixedObjectKey. If it is left at false then it will keep the rotation looking at the ball
I have also added a camera model proxy/gizmo to help place the zoom out camera if you want to use that.
-Ryan
Vailias,
After talking this over we would prefer you do not mess with the mainlogic as we will have to merge this together. HOWEVER you are free to add any scripts on top of this to edit ball friction behavoir. If there is something missing from the main logic, we can evaluate adding it for you. But with ball friction that can easily be done in a side script.
Free of that you are free to change any values, properties, or exposed script values. Again if you are missing something from the Main logic hit us up!
Does adding camera rotation mentioned in the last page help this. We maybe able to look at a shader if needed.
Is it actually possible to create a ferris wheel with boats so essentially things swinging off the end of the windmill blades. I can get the constraints system to work and the rotating wheel.
I have (rotating non rigid body) wheel.model with child arm.model (HRB, fixed) and child anchor
boat.model (HRB, dynamic) with child anchor
Placed the chain constraint (path renderer (cable))(to group) , though the boat just falls off.
It is just a fact that for the top fixing to be a HRB it cannot be fixed to something rotating or it falls off.
I have thought of a completely mental way of doing it, but no doubt it'll be as experimental and watching how many bits of something you can you make fall apart.
Swing boats will work along the 'swing ball' concept.
Sounds like you made it a far way. This is a hard one to look out with out seeing the project you can PM me if needed.
If it is a ferris wheel I may consider just animating the ferris wheel then animated the swing in. This way you get very predictable results at a lower performance cost.
Regardless PM me and we can look at it.
-Ryan
E.g. For my course I have modified the value for the 'hitImpulse'.
You can edit those all you need!
I have added a video that several of you requested. It covers how I set up the animation of the windmill with workign physics parts and it also covers how to set up ball transports.
Important!
The video covers this, but I had to change the script for the transports to make it easier and more expandable (more then 2). So it may require you to get an updated version of the project from git hub for the Hole advanced to work with the new script posted here. Also if you already setup transports you will need to do a quick edit to put the object key in the exposed script variable:
https://github.com/projectanarchy/minigolf/blob/master/Assets/Scripts/Trig_Transports.lua
The video is located here:
http://bcove.me/m69vukvg
-Ryan
It seems that I don't manage to export the vertex alpha, vertex color is fine but playing with the visual shader editor, the vertex alpha don't display me anything.
Is there anything specific to do at export or am I just doing something wrong?
(and thanks for the camera script and the new animation tutorial .)
Just tested vert alpha is supported, however you need to change the blending from opaque to alphablending (I marked the area in red). I also noticed a bug that if you change that setting you need to manually recompute the shader or disconnect/reconnect a node to get it to recompute.
Pic or it didnt happen!
My initial though was to use it for a mask rather than transparency, so I didn't think about that at all.
I'll test that tonight once I go home.
Thanks!
Regardless looks like the info is there
Edit:
Also there is a nasty bug in the VSE. If one of your shaders in a shader library does not compile right it will make all the shaders not compile. This is important to keep in mind if you have tests that you have abandoned and dont compile properly.
Interesting I will have to look why that is... I would trust the default layout more
As I said for now I would just trust the default layout