From a6ef2b8f9e17785a2509f30d10a7bb953426e334 Mon Sep 17 00:00:00 2001 From: "antoine.mcnabb" Date: Sat, 25 Jun 2016 11:52:35 -0400 Subject: [PATCH] View and movement merge + stay a while mechanic first pass --- Assets/Scripts.meta | 9 +++ Assets/Scripts/New Material 1.mat | Bin 0 -> 4900 bytes Assets/Scripts/New Material 1.mat.meta | 8 +++ Assets/Scripts/New Material.mat | Bin 0 -> 4952 bytes Assets/Scripts/New Material.mat.meta | 8 +++ Assets/Scripts/PlayerMovement.cs | 28 +++++++--- Assets/Scripts/PlayerMovement.cs.meta | 12 ++++ Assets/Scripts/PostEffectScript.cs | 36 ++++++++++++ Assets/Scripts/PostEffectScript.cs.meta | 12 ++++ Assets/Scripts/PostEffectShader.shader | 58 ++++++++++++++++++++ Assets/Scripts/PostEffectShader.shader.meta | 9 +++ Assets/Scripts/ViewControl.cs | 42 ++++++++++++++ Assets/Scripts/ViewControl.cs.meta | 12 ++++ Assets/Scripts/images.png | Bin 0 -> 529 bytes Assets/Scripts/images.png.meta | 57 +++++++++++++++++++ Assets/Scripts/sky-1141928_960_720.jpg | Bin 0 -> 28247 bytes Assets/Scripts/sky-1141928_960_720.jpg.meta | 57 +++++++++++++++++++ 17 files changed, 340 insertions(+), 8 deletions(-) create mode 100644 Assets/Scripts.meta create mode 100644 Assets/Scripts/New Material 1.mat create mode 100644 Assets/Scripts/New Material 1.mat.meta create mode 100644 Assets/Scripts/New Material.mat create mode 100644 Assets/Scripts/New Material.mat.meta create mode 100644 Assets/Scripts/PlayerMovement.cs.meta create mode 100644 Assets/Scripts/PostEffectScript.cs create mode 100644 Assets/Scripts/PostEffectScript.cs.meta create mode 100644 Assets/Scripts/PostEffectShader.shader create mode 100644 Assets/Scripts/PostEffectShader.shader.meta create mode 100644 Assets/Scripts/ViewControl.cs create mode 100644 Assets/Scripts/ViewControl.cs.meta create mode 100644 Assets/Scripts/images.png create mode 100644 Assets/Scripts/images.png.meta create mode 100644 Assets/Scripts/sky-1141928_960_720.jpg create mode 100644 Assets/Scripts/sky-1141928_960_720.jpg.meta diff --git a/Assets/Scripts.meta b/Assets/Scripts.meta new file mode 100644 index 0000000..27e71d0 --- /dev/null +++ b/Assets/Scripts.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 40764ebe822b819449a2b0cf923f4c2e +folderAsset: yes +timeCreated: 1466858656 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/New Material 1.mat b/Assets/Scripts/New Material 1.mat new file mode 100644 index 0000000000000000000000000000000000000000..5f8350fa66bb64323ebb6662e0034fd7b7b59e27 GIT binary patch literal 4900 zcmeI0OKcle6o${(v6H5}N-1qAr3S(qQc4NW(6o8ArFD~%wjefUV&B*UV^1_QZXJom ztdL;Oif$?-Hb@AuV#5N74Qqs0l*h8&c8jWp|GzW7@pUX!?0ursx%azg&YZ{0^o~Ww zeiqq1AtLvSJb;79)a230skI|=XLEDYaRBx}zr23q;O!gxIyXOBx^->;)xBk~92Sc> zQeGEHV85v+iHL*0Z}O7-;7Bq8NI$7MvIFDa!SBH_r#Y>2@;7`O!kqT`9zF>_&tg87 ztul8|1JD5eqO^#cuvkaf_SLpjM+I(p4V|6 zz&VU_oLp;O&cpU&DCav3cLYA<7?k-^DgF80t69o>)F7V{2@XJ`7Q8IF=jlxM+U|7u;F&y_L4(b&qL@V z>qbBO2ov%V-IuR2zTfbImG2|qX}(3PF9*oA7OlQKYIy2@9DU?<4}z!Hwf#Rv`{VRw z`{#W+$bTv0Ijnw;@l`1OKaOKoA6>WaGX8|&c`L6c4Ii=cnjnX;KD~8&iZCHB$QKxO z>-MzaMP1JyF=sr_7(QxUm(N+6@0fMn=g75=S@nG0@Phn=G3&`1zW}AMZr`K7zhcaL z|3yNGBcs}X_j!Lwvy}JV|C5FnF?tk#@_DZn}*wc ze9LgVk8gty>fc?v30!dg++;a|*Hhtp7}hu_Zl zyM6pl#?SO|UW|UuX1wgiD)d}mmY3sjdZFgULAcO~RV(s>)-h>T7Cm2`p2uL>jT;zf zyOoApQz4hrkr|v(8&`s`76F{~>W#SRt}ps-o%6YN6bH@sR10UGZ>zSFC=R_={eoLB zyX$hX<;5GzVX&^kcw?oZR7|JtWmU_dr|9K^>MXP_N78beDm^D9=~CPd6;G?WzLJh? zV7#=p7HMCLe&EJBkiZYZNJ6R0s<h%9R>Q%t0>cUnD=@6UumZyh{QnB@)AO9VQtED1O4vj5zhrL7 zyTZ?IZhtx70p*suQg*!-b_Zlzl3>S3O-0+ywwvqRf>>hPaZ6U2SF!8)=Yp{5`ggJC zCkA#*q3io@=PtJV7==YJM=*^NHItXFK?o*Ym3 ztEv`k3&pnI1y_|aYU2A|^`sv}(Y6y{VV}d;*`LZvSe^B;7sQx0n$1V?7887!!EUY{ z2Wx9IN^QC|1sMP1>uGKC;rpQ%E0APH=c{A!S}Kb4dE@xE!XBsFLT$&N8@6h`5{If) zj~g^kX803Af3MA{Sm#eUm5Y~FRF(FE4+hN3L5&embS~Yxq)7j~#QV6??b{qTq1mE2 MWWLQ>w|43AKgJ&!5C8xG literal 0 HcmV?d00001 diff --git a/Assets/Scripts/New Material 1.mat.meta b/Assets/Scripts/New Material 1.mat.meta new file mode 100644 index 0000000..d090321 --- /dev/null +++ b/Assets/Scripts/New Material 1.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a1d7ff165c6400643b2057a06b2fb899 +timeCreated: 1466869200 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/New Material.mat b/Assets/Scripts/New Material.mat new file mode 100644 index 0000000000000000000000000000000000000000..4537826ebc24ea44e3fa7f928df50afb7dadd704 GIT binary patch literal 4952 zcmeI0%a0UA9LIk%`(Rn{frx;J3_cKFi-`DKS!Q3bva`D|fW%AN%+&6-_DpZOdtf)w zq)#TAc<|swxe%il6JtDi@#e*wi7_1TafB;ZLs-Ax>Yk!&c8veP)a18a^{HR|`uFJW zt!|N_Ya-h(h{$~+_v0XPbmYj$(Z$1ZXMKIWPypBg`TY8gy|-`dTD|%1{H?3Iuk5UV z6)`!8Bikz?3G~Q4`p_hpZq~WH1b>EAD~Zvc#U-P=OM%GyzL}M zV?Otxj?5eF>>^Ca`*mHu%=m7@2dsD>22bN1wCb{lT+5(Umq!dw?GK}lJnvrc^t`tH zN2!0Dwru;nPP^GJWxR;lkI}yZq5b_hX8F;1`!3^;8Qy2b^|;~vR$NbzqcK1Eygf;n zkPpZw=(Y29!0%32sYZZCv*HPgpGOo z9`*eNeO~*|5uz1jleXW!-=Ehk<@xJ>#PC7+1Gay|nD^)*h)7A>xr%tNW7H3MfjGzi z#E6{tV9HZFe`7>DFB0eU+jfq0@V1?o3@_?B-o%*sJW8I>f4hz^8*bMT&r97p>-ehC zx9j+t;dUKgH{7n{8{pmQI7+U?uH&1A4+!(gIx=s3Zn5!s#rqwi;~gVRHpYA0a68^I zIa+7D@$%Vu5+YK<+@Q|GKNv9& zGmt`#-_H139sEwlPjzsfjCN)-UU6d;daf@E3voC)Rrlf`oLY@lGxCDwF=;r{p08#m z(OGcgWpuP&b=j?}kke_;bWW+Y%RyL=0A{_V<+$OlO#AK<#}ln64jN}v6Dv=*R7*(| zhhB5(th-ckSL9sNi`N#yU`2)TT6I~em`2@8s-8hl(aKr1I@P=sNz-kpbWKXqskjv? zE~~k|l2utle|~W>(zd4kz>T#dfggmCgt8Q>1*QS_26EuT zWb2y0t^Da1cTRroe^!H1uIYb+**H{D&t8wV&*7Ul)4D>S4 z%Rny!y$tj+@ZTBWc70A=F15ER`XBZ&ZiGbkL!7C~Otm^QKUZ?*=Fe2hvz78f$yq3$ zDbLQ9FJJ&2uKAVk+Gv|0+;Te=*K1<;Kz6q!*ill_ruD{KjTLNBxD6OR*q*WVxMg!D zRqT5HTo5)~pIaKM+4_tLJF3w2eRuVLZ1a`enXlFS7WZTu3}d#7?Wu+rbyc@@`FSAo zyW&RgW0Y^UZZ5{Me^J$g4X)Vw+hEG6ASb@>)lT?96m3`l4SNk^Wqq7#SR41TS45vW znoUOWT_$*OgWg0d4i*=wl!U literal 0 HcmV?d00001 diff --git a/Assets/Scripts/New Material.mat.meta b/Assets/Scripts/New Material.mat.meta new file mode 100644 index 0000000..e3f24f3 --- /dev/null +++ b/Assets/Scripts/New Material.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6a724011859964946811843b7f01d49e +timeCreated: 1466858776 +licenseType: Free +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerMovement.cs b/Assets/Scripts/PlayerMovement.cs index 34366a5..ddaa2e4 100644 --- a/Assets/Scripts/PlayerMovement.cs +++ b/Assets/Scripts/PlayerMovement.cs @@ -5,19 +5,31 @@ public class PlayerMovement : MonoBehaviour { public float speed = 0f; public float turn = 0f; + public GameObject camera; + public Rigidbody characterRigidBody; //private Rigidbody rb; // Update is called once per frame void Update () { - if (Input.GetKey(KeyCode.UpArrow)) - transform.Translate(Vector3.forward * speed * Time.deltaTime); - if (Input.GetKey(KeyCode.DownArrow)) - transform.Translate(-Vector3.forward * speed * Time.deltaTime); - if (Input.GetKey(KeyCode.LeftArrow)) - transform.Rotate(Vector3.up, -turn * Time.deltaTime); - if (Input.GetKey(KeyCode.RightArrow)) - transform.Rotate(Vector3.up, turn * Time.deltaTime); + Vector3 fowardVector = new Vector3(camera.transform.forward.x, 0, camera.transform.forward.z); + if (Input.GetAxis("Vertical")>0) + { + + characterRigidBody.velocity = ( fowardVector * speed * Time.deltaTime); + } + else if (Input.GetAxis("Vertical")<0) + { + characterRigidBody.velocity = (-fowardVector * speed * Time.deltaTime); + } + if (Input.GetAxis("Horizontal")<0) + { + characterRigidBody.velocity = (Vector3.Cross(-transform.up, fowardVector) * speed * Time.deltaTime); + } + else if (Input.GetAxis("Horizontal") > 0) + { + characterRigidBody.velocity = (Vector3.Cross(transform.up, fowardVector) * speed * Time.deltaTime); + } } } diff --git a/Assets/Scripts/PlayerMovement.cs.meta b/Assets/Scripts/PlayerMovement.cs.meta new file mode 100644 index 0000000..61dd72f --- /dev/null +++ b/Assets/Scripts/PlayerMovement.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e02d4438d816e344abb40991894780c3 +timeCreated: 1466858657 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PostEffectScript.cs b/Assets/Scripts/PostEffectScript.cs new file mode 100644 index 0000000..14fb0d2 --- /dev/null +++ b/Assets/Scripts/PostEffectScript.cs @@ -0,0 +1,36 @@ +using UnityEngine; +using System.Collections; +[ExecuteInEditMode] +public class PostEffectScript : MonoBehaviour { + public Material mat; + public float blindness = 0.5f; + public Rigidbody character; + public float blindnessRatio = 0.1f; + public float velocity; + // Use this for initialization + void Start () { + + } + + // Update is called once per frame + void Update () { + + } + void OnRenderImage(RenderTexture src, RenderTexture dest) + { + if (character.velocity.magnitude > 0) + { + blindness = character.velocity.normalized.magnitude * blindnessRatio; + blindnessRatio += 0.01f; + } + else if (blindnessRatio >= 0.1f) + { + blindness = character.velocity.normalized.magnitude * blindnessRatio; + blindnessRatio = 0.1f; + } + + + mat.SetFloat("_Blindness", blindness); + Graphics.Blit(src, dest,mat); + } +} diff --git a/Assets/Scripts/PostEffectScript.cs.meta b/Assets/Scripts/PostEffectScript.cs.meta new file mode 100644 index 0000000..c2206f5 --- /dev/null +++ b/Assets/Scripts/PostEffectScript.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: ec76a4a1cda1e3a4bb07acf36d2d1e01 +timeCreated: 1466858765 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PostEffectShader.shader b/Assets/Scripts/PostEffectShader.shader new file mode 100644 index 0000000..948484a --- /dev/null +++ b/Assets/Scripts/PostEffectShader.shader @@ -0,0 +1,58 @@ + Shader "Custom/PostEffectShader" +{ + Properties + { + _Blindness("Blindness", Float) = 0.6 + _MainTex("Texture", 2D) = "white" {} + + } + SubShader + { + // No culling or depth + Cull Off ZWrite Off ZTest Always + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + float4 vertex : SV_POSITION; + }; + + v2f vert (appdata v) + { + v2f o; + o.vertex = mul(UNITY_MATRIX_MVP, v.vertex); + o.uv = v.uv; + return o; + } + + sampler2D _MainTex; + float _Blindness; + + fixed4 frag (v2f i) : SV_Target + { + fixed4 col = tex2D(_MainTex, i.uv); + col.r = col.r+ _Blindness; + col.g = col.g+_Blindness; + col.b = col.b+_Blindness; + // just invert the colors + //col = 1 - col; + return col; + } + ENDCG + } + } +} diff --git a/Assets/Scripts/PostEffectShader.shader.meta b/Assets/Scripts/PostEffectShader.shader.meta new file mode 100644 index 0000000..257c427 --- /dev/null +++ b/Assets/Scripts/PostEffectShader.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8af73b3d4929e6c4bbf312b61e959c45 +timeCreated: 1466858754 +licenseType: Free +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/ViewControl.cs b/Assets/Scripts/ViewControl.cs new file mode 100644 index 0000000..2bd47f6 --- /dev/null +++ b/Assets/Scripts/ViewControl.cs @@ -0,0 +1,42 @@ +using UnityEngine; +using System.Collections; + +public class ViewControl : MonoBehaviour +{ + + // Speed at which the camera will catch up to the mouse pointer location + public float smoothing = 1.5f; + public float mouseSensitivity = 100.0f; + public float clampAngle = 80.0f; + + private float rotY = 0.0f; + // rotation around the up/y axis + private float rotX = 0.0f; + // rotation around the right/x axis + + // Use this for initialization + void Start() + { + Cursor.lockState = CursorLockMode.Locked; + Cursor.visible = false; + + Vector3 rot = transform.localRotation.eulerAngles; + rotY = rot.y; + rotX = rot.x; + } + + // Called once every physics update + void FixedUpdate() + { + float mouseX = Input.GetAxis("Mouse X"); + float mouseY = -Input.GetAxis("Mouse Y"); + + rotY += mouseX * mouseSensitivity * Time.deltaTime; + rotX += mouseY * mouseSensitivity * Time.deltaTime; + + rotX = Mathf.Clamp(rotX, -clampAngle, clampAngle); + + Quaternion localRotation = Quaternion.Euler(rotX, rotY, 0.0f); + transform.rotation = localRotation; + } +} diff --git a/Assets/Scripts/ViewControl.cs.meta b/Assets/Scripts/ViewControl.cs.meta new file mode 100644 index 0000000..e9d4066 --- /dev/null +++ b/Assets/Scripts/ViewControl.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e0d46d2696637bd4994804f7b9e4d3fe +timeCreated: 1466858657 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/images.png b/Assets/Scripts/images.png new file mode 100644 index 0000000000000000000000000000000000000000..6e40a661d00fbf6ff08aa7e588477a20eee74e36 GIT binary patch literal 529 zcmeAS@N?(olHy`uVBq!ia0vp^^&rf_3?x4$zf}ZMP60k4u0Z<#|NqODEvv4s-nw<` z%ao~ z3;OiK&%Rxhd4T%^gWN&yqou5M8}HZse!KntzxWsV@vrx%{hO`Ed-eL4z{2gC@=nWZ z-nNE!f4Uu8xNXkDX)&kYRBFsW$o=%|k@?(y^`WopF3NA5ulPB8)|vG%Q_g>R@Y1uM z``*R-9=9UAf-Y*wPyWOpH)ZwmD+jhXlA>^LSz5fjMaC=nh&g{Ny-+0+RS#I7}x6aD%Z~n@E{!xDBw|>`e z(a--FzcZSh`R%@!-$3P#`H5-Ge`~7$I{&v{{r}B&h&!$Svv*!`e_y}c{5~*l89ZJ6 KT-G@yGywoxr6$b) literal 0 HcmV?d00001 diff --git a/Assets/Scripts/images.png.meta b/Assets/Scripts/images.png.meta new file mode 100644 index 0000000..6ad476c --- /dev/null +++ b/Assets/Scripts/images.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: d291956c75df3674396ed3b0bff90c13 +timeCreated: 1466869186 +licenseType: Free +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/sky-1141928_960_720.jpg b/Assets/Scripts/sky-1141928_960_720.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1806f6bf1b27b02081a5e571ebd51a961df8937d GIT binary patch literal 28247 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 YjPT>E|G1L>kEWYgtft$