This commit is contained in:
2025-05-30 19:37:54 +08:00
parent 82790c3d86
commit abd7cf3150
17 changed files with 779 additions and 135 deletions

View File

@@ -49,10 +49,10 @@ MonoBehaviour:
m_addressable:
m_atlas:
m_fileSize: 26192
m_assetChangeTS: 1747808540
m_fileInfoReadTS: 1747808541
m_fileWriteTS: 1747808540
m_cachefileWriteTS: 1747808540
m_assetChangeTS: 1748595975
m_fileInfoReadTS: 1748595976
m_fileWriteTS: 1748595974
m_cachefileWriteTS: 1748595974
refreshStamp: 2
UseGUIDsList: []
- guid: 00000000000000005000000000000000
@@ -1846,15 +1846,15 @@ MonoBehaviour:
UseGUIDsList: []
- guid: 20904e6182baed446b49fe294fad22b2
type: 2
m_fileInfoHash: 7582.cs
m_fileInfoHash: 8241.cs
m_assetbundle:
m_addressable:
m_atlas:
m_fileSize: 7582
m_assetChangeTS: 0
m_fileInfoReadTS: 1747758838
m_fileWriteTS: 1746895565
m_cachefileWriteTS: 1746895565
m_fileSize: 8241
m_assetChangeTS: 1748595572
m_fileInfoReadTS: 1748595588
m_fileWriteTS: 1748595308
m_cachefileWriteTS: 1748595308
refreshStamp: 2
UseGUIDsList: []
- guid: 20e01cb163f347c7819ae286c33baf85
@@ -12053,10 +12053,10 @@ MonoBehaviour:
m_addressable:
m_atlas:
m_fileSize: 3645
m_assetChangeTS: 1747761319
m_fileInfoReadTS: 1747761448
m_fileWriteTS: 1747761319
m_cachefileWriteTS: 1747761319
m_assetChangeTS: 1748596906
m_fileInfoReadTS: 1748597278
m_fileWriteTS: 1748596906
m_cachefileWriteTS: 1748596906
refreshStamp: 2
UseGUIDsList:
- guid: bf2edee5c58d82540a51f03df9d42094
@@ -20032,15 +20032,15 @@ MonoBehaviour:
UseGUIDsList: []
- guid: 6191c60211a05c04ea9265f89896f4d0
type: 5
m_fileInfoHash: 87221.prefab
m_fileInfoHash: 84386.prefab
m_assetbundle:
m_addressable:
m_atlas:
m_fileSize: 87221
m_assetChangeTS: 0
m_fileInfoReadTS: 1747758835
m_fileWriteTS: 1746895565
m_cachefileWriteTS: 1746895565
m_fileSize: 84386
m_assetChangeTS: 1748589050
m_fileInfoReadTS: 1748589074
m_fileWriteTS: 1746886071
m_cachefileWriteTS: 1746886071
refreshStamp: 2
UseGUIDsList:
- guid: f4688fdb7df04437aeb418b961361dc5
@@ -22204,15 +22204,15 @@ MonoBehaviour:
UseGUIDsList: []
- guid: 81e2cda70e8084a3fb324d644db244fd
type: 5
m_fileInfoHash: 253237.asset
m_fileInfoHash: 251757.asset
m_assetbundle:
m_addressable:
m_atlas:
m_fileSize: 253237
m_assetChangeTS: 1748064342
m_fileInfoReadTS: 1748064364
m_fileWriteTS: 1748063943
m_cachefileWriteTS: 1748063943
m_fileSize: 251757
m_assetChangeTS: 1748596906
m_fileInfoReadTS: 1748597278
m_fileWriteTS: 1748596906
m_cachefileWriteTS: 1748596906
refreshStamp: 2
UseGUIDsList:
- guid: e6b16dc7c203450459bb86e24305f9ca
@@ -22929,6 +22929,30 @@ MonoBehaviour:
ids:
- guid: 1f82daa2ab22a0943a51de0203fee565
ids:
- guid: 188dfe7e559f13248ba2c41eb5a59328
ids: 1c000000
- guid: f20112bdeec2e8d4d9f80e8390e37263
ids: 1c000000
- guid: 3ee40aa79cd242a5b53b0b0ca4f13f0f
ids: 1c000000
- guid: 2fd6421f253b4ef1a19526541f9ffc0c
ids: 1c000000
- guid: 02f78a9ec76d40f49bfac78c64a754d1
ids: 1c000000
- guid: a7ec9e7ad8b847b7ae4510af83c5d868
ids: 1c000000
- guid: b0f85f7da5042c0448a526d5ecacbfa9
ids: 1c000000
- guid: f87b5805002ec9649bcb1b96d8a16ba9
ids: 1c000000
- guid: 3028dc075ba8c584d9bc7d1e0255e038
ids: 1c000000
- guid: 93f09189124b21e479fc891dbc1b93bf
ids: 1c000000
- guid: f66c4aa44c09b6a42a2b5b9f9334d824
ids: 1c000000
- guid: dcc0ed9263c0d524aabeb5f4bd75ecee
ids: 1c000000
- guid: 8113366f9f7cec647878e3af2fb98922
type: 9
m_fileInfoHash: 19671.png
@@ -28269,10 +28293,10 @@ MonoBehaviour:
m_addressable:
m_atlas:
m_fileSize: 3642
m_assetChangeTS: 1747761319
m_fileInfoReadTS: 1747761448
m_fileWriteTS: 1747761318
m_cachefileWriteTS: 1747761318
m_assetChangeTS: 1748596906
m_fileInfoReadTS: 1748597278
m_fileWriteTS: 1748596906
m_cachefileWriteTS: 1748596906
refreshStamp: 2
UseGUIDsList:
- guid: bf2edee5c58d82540a51f03df9d42094
@@ -55646,10 +55670,10 @@ MonoBehaviour:
m_addressable:
m_atlas:
m_fileSize: 6652
m_assetChangeTS: 0
m_fileInfoReadTS: 1747758829
m_fileWriteTS: 1746933653
m_cachefileWriteTS: 1746933653
m_assetChangeTS: 1748604636
m_fileInfoReadTS: 1748604654
m_fileWriteTS: 1748604597
m_cachefileWriteTS: 1748604597
refreshStamp: 2
UseGUIDsList: []
- guid: e3161f1cd14e4e2799db62e6545115de
@@ -62500,15 +62524,15 @@ MonoBehaviour:
UseGUIDsList: []
- guid: 54748045ed19d4ea6889de9b617f6f8b
type: 2
m_fileInfoHash: 2330.cs
m_fileInfoHash: 2329.cs
m_assetbundle:
m_addressable:
m_atlas:
m_fileSize: 2330
m_assetChangeTS: 0
m_fileInfoReadTS: 1747758828
m_fileWriteTS: 1746949787
m_cachefileWriteTS: 1746949787
m_fileSize: 2329
m_assetChangeTS: 1748068396
m_fileInfoReadTS: 1748068409
m_fileWriteTS: 1748068392
m_cachefileWriteTS: 1748068392
refreshStamp: 2
UseGUIDsList: []
- guid: 5474cb78511de04459cac50d50b9d9e0
@@ -67469,15 +67493,15 @@ MonoBehaviour:
UseGUIDsList: []
- guid: a48a638548bdb6645bfa74867dc72087
type: 2
m_fileInfoHash: 10566.cs
m_fileInfoHash: 10258.cs
m_assetbundle:
m_addressable:
m_atlas:
m_fileSize: 10566
m_assetChangeTS: 0
m_fileInfoReadTS: 1747758827
m_fileWriteTS: 1746949787
m_cachefileWriteTS: 1746949787
m_fileSize: 10258
m_assetChangeTS: 1748595572
m_fileInfoReadTS: 1748595588
m_fileWriteTS: 1748595562
m_cachefileWriteTS: 1748595562
refreshStamp: 2
UseGUIDsList: []
- guid: a48a9e08d9023374fab5d929e609b9bd
@@ -118733,15 +118757,15 @@ MonoBehaviour:
UseGUIDsList: []
- guid: 48120e902e0734a51a10b8b4c0229afa
type: 2
m_fileInfoHash: 7637.cs
m_fileInfoHash: 7639.cs
m_assetbundle:
m_addressable:
m_atlas:
m_fileSize: 7637
m_assetChangeTS: 0
m_fileInfoReadTS: 1747758819
m_fileWriteTS: 1745129375
m_cachefileWriteTS: 1745129375
m_fileSize: 7639
m_assetChangeTS: 1748070911
m_fileInfoReadTS: 1748070929
m_fileWriteTS: 1748070908
m_cachefileWriteTS: 1748070908
refreshStamp: 2
UseGUIDsList: []
- guid: 4822e5675c12bf14d93b254d27ec8bd7
@@ -130179,15 +130203,15 @@ MonoBehaviour:
UseGUIDsList: []
- guid: 09efd164733b64d539127e1d09f6ef5a
type: 2
m_fileInfoHash: 5007.cs
m_fileInfoHash: 5207.cs
m_assetbundle:
m_addressable:
m_atlas:
m_fileSize: 5007
m_assetChangeTS: 0
m_fileInfoReadTS: 1747758817
m_fileWriteTS: 1744806401
m_cachefileWriteTS: 1744806401
m_fileSize: 5207
m_assetChangeTS: 1748604834
m_fileInfoReadTS: 1748604849
m_fileWriteTS: 1748604830
m_cachefileWriteTS: 1748604830
refreshStamp: 2
UseGUIDsList: []
- guid: 1900baa5498f6417b8a7037bb313eb83
@@ -137452,15 +137476,15 @@ MonoBehaviour:
UseGUIDsList: []
- guid: 99c9720ab356a0642a771bea13969a05
type: 3
m_fileInfoHash: 878477.unity
m_fileInfoHash: 861909.unity
m_assetbundle:
m_addressable:
m_atlas:
m_fileSize: 878477
m_assetChangeTS: 1748064342
m_fileInfoReadTS: 1748064363
m_fileWriteTS: 1748063976
m_cachefileWriteTS: 1748063976
m_fileSize: 861909
m_assetChangeTS: 1748065312
m_fileInfoReadTS: 1748065313
m_fileWriteTS: 1748065312
m_cachefileWriteTS: 1748065312
refreshStamp: 2
UseGUIDsList:
- guid: 20c30ea7b5a4fa046b4cc5a27824d90b
@@ -138479,6 +138503,28 @@ MonoBehaviour:
ids: 73000000
- guid: 4cfddfd71be34fb43b85eec28d5cf24a
ids: 73000000
- guid: 188dfe7e559f13248ba2c41eb5a59328
ids: 1c000000
- guid: f20112bdeec2e8d4d9f80e8390e37263
ids: 1c000000
- guid: 3ee40aa79cd242a5b53b0b0ca4f13f0f
ids: 1c000000
- guid: 2fd6421f253b4ef1a19526541f9ffc0c
ids: 1c000000
- guid: 02f78a9ec76d40f49bfac78c64a754d1
ids: 1c000000
- guid: a7ec9e7ad8b847b7ae4510af83c5d868
ids: 1c000000
- guid: b0f85f7da5042c0448a526d5ecacbfa9
ids: 1c000000
- guid: f87b5805002ec9649bcb1b96d8a16ba9
ids: 1c000000
- guid: c96f0574cd82c1848a8fc3b965d8d59b
ids:
- guid: 1f82daa2ab22a0943a51de0203fee565
ids:
- guid: 3028dc075ba8c584d9bc7d1e0255e038
ids: 1c000000
- guid: 991ae4d843392bc4e9ec4e7d8649d94e
type: 2
m_fileInfoHash: 4192.cs
@@ -166240,10 +166286,10 @@ MonoBehaviour:
m_addressable:
m_atlas:
m_fileSize: 3649
m_assetChangeTS: 1747761319
m_fileInfoReadTS: 1747761448
m_fileWriteTS: 1747761318
m_cachefileWriteTS: 1747761318
m_assetChangeTS: 1748596906
m_fileInfoReadTS: 1748597277
m_fileWriteTS: 1748596906
m_cachefileWriteTS: 1748596906
refreshStamp: 2
UseGUIDsList:
- guid: bf2edee5c58d82540a51f03df9d42094
@@ -178874,15 +178920,15 @@ MonoBehaviour:
UseGUIDsList: []
- guid: 6c12bb7674cd5416f8d846e62018a96d
type: 2
m_fileInfoHash: 1617.cs
m_fileInfoHash: 1598.cs
m_assetbundle:
m_addressable:
m_atlas:
m_fileSize: 1617
m_assetChangeTS: 0
m_fileInfoReadTS: 1747758810
m_fileWriteTS: 1746342619
m_cachefileWriteTS: 1746342619
m_fileSize: 1598
m_assetChangeTS: 1748070911
m_fileInfoReadTS: 1748070929
m_fileWriteTS: 1748070908
m_cachefileWriteTS: 1748070908
refreshStamp: 2
UseGUIDsList: []
- guid: 6c321e9294d43b84a87c4334b67e6d40
@@ -203945,15 +203991,15 @@ MonoBehaviour:
ids: 73000000
- guid: 2e498d1c8094910479dc3e1b768306a4
type: 5
m_fileInfoHash: 568673.asset
m_fileInfoHash: 9628.asset
m_assetbundle:
m_addressable:
m_atlas:
m_fileSize: 568673
m_assetChangeTS: 0
m_fileInfoReadTS: 1747758806
m_fileWriteTS: 1747244421
m_cachefileWriteTS: 1747244421
m_fileSize: 9628
m_assetChangeTS: 1748596906
m_fileInfoReadTS: 1748597277
m_fileWriteTS: 1748596906
m_cachefileWriteTS: 1748596906
refreshStamp: 2
UseGUIDsList:
- guid: fe393ace9b354375a9cb14cdbbc28be4
@@ -229695,6 +229741,58 @@ MonoBehaviour:
m_cachefileWriteTS: 1748063943
refreshStamp: 2
UseGUIDsList: []
- guid: 5c532667f1147d349a9fbcd7151e6bec
type: 9
m_fileInfoHash: 1738.png
m_assetbundle:
m_addressable:
m_atlas:
m_fileSize: 1738
m_assetChangeTS: 0
m_fileInfoReadTS: 1748102499
m_fileWriteTS: 1748102498
m_cachefileWriteTS: 1748102498
refreshStamp: 2
UseGUIDsList: []
- guid: e9afde6e7f083134cbe70e5b2307832f
type: 9
m_fileInfoHash: 1619.png
m_assetbundle:
m_addressable:
m_atlas:
m_fileSize: 1619
m_assetChangeTS: 0
m_fileInfoReadTS: 1748102604
m_fileWriteTS: 1748102603
m_cachefileWriteTS: 1748102603
refreshStamp: 2
UseGUIDsList: []
- guid: 16b26cd405b13ea40a6ec6328af30004
type: 9
m_fileInfoHash: 10923.png
m_assetbundle:
m_addressable:
m_atlas:
m_fileSize: 10923
m_assetChangeTS: 0
m_fileInfoReadTS: 1748102650
m_fileWriteTS: 1748102650
m_cachefileWriteTS: 1748102650
refreshStamp: 2
UseGUIDsList: []
- guid: bfbc02946587c834b9028fbc33c1f778
type: 9
m_fileInfoHash: 7676.png
m_assetbundle:
m_addressable:
m_atlas:
m_fileSize: 7676
m_assetChangeTS: 1748102833
m_fileInfoReadTS: 1748102834
m_fileWriteTS: 1748102710
m_cachefileWriteTS: 1748102710
refreshStamp: 2
UseGUIDsList: []
setting:
alternateColor: 1
excludeTypes: 0

File diff suppressed because one or more lines are too long

View File

@@ -76,6 +76,12 @@ namespace Ichni.RhythmGame
node = new SplinePoint(position, Vector3.up, normal, size, color);
track.trackPathSubmodule.SetPathNode(this);
}
public void OnDestroy()
{
track.trackPathSubmodule.pathNodeList.Remove(this);
track.Refresh();
print("PathNode " + elementName + " destroyed.");
}
}
public partial class PathNode
@@ -98,10 +104,10 @@ namespace Ichni.RhythmGame
base.SetUpInspector();
var container = inspector.GenerateContainer("Path Node");
var pathNodeSettings = container.GenerateSubcontainer(3);
var indexText = inspector.GenerateHintText(this, pathNodeSettings, "Index: " + index);
var isShowingSphereToggle =
var isShowingSphereToggle =
inspector.GenerateToggle(this, pathNodeSettings, "Is Showing Sphere", nameof(isShowingSphere))
.AddListenerFunction(() => SetPathNodeSphere(isShowingSphere));
}

View File

@@ -1,6 +1,7 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Dreamteck.Splines;
using Ichni.Editor;
using Ichni.RhythmGame.Beatmap;
@@ -25,7 +26,7 @@ namespace Ichni.RhythmGame
Track.TrackSamplingType trackSamplingType, bool isClosed, bool isShowingDisplay) : base(track)
{
this.path = track.AddComponent<SplineComputer>();
this.pathNodeList = new List<PathNode>();
this.trackSpaceType = trackSpaceType;
this.trackSamplingType = trackSamplingType;
@@ -92,10 +93,6 @@ namespace Ichni.RhythmGame
public override void Refresh()
{
SetTrackSpaceType((int)trackSpaceType);
SetUpSplineComputer(trackSpaceType, trackSamplingType);

View File

@@ -116,6 +116,7 @@ namespace Ichni.RhythmGame
t.trailRenderer.emitting = emitting;
t.trailRenderer.enabled = emitting;
if (willClear) t.trailRenderer.Clear();
}
}
}

View File

@@ -51,10 +51,22 @@ public class FlexibleFloatTab : MonoBehaviour
// 创建节拍线
private void CreateBeatLines()
{
for (int i = 0; i < (int)EditorManager.instance.songInformation.song.length / FatherWindow.timePerBeat; i++)
// 先清空BeatArea下的所有子对象防止重复生成
for (int i = BeatArea.childCount - 1; i >= 0; i--)
{
Destroy(BeatArea.GetChild(i).gameObject);
}
float maxX = 1400f + (3 * BeatDeviver);
int totalBeats = (int)(EditorManager.instance.songInformation.song.length / FatherWindow.timePerBeat);
for (int i = 0; i < totalBeats; i++)
{
float posX = BeatDeviver * i;
if (posX > maxX)
{
break;
}
GameObject u = Instantiate(BeatLine, BeatArea);
u.transform.localPosition = new Vector3(BeatDeviver * i, 0, 0);
u.transform.localPosition = new Vector3(posX, 0, 0);
}
}
@@ -82,7 +94,15 @@ public class FlexibleFloatTab : MonoBehaviour
Vector3 newPosition = new Vector3(-FatherWindow.songBeat * BeatDeviver, 0, 0);
Area.localPosition = newPosition;
BeatArea.localPosition = newPosition;
XBeatArea.localPosition = newPosition;
while (true)
{
BeatArea.localPosition += new Vector3(BeatDeviver, 0, 0);
if (BeatArea.localPosition.x > ((-200f) - BeatDeviver))
{
break;
}
}
XBeatArea.localPosition = BeatArea.localPosition;
}
// 添加事件
@@ -141,7 +161,7 @@ public class FlexibleFloatTab : MonoBehaviour
public float GetBeat()
{
// 获取鼠标在 BeatArea 中的相对位置
Vector2 localMousePosition = BeatArea.InverseTransformPoint(Mouse.current.position.ReadValue());
Vector2 localMousePosition = Area.InverseTransformPoint(Mouse.current.position.ReadValue());
//Debug.Log(localMousePosition);
float mouseBeat = localMousePosition.x / BeatDeviver;

View File

@@ -19,7 +19,7 @@ namespace Ichni.Editor
EditorManager.instance.songInformation.songTime += Time.deltaTime;
return;
}
if (isPlaying)
{
EditorManager.instance.songInformation.songTime = EditorManager.instance.musicPlayer.audioSource.time;
@@ -33,7 +33,7 @@ namespace Ichni.Editor
Trail.SetAllTrails(true, false);
EditorManager.instance.songInformation.songTime = audioSource.time;
if (isPlaying) audioSource.Play();
else audioSource.Pause();
else PauseMusic();
}
public void PauseMusic()

View File

@@ -32,7 +32,6 @@ public class SampleWindow : MovableWindow//该window高度为300横的要在1
public GameObject beatLinePrefabv;
public GameObject beatLinePrefabh;
public GameObject NotePrefab;
public RectTransform secBeatLineh;//用于定位屏幕位置
float songTime => EditorManager.instance.songInformation.songTime;
float songBeat => EditorManager.instance.songInformation.songBeat;
float beatmapStartTime => -EditorManager.instance.songInformation.delay;
@@ -99,12 +98,7 @@ public class SampleWindow : MovableWindow//该window高度为300横的要在1
GameObject u = Instantiate(beatLinePrefabh, LineMovepoint);
u.transform.localPosition = new Vector3(0, i * beatDeviver, 0);
if (i == 1)
{
secBeatLineh = u.GetComponent<RectTransform>();
realDevider = secBeatLineh.position.y - LineMovepoint.position.y;
Debug.Log(realDevider);
}
if (u.transform.localPosition.y > 600)
{
Destroy(u);
@@ -177,7 +171,7 @@ public class SampleWindow : MovableWindow//该window高度为300横的要在1
TransformChanged();
windowRect.GetComponent<CanvasGroup>().alpha = track.timeDurationSubmodule.CheckTimeInDuration(songTime) ? 1f : 0.2f;
}
if (selectedGameObject == null && RectTransformUtility.RectangleContainsScreenPoint(windowRect, Mouse.current.position.ReadValue()))
if (selectedGameObject is null && RectTransformUtility.RectangleContainsScreenPoint(windowRect, Mouse.current.position.ReadValue()))
{
DetectNote();

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,127 @@
fileFormatVersion: 2
guid: 16b26cd405b13ea40a6ec6328af30004
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
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: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
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: Android
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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -0,0 +1,127 @@
fileFormatVersion: 2
guid: 5c532667f1147d349a9fbcd7151e6bec
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
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: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
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: Android
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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

@@ -0,0 +1,127 @@
fileFormatVersion: 2
guid: bfbc02946587c834b9028fbc33c1f778
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
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: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
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: Android
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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,127 @@
fileFormatVersion: 2
guid: e9afde6e7f083134cbe70e5b2307832f
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
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: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
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: 0
spriteTessellationDetail: -1
textureType: 0
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: Android
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:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -14,9 +14,9 @@ Creator你的名字/谱师马甲
BPM节拍由于ichni是按照秒数存储谱面而有变bpm的曲子少之又少所以是固定bpm
            不知道bpm是什么的[歌曲bpm是什么 - 搜索](https://cn.bing.com/search?q=%e6%ad%8c%e6%9b%b2bpm%e6%98%af%e4%bb%80%e4%b9%88&FORM=QSRE1)
            bpm测试器[歌曲调性和BPM查找器 - 多功能音乐分析器](https://vocalremover.org/zh/key-bpm-finder)    
不知道bpm是什么的[歌曲bpm是什么 - 搜索](https://cn.bing.com/search?q=%e6%ad%8c%e6%9b%b2bpm%e6%98%af%e4%bb%80%e4%b9%88&FORM=QSRE1)
bpm测试器[歌曲调性和BPM查找器 - 多功能音乐分析器](https://vocalremover.org/zh/key-bpm-finder)
Delay这里的Delay只是单纯的调整谱面开始的时间调为负数可以在歌曲开始前开始谱面如果有偏移offset的需求建议剪一下曲子
@@ -111,7 +111,7 @@ camera的职责很简单做一个camera。带着他或者他所在的folder
Track是ichni的核心元件以下分为几种
###### 基础TrackPath
#### 基础TrackPath
TrackPath属性空间形状前进方式是否闭合
@@ -121,46 +121,41 @@ TrackPath属性空间形状前进方式是否闭合
以下是一个示例(代码块仅示意,没有实际意义和语法)
new track{
pathnode0(0,0,0)
    pathnode1(0,0,1)
    pathnode2(0,0,10)
    starttime:0
    endtime:2
pathnode1(0,0,1)
pathnode2(0,0,10)
starttime:0
endtime:2
}
若是time模式下0到1秒的时间track从0到1而在剩下的1秒会从1直接冲到10
distance就不会
```
###### 路径方式
#### 路径方式
1. Movable
2. Static
###### 显示方式
#### 显示方式
1. AutoOrient
2. TrackPath
###### movable属性
#### movable属性
    开始时间,结束时间,可视长度,缓动
开始时间,结束时间,可视长度,缓动
其中开始时间和结束时间是**track的头部**到达首尾的时间,而 结束时间+可视长度 则是**track尾**到达尾部的时间
在movable中note以<mark>固定的位置生成在track上</mark>在放note时切记判定时间要在track的启停时间之间
    其中开始时间和结束时间是**track的头部**到达首尾的时间,而 结束时间+可视长度 则是**track尾**到达尾部的时间
#### Static属性
下落时间,下落缓动
Static的track若是有选择显示方式则会始终显示整条track
在static中note从track的<mark>**尾部运动到头部**</mark>
    在movable中note以固定的位置生成在track上在放note时切记判定时间要在track的启停时间之间
#### 显示属性
###### Static属性
    下落时间,下落缓动
    Static的track若是有选择显示方式则会始终显示整条track
    在static中note从track的<mark>**尾部运动到头部**</mark>
###### 显示属性
    无论是AutoOrient还是TrackPath都拥有一个材质系统你可以选择主题包中的材质两个显示方式不同的是track path会由于其中pathnode的方向而改变面的朝向而AutoOrient会强制track的面始终面向摄像机这段建议实操看看效果各有各的好
无论是AutoOrient还是TrackPath都拥有一个材质系统你可以选择主题包中的材质两个显示方式不同的是track path会由于其中pathnode的方向而改变面的朝向而AutoOrient会强制track的面始终面向摄像机这段建议实操看看效果各有各的好
### pathnode
@@ -178,9 +173,9 @@ pathnode带有位置旋转缩放颜色等用于调整track部分的
另外还有一个特殊的事件用在track下trackPercentPoint
        trackPercentPoint使用0到1的值代表track进程配合trail使用可以实现 ~~反复横跳~~ 精细控制
        还有一个trackHeadPoint是trackPercentPoint的简化版虽然不该放在这里但是我真的懒得开一个来讲
trackPercentPoint使用0到1的值代表track进程配合trail使用可以实现 ~~反复横跳~~ 精细控制
还有一个trackHeadPoint是trackPercentPoint的简化版虽然不该放在这里但是我真的懒得开一个来讲
建议实操
@@ -194,13 +189,13 @@ trail配有位置材质颜色等仍在开发
### Note
##### 基础
#### 基础
note可以视为环境物体拥有击打时间击打效果等
击打时间:建议使用采音器=>见采音器指南
##### 击打效果和判定模式
#### 击打效果和判定模式
由于不同主题包拥有不同击打效果和判定模式在add页需要输入字符来创建
@@ -208,7 +203,7 @@ note可以视为环境物体拥有击打时间击打效果等
## 谱面存档
望文生义,不必多说,以下讲的是一些特别的机制
望文生义,不必多说
### 自动保存
@@ -216,8 +211,31 @@ ichni每隔一段时间就会自动保存谱面如果要回档需要手动
### Clip
asd
类似beta的export和import如果你选中了一个文件夹按s clip再命个名字这就相当于保存了一小段谱面。然后在别的地方用l clip读取好处就是可以跨越多个谱面起到一个类似预制件的作用。
### Export
ads
这个属于与本体对接的功能,目的是生成本体用的加密版谱面
## 一般写谱流程
### 0寻找音源确定bpm选择主题包
### 1创建摄像机轨道
我们建议在开始创建谱面的第一个操作就是创建摄像机文件夹,因为摄像机是每个谱面都必须要有的元素。
在刚打开工程时,您是通过自由视角摄像机 `Scene Camera` 来预览内容的,但这并不是游戏本体使用的摄像机。想要您的谱面被正确显示在游戏本体上,您需要创建一个游戏摄像机 `Game Camera` 来“拍摄”您的谱面。
#### 创建摄像机文件夹
您需要创建一个摄像机文件夹来放置摄像机及其附着的轨道如果有现有的两个方法便是使用cross track point或者直接对摄像机所在的文件夹增加动画动画法可以直接参照其他元素的方法来进行创建而cross track point可以获取到文件夹内对应的track然后使用类似track precent point的设置来调节当然Cross track point里设有快捷设置所有的Track也就是说可以完全不用管cross track point的东西直接在文件夹下把track和对应的起止时间都写好然后直接使用paste track list粘贴所有的时间。
和beta版不同的是cross track point是会自动设置旋转的默认的旋转方向对应的是当前track的切线方向形象的说法就是你用track画一个圆然后设置之后不用手动操作你的摄像机就可以自动沿着圆旋转如果把y值设为了90它就可以始终看向圆的中心点
### 2创建track
#### 1, movable track
由于movable track的功能介绍早在前面有提及这里不过多介绍