18 changed files with 1848 additions and 482 deletions
|
After Width: | Height: | Size: 8.4 MiB |
@ -0,0 +1,127 @@ |
|||
fileFormatVersion: 2 |
|||
guid: 52c7b9f1bbf0887429d8c6e0c3da2ffb |
|||
TextureImporter: |
|||
internalIDToNameTable: [] |
|||
externalObjects: {} |
|||
serializedVersion: 12 |
|||
mipmaps: |
|||
mipMapMode: 0 |
|||
enableMipMap: 0 |
|||
sRGBTexture: 1 |
|||
linearTexture: 0 |
|||
fadeOut: 0 |
|||
borderMipMap: 0 |
|||
mipMapsPreserveCoverage: 0 |
|||
alphaTestReferenceValue: 0.5 |
|||
mipMapFadeDistanceStart: 1 |
|||
mipMapFadeDistanceEnd: 3 |
|||
bumpmap: |
|||
convertToNormalMap: 0 |
|||
externalNormalMap: 0 |
|||
heightScale: 0.25 |
|||
normalMapFilter: 0 |
|||
flipGreenChannel: 0 |
|||
isReadable: 0 |
|||
streamingMipmaps: 0 |
|||
streamingMipmapsPriority: 0 |
|||
vTOnly: 0 |
|||
ignoreMipmapLimit: 0 |
|||
grayScaleToAlpha: 0 |
|||
generateCubemap: 6 |
|||
cubemapConvolution: 0 |
|||
seamlessCubemap: 0 |
|||
textureFormat: 1 |
|||
maxTextureSize: 2048 |
|||
textureSettings: |
|||
serializedVersion: 2 |
|||
filterMode: 1 |
|||
aniso: 1 |
|||
mipBias: 0 |
|||
wrapU: 1 |
|||
wrapV: 1 |
|||
wrapW: 0 |
|||
nPOTScale: 0 |
|||
lightmap: 0 |
|||
compressionQuality: 50 |
|||
spriteMode: 1 |
|||
spriteExtrude: 1 |
|||
spriteMeshType: 1 |
|||
alignment: 0 |
|||
spritePivot: {x: 0.5, y: 0.5} |
|||
spritePixelsToUnits: 100 |
|||
spriteBorder: {x: 0, y: 0, z: 0, w: 0} |
|||
spriteGenerateFallbackPhysicsShape: 1 |
|||
alphaUsage: 1 |
|||
alphaIsTransparency: 1 |
|||
spriteTessellationDetail: -1 |
|||
textureType: 8 |
|||
textureShape: 1 |
|||
singleChannelComponent: 0 |
|||
flipbookRows: 1 |
|||
flipbookColumns: 1 |
|||
maxTextureSizeSet: 0 |
|||
compressionQualitySet: 0 |
|||
textureFormatSet: 0 |
|||
ignorePngGamma: 0 |
|||
applyGammaDecoding: 0 |
|||
swizzle: 50462976 |
|||
cookieLightType: 0 |
|||
platformSettings: |
|||
- serializedVersion: 3 |
|||
buildTarget: DefaultTexturePlatform |
|||
maxTextureSize: 2048 |
|||
resizeAlgorithm: 0 |
|||
textureFormat: -1 |
|||
textureCompression: 1 |
|||
compressionQuality: 50 |
|||
crunchedCompression: 0 |
|||
allowsAlphaSplitting: 0 |
|||
overridden: 0 |
|||
ignorePlatformSupport: 0 |
|||
androidETC2FallbackOverride: 0 |
|||
forceMaximumCompressionQuality_BC6H_BC7: 0 |
|||
- serializedVersion: 3 |
|||
buildTarget: Standalone |
|||
maxTextureSize: 2048 |
|||
resizeAlgorithm: 0 |
|||
textureFormat: -1 |
|||
textureCompression: 1 |
|||
compressionQuality: 50 |
|||
crunchedCompression: 0 |
|||
allowsAlphaSplitting: 0 |
|||
overridden: 0 |
|||
ignorePlatformSupport: 0 |
|||
androidETC2FallbackOverride: 0 |
|||
forceMaximumCompressionQuality_BC6H_BC7: 0 |
|||
- serializedVersion: 3 |
|||
buildTarget: Server |
|||
maxTextureSize: 2048 |
|||
resizeAlgorithm: 0 |
|||
textureFormat: -1 |
|||
textureCompression: 1 |
|||
compressionQuality: 50 |
|||
crunchedCompression: 0 |
|||
allowsAlphaSplitting: 0 |
|||
overridden: 0 |
|||
ignorePlatformSupport: 0 |
|||
androidETC2FallbackOverride: 0 |
|||
forceMaximumCompressionQuality_BC6H_BC7: 0 |
|||
spriteSheet: |
|||
serializedVersion: 2 |
|||
sprites: [] |
|||
outline: [] |
|||
physicsShape: [] |
|||
bones: [] |
|||
spriteID: 5e97eb03825dee720800000000000000 |
|||
internalID: 0 |
|||
vertices: [] |
|||
indices: |
|||
edges: [] |
|||
weights: [] |
|||
secondaryTextures: [] |
|||
nameFileIdTable: {} |
|||
mipmapLimitGroupName: |
|||
pSDRemoveMatte: 0 |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|||
@ -0,0 +1,7 @@ |
|||
fileFormatVersion: 2 |
|||
guid: 5b07afdbcf13e43438545d591cfd2e4b |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|||
@ -1,27 +0,0 @@ |
|||
fileFormatVersion: 2 |
|||
guid: a94cf6fef2879da4c91e5ef768aadf4e |
|||
PluginImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
iconMap: {} |
|||
executionOrder: {} |
|||
defineConstraints: [] |
|||
isPreloaded: 0 |
|||
isOverridable: 0 |
|||
isExplicitlyReferenced: 0 |
|||
validateReferences: 1 |
|||
platformData: |
|||
- first: |
|||
Any: |
|||
second: |
|||
enabled: 1 |
|||
settings: {} |
|||
- first: |
|||
Editor: Editor |
|||
second: |
|||
enabled: 0 |
|||
settings: |
|||
DefaultValueInitialized: true |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|||
File diff suppressed because it is too large
@ -0,0 +1,236 @@ |
|||
using Cinemachine; |
|||
using System; |
|||
using System.Collections; |
|||
using System.Collections.Generic; |
|||
using UnityEngine; |
|||
|
|||
public class MapCameraCrtl : MonoBehaviour |
|||
{ |
|||
[Header("虚拟相机")] |
|||
public CinemachineVirtualCamera virtualCamera; |
|||
[Header("初始位置")] |
|||
public Vector3 startPos; |
|||
[Header("当前移动输入")] |
|||
public float moveX; |
|||
public float moveY; |
|||
float scrollWheelInput;//滚轮输入
|
|||
[Header("移动速度")] |
|||
public float moveSpeed; |
|||
public float fovSpeed; |
|||
[Header("y轴距离限制(视角远近)")] |
|||
public float yCloseDistance; |
|||
public float yFarDistance; |
|||
[Header("平移距离限制")] |
|||
public float xMaxMove; |
|||
public float xMinMove; |
|||
public float yMaxMove; |
|||
public float yMinMove; |
|||
Vector3 xMaxPos; |
|||
Vector3 xMinPos; |
|||
Vector3 yMaxPos; |
|||
Vector3 yMinPos; |
|||
|
|||
void Start() |
|||
{ |
|||
startPos = transform.position; |
|||
xMaxPos = transform.position + new Vector3(xMaxMove, 0, 0); |
|||
xMinPos = transform.position + new Vector3(xMinMove, 0, 0); |
|||
yMaxPos = transform.position + new Vector3(0, yMaxMove, 0); |
|||
yMinPos = transform.position + new Vector3(0, yMinMove, 0); |
|||
} |
|||
|
|||
private void LateUpdate() |
|||
{ |
|||
//按下鼠标中键-移动
|
|||
if (Input.GetMouseButton(0)) |
|||
{ |
|||
moveX = Mathf.Clamp(Input.GetAxis("Mouse X"), -1, 1); |
|||
moveY = Mathf.Clamp(Input.GetAxis("Mouse Y"), -1, 1); |
|||
|
|||
/* if (transform.position.x > xMaxPos.x) |
|||
{ |
|||
if (moveX < 0) |
|||
{ |
|||
moveX = 0; |
|||
} |
|||
} |
|||
if (transform.position.x < xMinPos.x) |
|||
{ |
|||
if (moveX > 0) |
|||
{ |
|||
moveX = 0; |
|||
} |
|||
} |
|||
if (transform.position.y > yMaxPos.y) |
|||
{ |
|||
if (moveY < 0) |
|||
{ |
|||
moveY = 0; |
|||
} |
|||
} |
|||
if (transform.position.y < yMinPos.y) |
|||
{ |
|||
if (moveY > 0) |
|||
{ |
|||
moveY = 0; |
|||
} |
|||
}*/ |
|||
float disX = -moveX * Time.deltaTime * moveSpeed; |
|||
Vector3 x = Vector3.right * disX; |
|||
float preX = ((10 - transform.position.z) * 0.734f + MathF.Abs(transform.position.x) + MathF.Abs(disX)); |
|||
if(preX < 7.34) |
|||
{ |
|||
transform.Translate(x); |
|||
} |
|||
else |
|||
{ |
|||
if(transform .position .x <0) |
|||
{ |
|||
if(disX <0) |
|||
{ |
|||
transform.position = new Vector3(-7.34f + (10 - transform.position.z) * 0.734f, transform.position.y, transform.position.z); |
|||
} |
|||
else |
|||
{ |
|||
transform.Translate(x); |
|||
} |
|||
} |
|||
else if (transform.position.x > 0) |
|||
{ |
|||
if(disX >0) |
|||
{ |
|||
transform.position = new Vector3(7.34f - (10 - transform.position.z) * 0.734f, transform.position.y, transform.position.z); |
|||
} |
|||
else |
|||
{ |
|||
transform.Translate(x); |
|||
} |
|||
} |
|||
|
|||
} |
|||
float disY = -moveY * Time.deltaTime * moveSpeed; |
|||
Vector3 y = Vector3.up * disY; |
|||
float preY = ((10 - transform.position.z) * 0.4f + MathF.Abs(transform.position.y) + MathF.Abs(disY)); |
|||
if (preY < 5.5) |
|||
{ |
|||
transform.Translate(y); |
|||
} |
|||
else |
|||
{ |
|||
if (transform.position.y < 0) |
|||
{ |
|||
if (disY < 0) |
|||
{ |
|||
transform.position = new Vector3(transform.position.x, -5.5f + (10 - transform.position.z) * 0.4f, transform.position.z); |
|||
} |
|||
else |
|||
{ |
|||
transform.Translate(y); |
|||
} |
|||
} |
|||
else if (transform.position.y > 0) |
|||
{ |
|||
if (disY > 0) |
|||
{ |
|||
transform.position = new Vector3(transform.position.x, 5.5f - (10 - transform.position.z) * 0.4f, transform.position.z); |
|||
} |
|||
else |
|||
{ |
|||
transform.Translate(y); |
|||
} |
|||
} |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
//滚轮缩放
|
|||
scrollWheelInput = Input.GetAxis("Mouse ScrollWheel"); |
|||
float distance = Time.deltaTime * fovSpeed * scrollWheelInput;//一帧移动的距离
|
|||
|
|||
if (scrollWheelInput > 0f) |
|||
{ |
|||
// Debug.Log("向上滚动鼠标滚轮");
|
|||
if (transform.position.z+distance< yCloseDistance) |
|||
{ |
|||
transform.position += new Vector3(0, 0, distance); |
|||
} |
|||
else |
|||
{ |
|||
transform.position = new Vector3(transform.position.x,transform.position.y, yCloseDistance); |
|||
} |
|||
} |
|||
else if (scrollWheelInput < 0f) |
|||
{ |
|||
// Debug.Log("向下滚动鼠标滚轮");
|
|||
|
|||
if (transform.position.z+distance> yFarDistance) |
|||
{ |
|||
transform.position += new Vector3(0, 0, distance); |
|||
} |
|||
else |
|||
{ |
|||
transform.position = new Vector3(transform.position.x, transform.position.y, yFarDistance); |
|||
} |
|||
//判断是否会出框
|
|||
//横向偏移防止图像出框
|
|||
float disX = ((MathF.Abs(transform.position.x) + (MathF.Abs(distance) +10- MathF.Abs(transform.position.z)) * 0.734f)); |
|||
if(disX>7.43f) |
|||
{ |
|||
if (transform.position.x < 0) |
|||
{ |
|||
if (transform.position.x - (0.734f * distance) >= 0) |
|||
{ |
|||
transform.position = new Vector3(0, transform.position.y, transform.position.z); |
|||
} |
|||
else |
|||
{ |
|||
transform.position -= new Vector3(0.734f * distance, 0, 0); |
|||
} |
|||
|
|||
} |
|||
else |
|||
{ |
|||
if (transform.position.x + (0.734f * distance) <= 0) |
|||
{ |
|||
transform.position = new Vector3(0, transform.position.y, transform.position.z); |
|||
} |
|||
else |
|||
{ |
|||
transform.position += new Vector3(0.734f * distance, 0, 0); |
|||
} |
|||
|
|||
} |
|||
} |
|||
//纵向偏移防止出框
|
|||
float disY = ((MathF.Abs(transform.position.y) + (MathF.Abs(distance) + 10 - MathF.Abs(transform.position.z)) * 0.4f)); |
|||
if (disY > 5.5f) |
|||
{ |
|||
if (transform.position.y < 0) |
|||
{ |
|||
if (transform.position.y - (0.4f * distance) >= 0) |
|||
{ |
|||
transform.position = new Vector3(transform.position.x, 0, transform.position.z); |
|||
} |
|||
else |
|||
{ |
|||
transform.position -= new Vector3(0, 0.4f * distance, 0); |
|||
} |
|||
|
|||
} |
|||
else |
|||
{ |
|||
if (transform.position.y + (0.4f * distance) <= 0) |
|||
{ |
|||
transform.position = new Vector3(transform.position.x, 0, transform.position.z); |
|||
} |
|||
else |
|||
{ |
|||
transform.position += new Vector3(0, 0.4f * distance, 0); |
|||
} |
|||
|
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,11 @@ |
|||
fileFormatVersion: 2 |
|||
guid: 6d5f392a3c38cba4cb4ccbb3f40f69f7 |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|||
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue