• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[General] Thermal Vision

Status
Not open for further replies.
You can turn the units red by modifying their vertex color (Animation - Set Unit Vertex Color), but that's about it. Otherwise, the best option would be to use an animation to turn them red, but I don't know how to do that (or whether it is even possible).

Alternatively, you can create a red skin for each unit type on your map and then morph them whenever you need the thermal vision on, but that might be pretty tedious if your map has a lot of unit-types.
 
Level 7
Joined
Nov 14, 2012
Messages
154
Easiest solution: change the DNC models.

Use the TerrainDNC to make the terrain green/blue and the UnitDNC model to make the units red.


Here's a tutorial on DNC models; you don't need them animated in your case, though, so you can just use a constant color:
http://www.hiveworkshop.com/forums/3d-modeling-tutorials-282/animated-dnc-light-models-221425/

Well, I mean for the actual screen. Like, I can get the cinematic filter creating a blue screen, and a ping system picking up any units in the area but I'd like to have it so enemies are red, neutral units yellow and allies are green.

Is that possible?

EDIT: Also, is there a way to restrict the cinematic filter to just One player. Whenever it turns on, it also is turned on for every other player.

Anyone else have any ideas? I'm dumbfounded on what to do, is there any third party programs or Something I can use to accomplish this?
 
Well, I mean for the actual screen. Like, I can get the cinematic filter creating a blue screen, and a ping system picking up any units in the area but I'd like to have it so enemies are red, neutral units yellow and allies are green.

Is that possible?
Yes, with customized DNC models.

For the units to be colored individually, you can use the default DNC for them and use Vertex coloring instead. You'd still need the customized terrain DNC for the blue terrain.

EDIT: Also, is there a way to restrict the cinematic filter to just One player. Whenever it turns on, it also is turned on for every other player.
Use
  • Set TempPlayer = whatever
  • Custom Script: if GetLocalPlayer() == udg_TempPlayer then
  • apply the filter inside here
  • Custom Script: endif
Anyone else have any ideas? I'm dumbfounded on what to do, is there any third party programs or Something I can use to accomplish this?
As I said use a DNC model.
 
Level 7
Joined
Nov 14, 2012
Messages
154
Yes, with customized DNC models.

For the units to be colored individually, you can use the default DNC for them and use Vertex coloring instead. You'd still need the customized terrain DNC for the blue terrain.


Use
  • Set TempPlayer = whatever
  • Custom Script: if GetLocalPlayer() == udg_TempPlayer then
  • apply the filter inside here
  • Custom Script: endif
As I said use a DNC model.


It doesn't work. My trigger turns on whenever a unit picks up thermal goggles but it keeps turning it on for every other player. I just want it on for one player. Not sure why it's not working.
 
Level 7
Joined
Nov 14, 2012
Messages
154
Post the trigger.

Im not at the pc but I know it by heart now haha

It's:

Event - A unit acquires item equal to bio mask

Condition - Unit is equal to Predator and item (bio-mask) is in slot 1

Action - Animation: Change vertex color of Commando to 100% red (exact same thing for 7 units)
Custom Script: Set TempPlayer = Player 1 (Red)
Custom Script: if GetLocalPlayer() == udg_TempPlayer then
Cinematic: Apply advanced filter modulated 2x white mask 0% 30% 60% 0% transparency end in 100% 0% % 0% transparency.
Custom Script: endif
Trigger: Turn on Predator Tracking Sensor[/QUOTE]

EDITL essentially, when the predator picks up the mask in slot 1 of his inventory, the screen goes blue and the enemies are black from the 100% blue color. However, it also turns blue for every other player which I Don't want. Any way to fix this?
 
Level 7
Joined
Nov 14, 2012
Messages
154
The Vertex color change has to be in the local block aswell.

The Set TempPlayer thing is not a custom script. It's a gui action.

Also, don't set the TempPlayer to Player 1 (Red), instead, set it to Owning Player of Triggering Unit.

Okay, so set it to owner. What do you mean the vertex has to be local as well? What happens if I leave it as is?
 
Level 7
Joined
Nov 14, 2012
Messages
154
Put it where you put your filter.
If you leave it there, the units will turn red for every other player aswell.

Well, that's not the problem. The units I chose are the only ones that have their vertex color changed. That's it. Which I'm fine with. But the filter keeps turning on for other players as well. That's the main problem, I'll change the action and see if it works. Thank you!
 
Level 7
Joined
Nov 14, 2012
Messages
154
You don't want them to turn red when thermal vision is not applied. It's basicly the same thing as with your filter.

Again, post the trigger or we can not help you.

They don't, I have another trigger which turns them back to their normal respective colors whenever the item is dropped.

  • Events
  • A unit owned by Player 1 (Red) Acquires an item
  • Conditions
  • (Item-type of (Item carried by Predator 0322 <gen> in slot 1)) Equal to |c00640000Bio-Mask
  • Actions
  • Animation - Change Commando 0026 <gen>'s vertex coloring to (100.00%, 0.00%, 0.00%) with 0.00% transparency
  • Animation - Change Commando 0027 <gen>'s vertex coloring to (100.00%, 0.00%, 0.00%) with 0.00% transparency
  • Animation - Change Commando 0028 <gen>'s vertex coloring to (100.00%, 0.00%, 0.00%) with 0.00% transparency
  • Animation - Change Commando 0029 <gen>'s vertex coloring to (100.00%, 0.00%, 0.00%) with 0.00% transparency
  • Animation - Change Commando 0030 <gen>'s vertex coloring to (100.00%, 0.00%, 0.00%) with 0.00% transparency
  • Animation - Change Commando 0031 <gen>'s vertex coloring to (100.00%, 0.00%, 0.00%) with 0.00% transparency
  • Animation - Change Arnold 0141 <gen>'s vertex coloring to (100.00%, 0.00%, 0.00%) with 0.00% transparency
  • Cinematic - Enable occlusion for Player Group - Player 1 (Red)
  • Set TempPlayer = (Owner of (Triggering unit))
  • Custom script: if GetLocalPlayer() != udg_TempPlayer then
  • Cinematic - Apply a filter over 1.00 seconds using Modulated 2x blending on texture White Mask, starting with color (0.00%, 59.00%, 90.00%) and 0.00% transparency and ending with color (0.00%, 0.00%, 100.00%) and 0.00% transparency
  • Custom script: endif
  • Trigger - Turn on Predator Tracking <gen>
 
  • Custom script: if GetLocalPlayer() != udg_TempPlayer then
  • Cinematic - Apply a filter over 1.00 seconds using Modulated 2x blending on texture White Mask, starting with color (0.00%, 59.00%, 90.00%) and 0.00% transparency and ending with color (0.00%, 0.00%, 100.00%) and 0.00% transparency
  • Custom script: endif
In these 3 lines, what's their purpose? Is this to reset the coloring for every other players? (Sorry, I can't catch the thread and the problem properly).
 
'!=' means not equal. Which means all players will get the filter, except the player you want to have the filter on.
Replace it with '==' like I told you above.

Also, as I said, put all Vertex coloring inside the local block aswell. You want them applied locally, not globally. The way you have it now, when player 1 uses the mask, only player 1 will see the filter (which is what you want), but all players will see the units in red (which is not what you want).
 
Level 7
Joined
Nov 14, 2012
Messages
154
  • Custom script: if GetLocalPlayer() != udg_TempPlayer then
  • Cinematic - Apply a filter over 1.00 seconds using Modulated 2x blending on texture White Mask, starting with color (0.00%, 59.00%, 90.00%) and 0.00% transparency and ending with color (0.00%, 0.00%, 100.00%) and 0.00% transparency
  • Custom script: endif
In these 3 lines, what's their purpose? Is this to reset the coloring for every other players? (Sorry, I can't catch the thread and the problem properly).

I'm not sure, I'm not very fluent with triggers or GUI. I can get by but it probably won't be too efficient and might be messy haha I'm just going off what makes sense and I inserted the trigger as the guy above me told me to do. It didn't make any difference, so obviously I'm doing it wrong. Is there any way one of you guys can restructure the trigger so it works? I don't really grasp how it works but you guys seem capable enough haha mind taking a little time out of your day to work on this?

[EDIT] I didn't see the "==" that's what was screwing it up, thank you so much!

-Closed-
 
Status
Not open for further replies.
Top