Among else, fixed determined aspect ratio
This commit is contained in:
parent
43f2114a49
commit
22204194d7
@ -1063,7 +1063,7 @@ Camera:
|
|||||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
||||||
m_projectionMatrixMode: 1
|
m_projectionMatrixMode: 1
|
||||||
m_GateFitMode: 2
|
m_GateFitMode: 2
|
||||||
m_FOVAxisMode: 0
|
m_FOVAxisMode: 1
|
||||||
m_SensorSize: {x: 36, y: 24}
|
m_SensorSize: {x: 36, y: 24}
|
||||||
m_LensShift: {x: 0, y: 0}
|
m_LensShift: {x: 0, y: 0}
|
||||||
m_FocalLength: 50
|
m_FocalLength: 50
|
||||||
@ -1075,7 +1075,7 @@ Camera:
|
|||||||
height: 1
|
height: 1
|
||||||
near clip plane: 0.3
|
near clip plane: 0.3
|
||||||
far clip plane: 1000
|
far clip plane: 1000
|
||||||
field of view: 60
|
field of view: 58.727467
|
||||||
orthographic: 0
|
orthographic: 0
|
||||||
orthographic size: 5
|
orthographic size: 5
|
||||||
m_Depth: -1
|
m_Depth: -1
|
||||||
@ -3001,6 +3001,7 @@ MonoBehaviour:
|
|||||||
cannonForce: 1000
|
cannonForce: 1000
|
||||||
fireRate: 0.5
|
fireRate: 0.5
|
||||||
fireTimer: 0
|
fireTimer: 0
|
||||||
|
damage: 1
|
||||||
--- !u!65 &290013269
|
--- !u!65 &290013269
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -9368,7 +9369,7 @@ Camera:
|
|||||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
||||||
m_projectionMatrixMode: 1
|
m_projectionMatrixMode: 1
|
||||||
m_GateFitMode: 2
|
m_GateFitMode: 2
|
||||||
m_FOVAxisMode: 0
|
m_FOVAxisMode: 1
|
||||||
m_SensorSize: {x: 36, y: 24}
|
m_SensorSize: {x: 36, y: 24}
|
||||||
m_LensShift: {x: 0, y: 0}
|
m_LensShift: {x: 0, y: 0}
|
||||||
m_FocalLength: 50
|
m_FocalLength: 50
|
||||||
@ -9380,7 +9381,7 @@ Camera:
|
|||||||
height: 1
|
height: 1
|
||||||
near clip plane: 0.3
|
near clip plane: 0.3
|
||||||
far clip plane: 1000
|
far clip plane: 1000
|
||||||
field of view: 60
|
field of view: 58.727467
|
||||||
orthographic: 0
|
orthographic: 0
|
||||||
orthographic size: 5
|
orthographic size: 5
|
||||||
m_Depth: -1
|
m_Depth: -1
|
||||||
@ -11657,6 +11658,7 @@ MonoBehaviour:
|
|||||||
cannonForce: 1000
|
cannonForce: 1000
|
||||||
fireRate: 0.5
|
fireRate: 0.5
|
||||||
fireTimer: 0
|
fireTimer: 0
|
||||||
|
damage: 1
|
||||||
--- !u!65 &1157167103
|
--- !u!65 &1157167103
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -13441,22 +13443,22 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 02e217105518e1f418b52195b8b328d7, type: 3}
|
m_Script: {fileID: 11500000, guid: 02e217105518e1f418b52195b8b328d7, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
transitionDuration: 5
|
transitionDuration: 1.5
|
||||||
transitionCurve:
|
transitionCurve:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Curve:
|
m_Curve:
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 0
|
time: 0.21012497
|
||||||
value: 0
|
value: 0.023590088
|
||||||
inSlope: 2
|
inSlope: 0
|
||||||
outSlope: 2
|
outSlope: 0
|
||||||
tangentMode: 0
|
tangentMode: 0
|
||||||
weightedMode: 0
|
weightedMode: 0
|
||||||
inWeight: 0
|
inWeight: 0
|
||||||
outWeight: 0
|
outWeight: 0
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 1
|
time: 0.82281494
|
||||||
value: 1
|
value: 0.99056625
|
||||||
inSlope: 0
|
inSlope: 0
|
||||||
outSlope: 0
|
outSlope: 0
|
||||||
tangentMode: 0
|
tangentMode: 0
|
||||||
@ -13479,8 +13481,8 @@ MonoBehaviour:
|
|||||||
texture: {fileID: 0}
|
texture: {fileID: 0}
|
||||||
renderQuad: {fileID: 2080936950}
|
renderQuad: {fileID: 2080936950}
|
||||||
material: {fileID: 0}
|
material: {fileID: 0}
|
||||||
quadOffset: 0.84
|
|
||||||
tabWidth: 0.1
|
tabWidth: 0.1
|
||||||
|
quadOffset: 0.87
|
||||||
--- !u!1 &1390568200
|
--- !u!1 &1390568200
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -18553,6 +18555,7 @@ MonoBehaviour:
|
|||||||
cannonForce: 1000
|
cannonForce: 1000
|
||||||
fireRate: 0.5
|
fireRate: 0.5
|
||||||
fireTimer: 0
|
fireTimer: 0
|
||||||
|
damage: 1
|
||||||
--- !u!65 &1935451042
|
--- !u!65 &1935451042
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@ -8,17 +8,20 @@ public class WorldSwitcher : MonoBehaviour {
|
|||||||
|
|
||||||
[SerializeField] AnimationCurve transitionCurve;
|
[SerializeField] AnimationCurve transitionCurve;
|
||||||
[SerializeField] WorldInfo[] worldInfos;
|
[SerializeField] WorldInfo[] worldInfos;
|
||||||
[SerializeField] float quadOffset;
|
|
||||||
|
|
||||||
[Range(0, 1)]
|
[Range(0, 1)]
|
||||||
[SerializeField] float tabWidth;
|
[SerializeField] float tabWidth;
|
||||||
|
|
||||||
|
//TODO Hardcode
|
||||||
|
[SerializeField]
|
||||||
|
float quadOffset;
|
||||||
|
|
||||||
int lastWorldIndex;
|
int lastWorldIndex;
|
||||||
int currentWorldIndex;
|
int currentWorldIndex;
|
||||||
Coroutine transition;
|
Coroutine transition;
|
||||||
static readonly int UVOffset = Shader.PropertyToID("_UVOffset");
|
static readonly int UVOffset = Shader.PropertyToID("_UVOffset");
|
||||||
|
|
||||||
void Start() {
|
void Awake() {
|
||||||
if (worldInfos.Length != 3)
|
if (worldInfos.Length != 3)
|
||||||
Debug.LogWarning("For now, WorldSwitcher should have 3 worlds.");
|
Debug.LogWarning("For now, WorldSwitcher should have 3 worlds.");
|
||||||
|
|
||||||
@ -66,8 +69,6 @@ public class WorldSwitcher : MonoBehaviour {
|
|||||||
|
|
||||||
float startTime = Time.time;
|
float startTime = Time.time;
|
||||||
Camera lastCam = lastWorld.camera;
|
Camera lastCam = lastWorld.camera;
|
||||||
//float startX = currentWorldIndex - lastWorldIndex > 0 ? -newWorld.texture.width / 2f + tabWidth * Screen.width : newWorld.texture.width / 2f - tabWidth * Screen.width + Screen.width;
|
|
||||||
|
|
||||||
|
|
||||||
while (Time.time < startTime + transitionDuration) {
|
while (Time.time < startTime + transitionDuration) {
|
||||||
float t = transitionCurve.Evaluate((Time.time - startTime) / transitionDuration);
|
float t = transitionCurve.Evaluate((Time.time - startTime) / transitionDuration);
|
||||||
@ -83,10 +84,13 @@ public class WorldSwitcher : MonoBehaviour {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Vector3 GetQuadOffset(Camera cam, WorldInfo worldInfo, int index, bool fromRight, float t = 0f) {
|
Vector3 GetQuadOffset(Camera cam, WorldInfo worldInfo, int index, bool fromRight, float t = 0f) {
|
||||||
float x = fromRight ? 1f - tabWidth * (worldInfos.Length - index) - t : tabWidth * (1 + index) + t;
|
float x = fromRight ?
|
||||||
|
Mathf.Lerp(1f - tabWidth * (worldInfos.Length - index), 0f, t) :
|
||||||
|
Mathf.Lerp(index * tabWidth, 1f, t);
|
||||||
Vector3 quadHalfWidthOffset = Vector3.right * (fromRight ? worldInfo.renderQuad.localScale.x / 2f : -worldInfo.renderQuad.localScale.x / 2f);
|
Vector3 quadHalfWidthOffset = Vector3.right * (fromRight ? worldInfo.renderQuad.localScale.x / 2f : -worldInfo.renderQuad.localScale.x / 2f);
|
||||||
|
|
||||||
return cam.ViewportToWorldPoint(new Vector3(x, .5f, quadOffset)) + quadHalfWidthOffset;
|
//TODO Offset epsilon
|
||||||
|
return cam.ViewportToWorldPoint(new Vector3(x, .5f, quadOffset - (t != 0 ? .01f : 0f))) + quadHalfWidthOffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ResetQuadPositions() {
|
void ResetQuadPositions() {
|
||||||
@ -124,8 +128,16 @@ struct WorldInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void GenerateRenderTexture() {
|
public void GenerateRenderTexture() {
|
||||||
|
bool usingTexture = !ReferenceEquals(camera.targetTexture, null);
|
||||||
|
if (usingTexture)
|
||||||
|
camera.targetTexture = null;
|
||||||
|
|
||||||
renderQuad.localScale = new Vector3(camera.aspect, 1f, 1f);
|
renderQuad.localScale = new Vector3(camera.aspect, 1f, 1f);
|
||||||
texture = new RenderTexture(Screen.width, Screen.height, 32);
|
texture = new RenderTexture(Screen.width, Screen.height, 32);
|
||||||
material.SetTexture(CameraTexture, texture);
|
material.SetTexture(CameraTexture, texture);
|
||||||
|
|
||||||
|
|
||||||
|
if (usingTexture)
|
||||||
|
camera.targetTexture = texture;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user