It's been a couple of years since I started looking into python. But more and more I have been using it at work, and more recently at home. Although I haven't really been pushing myself to learn it outside of what I need to for work, that need has is becoming more and more so I have started following this MIT CS course using Python.
As I mentioned in my first python post I come from a Art background, not a programming one, so I need to make sure I haven't missed anything in my programming education that could cause me to make bad decisions in my scripting.
Trying to learn something, like a language, is difficult outside of work when you spend all day looking as similar things. That's why I'm trying to find fun little projects that I can wrap up in a short time that I can learn from. The last one was a twitter bot. After watching a GDC talk on procedural content, in which one of the examples was a twitter bot, I decided to give it a go. One Sunday afternoon and a little scripting later this is the result. (See below)
I'll hopefully be doing more of these little projects and aim to post them up here when they're done. Watch this space. And follow me on twitter. ?
Quick video update on the tools I'm developing for my Final Major Project; an overview of each tool and the main features of each one. I'm hoping to do individual video's for each tool when they're finished, giving a more in-depth insight into what they do and how to use them. But this is where they're at now.
Keep up to date on they're development by following at:
Project blog: blog.keproject.co.uk
UE4 Forum: https://forums.unrealengine.com/showthread.php?58515-UE4-Student-Project-Slum-Environment-Pack
So I’m constantly looking to learn new things. Having previously dabbled with maxscript making some basic tools to speed up the production and fix problems on previous university group projects, I decided that looking into learning a language that I could continue to build tools with. Python seamed the way to go as it is widely used and is integrated into a vast amount of programs.
Coming from an artistic background the learning of a language like Maxscript or Python is one that I’ve found extremely interesting. It’s opened my eyes to the possibilities that you can fix any problem given the determination and knowledge of the appropriate language. I can already thing of several cases and the potential tools that would have been useful to speed up my previous workflows as an artist.
As I have said I have only done some small maxscript work in the past, some of which can be seen on this blog, so going into Python I wanted to make sure I didn’t miss any of the fundamentals of the langue as I was learning it. So I’ve set out using http://learnpythonthehardway.org/ as my starting point, with a view to continuing onto http://www.ling.gu.se/~lager/python_exercises.html, before venturing into making some basic tools that are more relevant to the work for a 3d artist.
I’m going to post more updates on my progress as it comes, but as I’m doing this alongside my FMP and another 3d project it may be slower that I would like.
Here are the links to keep up to date on my other projects:
FMP – www.keproject.co.uk
Arch Vis – elliottpacel.co.uk/blog
A key feature that everyone seemed to want in their level, for the side-scrolling game I’m currently working on, was the ability to change the position of the camera at key points in the environment. Whether it was to reveal something up ahead or mainly to zoom out and showcase the environment it was something that came up in all 4 maps.
I decided to tackle this by creating a volume that when walked into it would move the position, relative to the character, to the new desired location giving the effect everyone wanted. Using a volume meant it was localised to the area in which it was needed and that when the character leaves the area it would move back to its default position.
This was relatively easy to achieve as it just mean changing some variables that already exist on the character. Getting hold of said variables was a bit tricky at first as they are part of a different blueprint to, meaning I had to cast to that blueprint to gain access to them before I could manipulate them. The other obstacle I came across was holding the original value of the variable before I changed it so that I could reset it when the player leaves the volume.
You may be reading this thinking how where those things issues, basically I’m a massive noob when it comes to this stuff. But with every blueprint I make I’m learning new things. Coming from an artistic background and not a programmer one it’s going to be baby steps to start with but I’ve got big plans for what I can achieve with this in the future. So watch this space.
As part of the current group project I am working on at university (sidescroller game) we needed an easy solution for adding multiple moving platforms. I wanted to keep it as diverse and easy to use as possible. I developed a blueprint that allows you to change the mesh and material of the platform the place of which it moves to and the speed of which it moves there as well as whether it has collision or not.
This is currently working fine but I’m looking to add a death mechanism to it so that it can be used as a moving kill object that kills the player on contact. This will be optional so that it still retains its previous use as an elevator platform; just making it more diverse as to tool for building the level.
Here's a video of it in it's current working state: (I'll post an update when the blueprint is finished)
With the release of Unreal Engine 4 there has been a major shift in how visual scripting is handled and what its capabilities are. No longer are we stuck with Kismet and its slow and unwieldy ways but now there’s Blueprints; a C++ based visual scripting solution that brings the power to the artist and an almost limitless amount of opportunities.
Although blueprints are around 10x slower than using C++ outright, as an artist I intend to make the most of them as much as possible in my upcoming work. They bring the ability to easily integrate interactive and complex features that would previously needed the abilities of a programmer to incorporate.
I am going to keep you up to date on my progress working with blueprints, uploading finished projects and working prototypes on this blog for you to use as you will and hopefully for you to tell me where I'm going wrong so that we can improve them together. This will be done in conjunction with my main blog as most of the work I produce will be in direct response to what I’m posting on there.
I wrote this when a colleague of mine unfortunately corrupted a max file he was working on and without realizing moved onto working on different max file. When he went back to the previous one and found it was corrupt, he tried to recover it using 3ds Max's auto-backups but due to the way it is default setup there was one 3 available saves available, all for the second max file he had worked on after. Thus loosing the work.
To prevent such things happening again I made this so that it would not only backup more saves and more frequently but also change the name of the saves (relying the script is used every time you work on a different max file) to prevent the auto-backups saving over each other from different files.
I am Elliott Pacel, a Technical Artist at Reflections, Ubisoft. This blog includes all the MaxScript/ Blueprints I have developed and for any working progress updates for script projects I am currently working on.