Skip to content
This repository was archived by the owner on Nov 30, 2020. It is now read-only.

Commit 29983fb

Browse files
committed
Update for package validation tests
Add first doc Update license to md style Add changelog Update .npmignore
1 parent 3e5346a commit 29983fb

File tree

9 files changed

+145
-101
lines changed

9 files changed

+145
-101
lines changed

.npmignore

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1-
/artifacts*
2-
/build*
3-
/.gitignore
1+
artifacts/**
2+
build/**
3+
Documentation/ApiDocs/**
4+
.DS_Store
5+
.npmrc
6+
.npmignore
7+
.gitignore
8+
QAReport.md
9+
QAReport.md.meta

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Changelog
2+
All notable changes to this package will be documented in this file.
3+
4+
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5+
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6+
7+
## [0.1.8] - 2017-MM-DD
8+
9+
### This is the first release of *PostProcessing*.
10+
11+
*Short description of this release*

CHANGELOG.md.meta

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

LICENSE.meta renamed to Documentation.meta

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Documentation/Quickstart.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
This guide gives a very quick & basic overview of the new post-processing framework and how to get started with it. A more extensive documentation will come at some point.
2+
3+
## Installation
4+
5+
Clone the `v2` branch of this repository (we recommend the use of [GitHub Desktop](https://desktop.github.com/)) or download it using the `Download` button at the top-right of the screen and copy the `PostProcessing` folder into your project `Assets` folder.
6+
7+
You can also clone it straight to your `Assets` folder if you prefer to save time.
8+
9+
## Post-process Layer
10+
11+
> For maximum awesomeness we recommend that you work in Linear + HDR. It will still work in Gamma + LDR, although it won't look as good with some effects.
12+
13+
First, you need to add a `Post Process Layer` component to the camera you want to apply post-processing to. You can do that by selecting your camera and use one of the following ways:
14+
15+
- Drag the `PostProcessLayer.cs` script from the project panel to the camera.
16+
- Use the menu `Component -> Rendering -> Post Process Layer`.
17+
- Use the `Add Component` button in the inspector.
18+
19+
<p align="center">
20+
[[/images/quickstart-1.png|Quickstart 1]]
21+
</p>
22+
23+
Let's go over the most important settings:
24+
25+
- **Trigger**: by default the camera itself will be assigned to it. This is the transform that will drive the volume blending feature. In some cases you may want to use a transform other than the camera, e.g. for a top down game you'll want the player character to drive the animation instead of the camera transform.
26+
- **Layer**: a mask of layers to consider for volume blending. It allows you to do volume filtering and is especially useful to optimize volume traversal. You should always have your volumes in dedicated layers instead of the default one for best performances. By default it's set to `Nothing` so don't forget to change it or local volumes won't have any effect.
27+
- **Anti-aliasing**: sets an anti-aliasing method for this camera.
28+
- **Stop NaN Propagation**: will kill any invalid / NaN pixel and replace it with black before post-processing is applied.
29+
30+
The `Rendering Features` section holds lighting effects tied to the camera, such as Deferred Fog, Ambient Occlusion or Screen-space reflections.
31+
32+
You'll also find a set of utilities in the `Toolkit` section (see the page about [[External LUT authoring|(v2) External LUT authoring]]) and a `Custom Effect Sorting` section to fine tune the execution order of your [[custom effects|(v2) Writing custom effects]].
33+
34+
Once your layer is set, you can move on to the cool part: volumes.
35+
36+
## Post-process Volume
37+
38+
The way post-processing works in this framework is by using local & global volumes. It allows you to give each volume a priority and a set of effect overrides to automatically blend post-processing settings in your scene. For instance, you could have a light vignette effect set-up globally but when the player enters a cave you would only override the `intensity` setting of the vignette to make it stronger while keeping the rest of the settings intact.
39+
40+
The `Post Process Volume` component can be added to any game object, the camera itself included. But it's generally a good idea to create a dedicated object for each volume. Let's start by creating a global `Post Process Volume`. Create an empty game object and add the component to it. Don't forget to add it to a layer that's being used by the mask set in the `Post Process Layer` component you added to your camera!
41+
42+
<p align="center">
43+
[[/images/quickstart-2.png|Quickstart 2]]
44+
</p>
45+
46+
By default it's completely empty. From there we can do two types of volumes:
47+
48+
- **Global**: a global volume doesn't have any boundary and will be applied to the whole scene. You can of course have several of these in your scene.
49+
- **Local**: a local volume needs a collider or trigger component attached to it to define its boundaries. Any type of 3D collider will work, from cubes to complex convex meshes but we recommend you use simple colliders as much as possible, as meshes can be quite expensive to traverse. Local volumes can also have a `Blend Distance` that represents the outer distance from the volume surface where blending will start.
50+
51+
We want a global volume, so let's enable `Is Global`.
52+
53+
`Weight` can be used to reduce the global contribution of the volume and all its overrides, with `0` being no contribution at all and `1` full contribution.
54+
55+
The `Priority` field defines the volume order in the stack. The higher this number is, the higher priority a volume has.
56+
57+
We also need a to create a profile for this volume (or re-use an existing one). Let's create one by clicking the `New` button. It will be created as an asset file in your project. To edit a profile content you can either select this asset or go to a volume inspector where it will be replicated for easier access. Once a profile as been assigned you'll see a new button appear, `Clone`. This one will duplicate the currently assigned profile and set it on the volume automatically. This can be handy when you want to create quick variations of a same profile (although you should really use the override system if possible).
58+
59+
We can now start adding effect overrides to the stack.
60+
61+
<p align="center">
62+
[[/images/quickstart-3.png|Quickstart 3]]
63+
</p>
64+
65+
Each field has an override checkbox on its left, you'll need to toggle the settings you want to override for this volume before you can edit them. You can quickly toggle them all on or off by using the small `All` and `None` shortcuts at the top left.
66+
67+
The top-left `On/Off` toggle is used to override the active state of the effect itself.
68+
69+
Finally, you can right-click and effect title to show a quick-action menu.
70+
71+
From there you can start adding local volumes with various priorities and blend distances to your scene and see all of them blend automatically.

Documentation/Quickstart.md.meta

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

LICENSE

Lines changed: 0 additions & 97 deletions
This file was deleted.

LICENSE.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
**Unity Companion Package License v1.0 ("_License_")**
2+
3+
Copyright © 2017 Unity Technologies ApS ("**_Unity_**")
4+
5+
Unity hereby grants to you a worldwide, non-exclusive, no-charge, and royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute the software that is made available with this License ("**_Software_**"), subject to the following terms and conditions:
6+
7+
1. *Unity Companion Use Only*. Exercise of the license granted herein is limited to exercise for the creation, use, and/or distribution of applications, software, or other content pursuant to a valid Unity development engine software license ("**_Engine License_**"). That means while use of the Software is not limited to use in the software licensed under the Engine License, the Software may not be used for any purpose other than the creation, use, and/or distribution of Engine License-dependent applications, software, or other content. No other exercise of the license granted herein is permitted.
8+
9+
1. *No Modification of Engine License*. Neither this License nor any exercise of the license granted herein modifies the Engine License in any way.
10+
11+
1. *Ownership & Grant Back to You*.
12+
13+
3.1. You own your content. In this License, "derivative works" means derivatives of the Software itself--works derived only from the Software by you under this License (for example, modifying the code of the Software itself to improve its efficacy); “derivative works” of the Software do not include, for example, games, apps, or content that you create using the Software. You keep all right, title, and interest to your own content.
14+
15+
3.2. Unity owns its content. While you keep all right, title, and interest to your own content per the above, as between Unity and you, Unity will own all right, title, and interest to all intellectual property rights (including patent, trademark, and copyright) in the Software and derivative works of the Software, and you hereby assign and agree to assign all such rights in those derivative works to Unity.
16+
17+
3.3. You have a license to those derivative works. Subject to this License, Unity grants to you the same worldwide, non-exclusive, no-charge, and royalty-free copyright license to derivative works of the Software you create as is granted to you for the Software under this License.
18+
19+
1. *Trademarks*. You are not granted any right or license under this License to use any trademarks, service marks, trade names, products names, or branding of Unity or its affiliates ("**_Trademarks_**"). Descriptive uses of Trademarks are permitted; see, for example, Unity’s Branding Usage Guidelines at [https://unity3d.com/public-relations/brand](https://unity3d.com/public-relations/brand).
20+
21+
1. *Notices & Third-Party Rights*. This License, including the copyright notice above, must be provided in all substantial portions of the Software and derivative works thereof (or, if that is impracticable, in any other location where such notices are customarily placed). Further, if the Software is accompanied by a Unity "third-party notices" or similar file, you acknowledge and agree that software identified in that file is governed by those separate license terms.
22+
23+
1. *DISCLAIMER, LIMITATION OF LIABILITY*. THE SOFTWARE AND ANY DERIVATIVE WORKS THEREOF IS PROVIDED ON AN "AS IS" BASIS, AND IS PROVIDED WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND/OR NONINFRINGEMENT. IN NO EVENT SHALL ANY COPYRIGHT HOLDER OR AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES (WHETHER DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL, INCLUDING PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, LOSS OF USE, DATA, OR PROFITS, AND BUSINESS INTERRUPTION), OR OTHER LIABILITY WHATSOEVER, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM OR OUT OF, OR IN CONNECTION WITH, THE SOFTWARE OR ANY DERIVATIVE WORKS THEREOF OR THE USE OF OR OTHER DEALINGS IN SAME, EVEN WHERE ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24+
25+
1. *USE IS ACCEPTANCE and License Versions*. Your receipt and use of the Software constitutes your acceptance of this License and its terms and conditions. Software released by Unity under this License may be modified or updated and the License with it; upon any such modification or update, you will comply with the terms of the updated License for any use of any of the Software under the updated License.
26+
27+
1. *Use in Compliance with Law and Termination*. Your exercise of the license granted herein will at all times be in compliance with applicable law and will not infringe any proprietary rights (including intellectual property rights); this License will terminate immediately on any breach by you of this License.
28+
29+
1. *Severability*. If any provision of this License is held to be unenforceable or invalid, that provision will be enforced to the maximum extent possible and the other provisions will remain in full force and effect.
30+
31+
1. *Governing Law and Venue*. This License is governed by and construed in accordance with the laws of Denmark, except for its conflict of laws rules; the United Nations Convention on Contracts for the International Sale of Goods will not apply. If you reside (or your principal place of business is) within the United States, you and Unity agree to submit to the personal and exclusive jurisdiction of and venue in the state and federal courts located in San Francisco County, California concerning any dispute arising out of this License ("**_Dispute_**"). If you reside (or your principal place of business is) outside the United States, you and Unity agree to submit to the personal and exclusive jurisdiction of and venue in the courts located in Copenhagen, Denmark concerning any Dispute.

LICENSE.md.meta

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)