Scirra has already changed how the Z height works with 3D shapes. The change is for the better. I didn't really talk too much in detail about Z height for shapes, so it shouldn't affect the information in this video. I'll cover the new change in future videos :) Thanks for watching! Hope this helps out!!
50 minutes in and free resorses. Hero! Construct 2 veterinary returning to construct 3. So excited to use 3d. Going to make kenshi and dungeon keeper for sure. Got the combat, bodies, damage and pathing sorted
Thanks for all the hard work on these tutorials. As well as the subject of the tutorial I also appreciate the organization you show in your code. Keep up the good work. I always look forward to your videos
I really appreciate hearing that! It's nice to know that the subject of the tutorial is interesting to everyone. This type of comment really helps out with knowing what to cover on this channel too. Also makes all the hard work seem worth it ✌ Thanks for sharing!!
That's great!! I hope you can quickly get what you need from this channel. Jams make you understand so much more about the game development process. Good luck with everything! I didn't submit a game in my first jam and I regret that!! Don't be like me!😂
if anyone is struggling with not colliding with your stairs, but being able to jump onto them: the stairs cant have the ground-plane underneath them. they need to be free floating. a solution to this would be to create another ground floor, without the solid behavior, under the stairs.
Not sure if it was tackled in the video, still following along, but the "push out of solid" event has issues where it seems to make you slide more in one direction than others and getting stuck in corners causes all kinds of jitteryness. Also with the custom movement, you move faster in a direction while holding W+A than when you just hold W for example. Would love to see this example refined in a follow up video. Would also like to know how to walk up stairs that are a bit taller. Any taller and it treats them like a wall.
The push out of solid can cause that sliding like you mentioned. There are other options like push out at angle and then give it a specific angle to push out for each direction. This is how the C3 example project does it. Yet I found issues with that method as well... I didn't get too much jitteriness in my testing - but that is likely caused by the pushing out of solid actions. It does the same thing in 2D games. I ran into that issue when I made the Mini Map series... I really think more customization for 3D controls is coming soon from the C3 people. I left out the customized speed controls for this video. In my original test project I set up a couple more variables and adjusted the speed for A and D which gave the player a slower strafing speed but also evened out the speed of the player when moving diagonally... This is another situation where I believe the people at C3 will have a 3D behavior for first person controls coming out in the near future. As for the stairs, you could change the 0.5 to a higher number in the event where we check if onGround is true. Not sure how well that would work with other elements of the game. Another though would be to create a new 3D shape for stairs and set up brand new code for it to tween into position like we did in the original code but do it in higher increments for steeper stairs. This way, the higher increment snapping and tweening would only affect the new stairs object. These are all guesses though... Ideally, there would need to be a way we could travel up and down slopes in Z space. At this time, 3D shapes do not allow for that (I've tried it). Also, we can't rotate 3D shapes either, and that prevents angled ground formations... I've seen some examples of people using mesh distortion to create mountain-like terrain. I have not played around with that yet, so I don't know if the player would be able to travel up and down a slope in Z space or not. If that did work, then you could create a stairs object as a 3D shape with mesh distortion and a solid behavior and make it invisible, then put in a 3D shape with no behaviors to look like stairs for visual purposes only. 3D in C3 is definitely a work in progress. The solution to most of these issues will be built in to the engine eventually. I hope this helps, at least a little :)
Helped me a lot for my school project. I am trying to make an aimtrainer. Not everything was useful, but I can say that the 3D camera part was very useful. Thanks! P.S. do you know how to put a crosshair in the middle of your screen? I've been trying and looking at other tutorials, but still find nothing.
To make a crosshair, create a new layer and move the new layer to the top. Then, in the layer's properties, change both paralax values to 0. That keeps the layer from moving. After that, create a new sprite, draw out a crosshair, and place the sprite in the middle of the viewport area. Make sure the crosshair sprite is on the new layer.
@@Marlin-Gamedev Sorry, but I've encountered some problems. I've got my both parallax to 0% and my crosshair layer at the top. After drawing my crosshair, I don't really know where the viewport area is, or do I kinda have to create one. I've found something on the event sheet, like if I do set position, I have, for example, Camera3d.ViewportBottomX and Camera3d.ViewportTopY, but if I try to it says that I cannot do this. So what should I do?
@@qisenwang370 The viewport is on every layout. There is a dashed-line rectangle in the top left corner of the layout. You will need to place your crosshair in the center of that rectangle on that layer with 0% paralax. If you have several layouts, then you would want to create the crosshair on that layer 'on start of layout' at X= viewportWidth("layername") / 2 Y= viewportHeight("layername") / 2 That should place the crosshair sprite in the center of the veiwport.
Great video, but disappointing also - you didn't show how to show the player and how to adjust how close and far the player is from the camera. Do you have one of those?
I do not. This was made soon after Construct 3D was first released. It's just a tour through the basic functionality of 3D in C3. You might have already seen it, but @FoozleCC just released a video and project file that does all of those things :)
I really wish there could be a tutorial on how to move the camera around along with the player except it's third perspective. I'm trying to make a third perspective 3D platformer but can't seem to rotate the camera around the player without the camera being on top of the player (in terms of x and y coordinates, not Z elevation).
Yeah that would be nice if there was a built in Behavior that C3 had to handle all of that. It's quite complicated to set up manually. I believe Foozle CC made a video about 3rd person cameras in C3. Might want to check out his channel if you haven't already. I, personally, don't have the patience for how C3 handles 3D lol!! But I know that a 3rd person camera is possible (I've seen it).
Hi Marlin great video! But can you help me. At 28:30 a cant look up(Y) on my cam. But it works great on side (X). Can anybody help please! Its my first 3D game ever so thanks a lot for making this video! (edit:) Im only looking at the floor BTW if a remove the Mouse.AbsoluteY / MouseSensitivity it works fine BUT a cant move my camera up(Y)
Hmm, not sure what has happened here. What about the minimum and maximum polar range on that same pop-up window? If 90 degrees is looking straight ahead, then minimum polar range needs to be a number less than 90 to look up and maximum polar range has to be greater than 90 to look down. (0 would allow you to look all the way up and 180 would allow you to look all the way down at the floor) Another thing to consider... In your comment you're saying "mouse.absoluteY" divided by the mouseSensitivity variable, and in the video we use "Mouse.MovementY" expression for the "rotate Y" field. Does any of this help?
@@Marlin-Gamedev Hi Marlin! You are right. I changed the code from Mouse.AbsoluteY to Mouse.MovementY and it work Great now! thanks for you help and the fast response.
How to change angle camera for the first time? When i use touch/mouse using 3d camera player angle always to angle 0 i was set to angle 90 but it always to angle 0 for the first time please help me how to change that?
All the camera coding works perfectly fine, but the player movement doesn't work at all. I have to continuously press the keys in order to move anywhere. is there a way to fix that?
Hmmm... Something has to be different. A variable, a value somewhere. It could be a thousand possible things. Not sure how to identify your issue without seeing your code. Maybe look through the 3D example projects on C3 start page..? My code is very similar to a couple of those projects they have.
@@Marlin-Gamedev ok, I will give that I try, because I was doing all of the coming you did and basically did everything then same but it still didn't work. I even tried some other videos that were similar to yours and it was the same result.. so, that kinda made me sad. But your overall video was really good and very helpful :)
@@Marlin-Gamedev do you thing you can take a look at it. i still can't figure it out? do you have a Gmail or something I can send if to you if that's ok?
The examples are not bad. However, the final stage, when we do the jumps, is not very good. First, we are making the system narrow, preventing other NPCs or groups from climbing and jumping. In addition, for some reason you separate the floor and walls. It is reasonable to simply perceive all objects as cubes that you can lean on, stand on, and crawl under. This is simpler and it will be easier for the entity to find the path and so on. You have a lot of unnecessary variables and local checks, instead of performing them relative to the entity. You also do not use such a simple thing as accelerating the fall, you would not have to do animation and smoothing of the fall and jump.
My guess is that your Z Axis scale is set to "regular" instead of "normalized". That will cause the camHeight value to be very low. We use "normalized" scale in this video and then change it in the next one. In my "Z Axis Scale" video tutorial, I explain what it means, how to change it and how we have to change other properties with it. Including the "camHeight" variable value. If you click on your main project folder in the project panel (right side of screen), that will bring up the project properties (left side of screen). Scroll down to the "Display" section, and at the bottom of that section is the option for Z Axis scale. Click on it and set it to "normalized" if you want to follow along with my exact variable values in this video. I prefer to work in "regular" scale because it deals with whole number values instead of percentages. I also use "regular" scale in all the other 3D tutorial projects on this channel. Also... make sure you have that "set camera position" action in the "every tick" event too, or it won't update the position properly when your player character moves.
You would have to have a complete art set of your player from all angles and set up animations for every side your player is visible from. Because it's still a 2D game engine and everything on screen is in 2D. It's a whole different type of set up to do 3rd person.
i got to the stairs part i just pass throught mine if i jump on the first stair (or any) i do my normal jump and fall on the stair then i can walk and the stairs work just fine. only when i try to walk to start to walk up the stairs i pass throught all of them. please help, this is for a high school project i know this is a little advence for high school but i always want to do much more then asked. other then this problem most of the things work just fine, thank you!
this probably isnt relevant anymore, but I had the same problem, and if anyone else is too: your stairs cant be on the floor. they need to be "free floating" with no floor underneath them.
Scirra has already changed how the Z height works with 3D shapes. The change is for the better. I didn't really talk too much in detail about Z height for shapes, so it shouldn't affect the information in this video. I'll cover the new change in future videos :) Thanks for watching! Hope this helps out!!
50 minutes in and free resorses. Hero!
Construct 2 veterinary returning to construct 3. So excited to use 3d.
Going to make kenshi and dungeon keeper for sure. Got the combat, bodies, damage and pathing sorted
Thanks for all the hard work on these tutorials. As well as the subject of the tutorial I also appreciate the organization you show in your code. Keep up the good work.
I always look forward to your videos
I really appreciate hearing that! It's nice to know that the subject of the tutorial is interesting to everyone. This type of comment really helps out with knowing what to cover on this channel too. Also makes all the hard work seem worth it ✌
Thanks for sharing!!
I just love Construct 3. So easy, and I just have so much fun with it.
I agree!! Super easy once you get familiar with it. So fast to create games!
Thank you marlin for the video...i know it taks lot of effort to make this big video....we really appreciate your hard work.....luv u from India ❤️
Hey thank you for that!! I love making these videos! Some take a long time lol😄 But I'll keep making them
Thanks for the tutorials as always Marlin, gonna be entering my first Game Jam soon and will be definitely be reviewing your channel for help!
That's great!! I hope you can quickly get what you need from this channel.
Jams make you understand so much more about the game development process. Good luck with everything!
I didn't submit a game in my first jam and I regret that!! Don't be like me!😂
if anyone is struggling with not colliding with your stairs, but being able to jump onto them:
the stairs cant have the ground-plane underneath them. they need to be free floating.
a solution to this would be to create another ground floor, without the solid behavior, under the stairs.
Ahh, thank you! Was wondering how to do that as it wasn't working for me XD
Thanks for the tutorial, friend!
You are welcome! Glad I could help!!
This was really helpful, thanks!
Great!! Happy to help :)
BRO I LOVE YOUU, NICE TUTORIAL
So glad I could help!!!!
Not sure if it was tackled in the video, still following along, but the "push out of solid" event has issues where it seems to make you slide more in one direction than others and getting stuck in corners causes all kinds of jitteryness. Also with the custom movement, you move faster in a direction while holding W+A than when you just hold W for example. Would love to see this example refined in a follow up video. Would also like to know how to walk up stairs that are a bit taller. Any taller and it treats them like a wall.
The push out of solid can cause that sliding like you mentioned. There are other options like push out at angle and then give it a specific angle to push out for each direction. This is how the C3 example project does it. Yet I found issues with that method as well... I didn't get too much jitteriness in my testing - but that is likely caused by the pushing out of solid actions. It does the same thing in 2D games. I ran into that issue when I made the Mini Map series... I really think more customization for 3D controls is coming soon from the C3 people.
I left out the customized speed controls for this video. In my original test project I set up a couple more variables and adjusted the speed for A and D which gave the player a slower strafing speed but also evened out the speed of the player when moving diagonally... This is another situation where I believe the people at C3 will have a 3D behavior for first person controls coming out in the near future.
As for the stairs, you could change the 0.5 to a higher number in the event where we check if onGround is true. Not sure how well that would work with other elements of the game. Another though would be to create a new 3D shape for stairs and set up brand new code for it to tween into position like we did in the original code but do it in higher increments for steeper stairs. This way, the higher increment snapping and tweening would only affect the new stairs object. These are all guesses though... Ideally, there would need to be a way we could travel up and down slopes in Z space. At this time, 3D shapes do not allow for that (I've tried it). Also, we can't rotate 3D shapes either, and that prevents angled ground formations... I've seen some examples of people using mesh distortion to create mountain-like terrain. I have not played around with that yet, so I don't know if the player would be able to travel up and down a slope in Z space or not. If that did work, then you could create a stairs object as a 3D shape with mesh distortion and a solid behavior and make it invisible, then put in a 3D shape with no behaviors to look like stairs for visual purposes only.
3D in C3 is definitely a work in progress. The solution to most of these issues will be built in to the engine eventually. I hope this helps, at least a little :)
Helped me a lot for my school project. I am trying to make an aimtrainer. Not everything was useful, but I can say that the 3D camera part was very useful. Thanks!
P.S. do you know how to put a crosshair in the middle of your screen? I've been trying and looking at other tutorials, but still find nothing.
To make a crosshair, create a new layer and move the new layer to the top. Then, in the layer's properties, change both paralax values to 0. That keeps the layer from moving. After that, create a new sprite, draw out a crosshair, and place the sprite in the middle of the viewport area. Make sure the crosshair sprite is on the new layer.
@@Marlin-Gamedev Oh wow! Thank you very much! Just got yourself a new sub!
@@Marlin-Gamedev Sorry, but I've encountered some problems. I've got my both parallax to 0% and my crosshair layer at the top. After drawing my crosshair, I don't really know where the viewport area is, or do I kinda have to create one. I've found something on the event sheet, like if I do set position, I have, for example, Camera3d.ViewportBottomX and Camera3d.ViewportTopY, but if I try to it says that I cannot do this. So what should I do?
@@qisenwang370 The viewport is on every layout. There is a dashed-line rectangle in the top left corner of the layout. You will need to place your crosshair in the center of that rectangle on that layer with 0% paralax.
If you have several layouts, then you would want to create the crosshair on that layer 'on start of layout' at
X= viewportWidth("layername") / 2
Y= viewportHeight("layername") / 2
That should place the crosshair sprite in the center of the veiwport.
❤️👍 cant wait
thx you so much for lesson
You are welcome :)
Thanks for the explanation! Very good video.
Could you please upload the project to be able to analyze it better? Greetings.
Great video, but disappointing also - you didn't show how to show the player and how to adjust how close and far the player is from the camera. Do you have one of those?
I do not. This was made soon after Construct 3D was first released. It's just a tour through the basic functionality of 3D in C3.
You might have already seen it, but @FoozleCC just released a video and project file that does all of those things :)
I really wish there could be a tutorial on how to move the camera around along with the player except it's third perspective. I'm trying to make a third perspective 3D platformer but can't seem to rotate the camera around the player without the camera being on top of the player (in terms of x and y coordinates, not Z elevation).
Yeah that would be nice if there was a built in Behavior that C3 had to handle all of that. It's quite complicated to set up manually. I believe Foozle CC made a video about 3rd person cameras in C3. Might want to check out his channel if you haven't already.
I, personally, don't have the patience for how C3 handles 3D lol!! But I know that a 3rd person camera is possible (I've seen it).
@@Marlin-Gamedev Thanks! I'll check it out!😄
Get the players location, then remove from the y axis every tick
Hi Marlin great video! But can you help me. At 28:30 a cant look up(Y) on my cam. But it works great on side (X). Can anybody help please! Its my first 3D game ever so thanks a lot for making this video!
(edit:) Im only looking at the floor
BTW if a remove the Mouse.AbsoluteY / MouseSensitivity it works fine BUT a cant move my camera up(Y)
Hmm, not sure what has happened here. What about the minimum and maximum polar range on that same pop-up window? If 90 degrees is looking straight ahead, then minimum polar range needs to be a number less than 90 to look up and maximum polar range has to be greater than 90 to look down. (0 would allow you to look all the way up and 180 would allow you to look all the way down at the floor)
Another thing to consider... In your comment you're saying "mouse.absoluteY" divided by the mouseSensitivity variable, and in the video we use "Mouse.MovementY" expression for the "rotate Y" field.
Does any of this help?
@@Marlin-Gamedev Hi Marlin! You are right. I changed the code from Mouse.AbsoluteY to Mouse.MovementY
and it work Great now! thanks for you help and the fast response.
@@extrabob Nice!! No problem!
I love it when I actually get it right lol.
How to change angle camera for the first time? When i use touch/mouse using 3d camera player angle always to angle 0 i was set to angle 90 but it always to angle 0 for the first time please help me how to change that?
All the camera coding works perfectly fine, but the player movement doesn't work at all. I have to continuously press the keys in order to move anywhere. is there a way to fix that?
Hmmm... Something has to be different. A variable, a value somewhere. It could be a thousand possible things. Not sure how to identify your issue without seeing your code. Maybe look through the 3D example projects on C3 start page..? My code is very similar to a couple of those projects they have.
@@Marlin-Gamedev ok, I will give that I try, because I was doing all of the coming you did and basically did everything then same but it still didn't work. I even tried some other videos that were similar to yours and it was the same result.. so, that kinda made me sad. But your overall video was really good and very helpful :)
@@Marlin-Gamedev do you thing you can take a look at it. i still can't figure it out? do you have a Gmail or something I can send if to you if that's ok?
@@dragonhany1 make sure that you are using while key is down and not on key pressed
Thank you
can you send c3p file to analize?
The examples are not bad. However, the final stage, when we do the jumps, is not very good. First, we are making the system narrow, preventing other NPCs or groups from climbing and jumping. In addition, for some reason you separate the floor and walls. It is reasonable to simply perceive all objects as cubes that you can lean on, stand on, and crawl under. This is simpler and it will be easier for the entity to find the path and so on. You have a lot of unnecessary variables and local checks, instead of performing them relative to the entity. You also do not use such a simple thing as accelerating the fall, you would not have to do animation and smoothing of the fall and jump.
need help: pl_camera is on the ground for some reason, tried to play around with the camera height nothing changed
My guess is that your Z Axis scale is set to "regular" instead of "normalized". That will cause the camHeight value to be very low. We use "normalized" scale in this video and then change it in the next one. In my "Z Axis Scale" video tutorial, I explain what it means, how to change it and how we have to change other properties with it. Including the "camHeight" variable value.
If you click on your main project folder in the project panel (right side of screen), that will bring up the project properties (left side of screen). Scroll down to the "Display" section, and at the bottom of that section is the option for Z Axis scale. Click on it and set it to "normalized" if you want to follow along with my exact variable values in this video. I prefer to work in "regular" scale because it deals with whole number values instead of percentages. I also use "regular" scale in all the other 3D tutorial projects on this channel.
Also... make sure you have that "set camera position" action in the "every tick" event too, or it won't update the position properly when your player character moves.
@@Marlin-Gamedev oh, thanks for helping. but is there a template for the 3d? because i forgot to save my project
I did this exactly , all I could see is complete white screen . Could you help ?
What part did you get to when your screen turned white?
But how to make the player visible?
You would have to have a complete art set of your player from all angles and set up animations for every side your player is visible from. Because it's still a 2D game engine and everything on screen is in 2D. It's a whole different type of set up to do 3rd person.
i got to the stairs part
i just pass throught mine
if i jump on the first stair (or any) i do my normal jump and fall on the stair then i can walk and the stairs work just fine.
only when i try to walk to start to walk up the stairs i pass throught all of them.
please help, this is for a high school project
i know this is a little advence for high school but i always want to do much more then asked.
other then this problem most of the things work just fine, thank you!
this probably isnt relevant anymore, but I had the same problem, and if anyone else is too: your stairs cant be on the floor. they need to be "free floating" with no floor underneath them.
for some reason, i can't touch the ground and i just float slowly into the void, i need help
Click your player/Green guy ..on your left options you will see Z elevation. Put it to 0
hwelp trhe cmera wnt move at all
Was it moving before?
@@Marlin-Gamedev nope
Definatly works. Rewatch video.
It's the mouse position on everytick