My best friends I have met in Andela Bootcamp and how we help each other

Everybody needs someone to talk. because it helps to introduce each other and share ideas, where you are weak someone can support you and advise how you can do things in the right way. Here are some…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




A Different Perspective

Objective: Implement a way to change the dynamic of the scene through the player’s actions.

This article is a bit more focused on the programming part of this scene. However, it’s a way to utilize my knowledge of C# scripting and the art that I put together to make this scene.

The idea here is to add a different perspective to the scene and the way I want to do this is give the player the ability to turn the light switch on and off only focusing on my main light. This way not only do we get to experience this scene in a darker tone, but it adds that different perspective that gives more lighting to the scene. This what my scene looks like before my main lights are turned on!

Let’s dive in and see how we can implement behavior to turn our lights on through the power of the player!

So the light switch I’m targeting is the switch right at the entrance of the door.

Now the idea here is to implement some sort of behavior that will allow the player to turn the lights on and off using a specific key (in this case, the “E” key) but while also being close to the switch (within the distance) to implement that behavior.

I want to begin by creating a C# script and attaching it to my player.

For this first part, I am going to want three variables:

With this being said, I hop into Unity where I create a new tag and name it “Switch” so we can use this as a reference in my scripting.

Back in my C# script, I go ahead under void start and implement my gameObject variable to be assigned to that tag that we have just assigned.

Vector3.Distance Overview
checking if distance is less than or equal to my float value

If I run my game now I should get a console message saying I can toggle the switch implementing that we are within range for the next steps.

Now we can implement the the on/off behavior! This is where our bool variable comes into play!

I’m going to add another gameObject variable into the mix and this will be to enable my main lights. Again I’m going to set a tag on this so that way it makes it easier to store into this variable.

Now it’s as simple as dropping logic under my if statement to implement that when I press down on the “E” key, I can toggle on and off on my main lights adding that different perspective to the room!

This next little section is just a piece I put to implement some UI to show that the player can change the light using the “E” key. I start off by creating a canvas and adding that toggle text where we will enable and disable later on.

After my text has been created, I create a new c# script designated for my UI (uimanager). In this C# script, I want to access all of Unity’s UI elements and I can do this by adding it into my library on top.

I’m going to create a variable I can use as a handle and assign it in the inspector of Unity by giving it a serialized field.

With this I want to communicate my player script with my UI manager script.

Always null check just in case!

With the proper communication, I can go ahead and implement two methods inside of my UI manager script one that will enable the text and the other that will disable it.

UIManager Scripting

Back inside my player script, I can go ahead and implement those methods into the right areas.

With this said and done, I put all this together and now I have a successful UI system that can tell the player to toggle between the light status.

Add a comment

Related posts:

Mobile Testing Interview Questions and Answers

Versatile testing or compact application testing is a technique performed to test the handiness, consistency and comfort of an application programming exceptionally created for different handheld…

Why printing photos is more satisfying than a cinnamon roll

Let me explain why a set of printed photos are a hell of a lot more satisfying than any gooey delicious mouth watering cake.

Top 5 Tech Trends of Independent Restaurants According to Harbortouch

Technology is revolutionizing the foodservice industry, from mobile ordering and delivery apps to tableside ordering. Although some of these new gadgets may appear “trendy,” others are almost…