├── images ├── Map_Preview.png ├── wanted_v1.png ├── Arturia_BeatStep.png └── midi_connectV2_Settings.png ├── files └── MIDI_Connect_V2.zip ├── .github └── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md ├── LICENSE └── README.md /images/Map_Preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/videofeedback/MIDI_Tutorial_Part2/HEAD/images/Map_Preview.png -------------------------------------------------------------------------------- /images/wanted_v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/videofeedback/MIDI_Tutorial_Part2/HEAD/images/wanted_v1.png -------------------------------------------------------------------------------- /files/MIDI_Connect_V2.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/videofeedback/MIDI_Tutorial_Part2/HEAD/files/MIDI_Connect_V2.zip -------------------------------------------------------------------------------- /images/Arturia_BeatStep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/videofeedback/MIDI_Tutorial_Part2/HEAD/images/Arturia_BeatStep.png -------------------------------------------------------------------------------- /images/midi_connectV2_Settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/videofeedback/MIDI_Tutorial_Part2/HEAD/images/midi_connectV2_Settings.png -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Ramiro Montes De Oca 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Discord Follow](https://dcbadge.vercel.app/api/server/feYhyYznDf?style=flat)](https://discord.gg/feYhyYznDf) 2 | 3 | # Midi_Tutorial_Part2 4 | MIDI Blueprint for Camera Control 5 | 6 | ## This is the repository for the Midi Tutorial (Part 2) Blueprint. 7 | 8 | 9 | [![Ultimate MIDI tutorial with Unreal Engine Part 2](https://github.com/videofeedback/RamirosLab/blob/main/images/ULTIMATE%20MIDI%20TUTORIAL%20WITH%20UNREAL%20ENGINE%20PART%202%2001.png)](https://youtu.be/PNQPOruPuM8?sub_confirmation=1) 10 | 11 | 12 | V2 FIXES: 13 | - Added "Default Values" seaparated from the active Float Values so both settings never mix each other. 14 | - Added Focus and Focal Length Default Values 15 | - Added Channel 2 Sun Macros (Latitude, Azimuth, Intensity) 16 | 17 | Note: If you want to collaborate with changes, please fork this repo and let us know about the changes. Thanks. 18 | 19 | ## Warning 20 | Only MIDI devices with 360-Degree digital encoders will be able to take advantage of this project. This blueprint uses exclusive function that takes advantage of infinite rotation knobs controllers. Here is a list of devices that will be able to work with this blueprint: 21 | 22 | 23 | Arturia BeatStep: https://www.amazon.com/Arturia-BeatStep-MIDI-Controller-Sequencer/dp/B00I88HPUO/ 24 | 25 | BEHRINGER USB (XTOUCHMINI): https://www.amazon.com/BEHRINGER-USB-Controller-Black-XTOUCHMINI/dp/B012CSKTYY/ 26 | 27 | Akai Professional MPD218: https://www.amazon.com/Akai-Professional-MPD218-Controller-Software/dp/B0116X17JW/ 28 | 29 | Arturia MiniLab MkII 25 Slim-Key Controller: https://www.amazon.com/Arturia-MiniLab-MkII-Slim-Key-Controller/dp/B01MSNIVKE/ 30 | 31 | AKAI Professional MPK Mini MK3: https://www.amazon.com/Professional-Keyboard-Controller-Production-Software/dp/B0886ZPWC8/ 32 | 33 | The device has to be Re-Mapped to change the functionality from Default to Alternative or equivalent to each manufacturer. (Watch the tutorial for instructions). 34 | 35 | Note of the author: I am aware that this is a big limitation, but this little unknown MIDI functionality is one of the most important to be exploded by Virtual Production. Alternatives like OSC controllers are an option that will be explored later, but the physical option that these digital encoders offers is without a doubt a remarkable feature. Look for "360-Degree" knobs or "Digital-Encoders". The list above is just an example of "Under $120" alternatives. 36 | 37 | ## Re-map MIDI controller 38 | This blueprint uses alternative Control Change settings using Relative #1 (For Arturia controllers, CC2 for Akai controllers), consult your manufacturer manual for different settings. This particual setting changes from 0x40 to 0x41 (for positive values) and from 0x40 to 0x3F (for negative values). 39 | 40 | [!Arturia BeatStep](https://github.com/videofeedback/MIDI_Tutorial_Part2/blob/main/images/Arturia_BeatStep.png) 41 | 42 | ## Instructions 43 | ### 1) Create an Unreal Engine 4.27.1 "Virtual Production" project from templates. 44 | ### 2) Activate the MIDI plugin, and close Unreal Engine 45 | ### 3) Download the ZIP file of this Blueprint [MIDI_Connect_V2.ZIP](https://github.com/videofeedback/MIDI_Tutorial_Part2/blob/main/files/MIDI_Connect_V2.zip) 46 | ### 4) Unzip the content of this file into the "Content" folder of your project. 47 | ### 5) Re-Start the project 48 | 49 | ## 6) Place the Blueprint "MIDI_CONNECT_V2" Inside the project. 50 | 51 | [![](https://github.com/videofeedback/MIDI_Tutorial_Part2/blob/main/images/Arturia_BeatStep.png)] 52 | 53 | ### 7) Change the following settings in the red box 54 | 55 | [![](https://github.com/videofeedback/MIDI_Tutorial_Part2/blob/main/images/midi_connectV2_Settings.png)] 56 | 57 | ## - Replace "Arturia BeatStep" with your MIDI Device ID 58 | ## - On "Camera", Select the camera to be controlled. 59 | ## - Sun: Sellect (BP_Sky_Sphere, SkyLight and Sunlight) from your blueprint. If the selections are blank, that means that you don't have those elements available on this map. Make sure that you open the "/VprodProject/Maps/Main Map). Otherwise place those elements to control the Sun. 60 | 61 | 62 | # WANTED! CINEMA CAMERA FUNCTIONS! 63 | 64 | If you want to colaborate with this project, there are few things that we need to fix (or find to be more exact). 65 | This list 66 | - Currect Aperture 67 | - Exposure Component 68 | - Camera ISO 69 | - Camera Shutter Speed 70 | - Color Grading (Temp) 71 | - Draw Debug Focus Plane 72 | 73 | All these featurea can't be located at level blueprint. (I can't)... I'll appreciate your colaboration. 74 | Note: Yes, I can find those on the "Detail" tab of the CinemaCameraActor, but I need to grab those elements from a BLueprint. 75 | If you have a working solution, please make a blueprint and copy "File.uasset" and send it to videofeedback@gmail.com (Subject "WANTED") and a brief explanation of how did you found those elements. 76 | Only five different alternatives will be accepted, but everyone can submit your solution and all the solutions will be shared with the community. 77 | You will be rewarded with 50 (VideoFeedback's NFTs (https://opensea.io/collection/ramiroslabfirstedition) ) * 78 | 79 | Your name or any desire information will be published to the Open Source community (if desire). 80 | I appreciate your contribution. 81 | 82 | 83 | [![Wanted](https://github.com/videofeedback/MIDI_Tutorial_Part2/blob/main/images/wanted_v1.png) 84 | 85 | 86 | *The VideoFeedback NFT project is attached to multiple projects. It doesn't represents a monetary value, but can be traded in the open market. Do not assume that these NFTs can be traded at any price. This is still a project and there is no economic promisses other that the NFT community is willing to trade. 87 | 88 | Ramiro Montes De Oca (VideoFeedback) https://youtube.com/ramiroslab/ 89 | --------------------------------------------------------------------------------