测试代码
This commit is contained in:
@@ -32,7 +32,7 @@ namespace NBF
|
||||
Content.Gear.SetInfo(ItemInfo);
|
||||
|
||||
// var model = PrefabsHelper.CreatePrefab(ItemInfo.Config.Model);
|
||||
Model.SetData(ItemInfo.Config);
|
||||
Model.SetData(ItemInfo);
|
||||
// Model.SetBackground(Back);
|
||||
|
||||
Game.Input.OnUICanceled += OnUICanceled;
|
||||
|
||||
@@ -74,21 +74,18 @@ namespace NBF
|
||||
_camera.gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
public void LoadModel(string model, ModelViewerSettings settings)
|
||||
public void SetModel(GameObject model, ModelViewerSettings settings)
|
||||
{
|
||||
this.UnloadModel();
|
||||
ViewerSettings = settings;
|
||||
|
||||
Object prefab = Resources.Load(model);
|
||||
if (prefab == null) return;
|
||||
GameObject go = ((GameObject)Object.Instantiate(prefab));
|
||||
var joint = go.GetComponent<Joint>();
|
||||
if (model == null) return;
|
||||
var joint = model.GetComponent<Joint>();
|
||||
if (joint != null)
|
||||
{
|
||||
Object.Destroy(joint);
|
||||
}
|
||||
|
||||
_model = go.transform;
|
||||
_model = model.transform;
|
||||
_model.SetParent(this.modelRoot, false);
|
||||
_model.localPosition = Vector3.zero;
|
||||
_model.localScale = Vector3.one;
|
||||
@@ -96,12 +93,40 @@ namespace NBF
|
||||
if (ViewerSettings == null)
|
||||
{
|
||||
ViewerSettings = new ModelViewerSettings();
|
||||
ModelViewerUtils.InitSetting(go, ViewerSettings);
|
||||
ModelViewerUtils.InitSetting(model, ViewerSettings);
|
||||
}
|
||||
|
||||
Review();
|
||||
}
|
||||
|
||||
// public void LoadModel(string model, ModelViewerSettings settings)
|
||||
// {
|
||||
// this.UnloadModel();
|
||||
// ViewerSettings = settings;
|
||||
//
|
||||
// Object prefab = Resources.Load(model);
|
||||
// if (prefab == null) return;
|
||||
// GameObject go = ((GameObject)Object.Instantiate(prefab));
|
||||
// var joint = go.GetComponent<Joint>();
|
||||
// if (joint != null)
|
||||
// {
|
||||
// Object.Destroy(joint);
|
||||
// }
|
||||
//
|
||||
// _model = go.transform;
|
||||
// _model.SetParent(this.modelRoot, false);
|
||||
// _model.localPosition = Vector3.zero;
|
||||
// _model.localScale = Vector3.one;
|
||||
// _model.localEulerAngles = Vector3.zero;
|
||||
// if (ViewerSettings == null)
|
||||
// {
|
||||
// ViewerSettings = new ModelViewerSettings();
|
||||
// ModelViewerUtils.InitSetting(go, ViewerSettings);
|
||||
// }
|
||||
//
|
||||
// Review();
|
||||
// }
|
||||
|
||||
public void UnloadModel()
|
||||
{
|
||||
if (_model != null)
|
||||
|
||||
@@ -18,8 +18,6 @@ namespace NBF
|
||||
|
||||
public ModelViewerSettings ViewerSettings => _renderImage.ViewerSettings;
|
||||
|
||||
private ItemConfig _itemConfig;
|
||||
|
||||
private void OnInited()
|
||||
{
|
||||
_renderImage = new ModelViewRenderImage(ModelHolder.asGraph);
|
||||
@@ -37,21 +35,12 @@ namespace NBF
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
public void SetData(uint itemId)
|
||||
|
||||
public void SetData(ItemInfo itemInfo)
|
||||
{
|
||||
SetData(ItemConfig.Get(itemId));
|
||||
_renderImage.SetModel(PrefabsHelper.CreateItem(itemInfo), ModelViewerSettings.Load(itemInfo.ConfigId));
|
||||
}
|
||||
|
||||
public void SetData(ItemConfig itemConfig)
|
||||
{
|
||||
_itemConfig = itemConfig;
|
||||
_renderImage.LoadModel(itemConfig.GetModelPath(), ModelViewerSettings.Load(itemConfig.Id));
|
||||
}
|
||||
|
||||
public void ReSetSetting(ItemConfig itemConfig)
|
||||
{
|
||||
_renderImage.LoadModel(itemConfig.GetModelPath(), null);
|
||||
}
|
||||
|
||||
public void UnloadModel()
|
||||
{
|
||||
@@ -126,9 +115,7 @@ namespace NBF
|
||||
|
||||
#endregion
|
||||
|
||||
#region 保存png
|
||||
|
||||
public void SaveRenderTextureToPNG()
|
||||
public void SaveRenderTextureToPNG(uint id)
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
RenderTexture rt = RenderImage.RT;
|
||||
@@ -165,16 +152,14 @@ namespace NBF
|
||||
resizedTex.Apply();
|
||||
|
||||
byte[] bytes = resizedTex.EncodeToPNG();
|
||||
var path = Path.Combine(Application.dataPath, $"Resources/Icons/{_itemConfig.Id}.png");
|
||||
var path = Path.Combine(Application.dataPath, $"Resources/Icons/{id}.png");
|
||||
File.WriteAllBytes(path, bytes);
|
||||
Debug.Log($"✅ RenderTexture 已保存到: {path}");
|
||||
Notices.Info($"生成:{_itemConfig.Id}");
|
||||
Notices.Info($"生成:{id}");
|
||||
|
||||
Object.Destroy(tex);
|
||||
RenderTexture.active = current;
|
||||
#endif
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -18,6 +18,15 @@ namespace NBF
|
||||
Game.Input.OnUICanceled += OnUICanceled;
|
||||
}
|
||||
|
||||
protected override void OnUpdate()
|
||||
{
|
||||
// base.OnUpdate();
|
||||
if (Input.GetKeyDown(KeyCode.F9))
|
||||
{
|
||||
PreviewPanel.Show();
|
||||
}
|
||||
}
|
||||
|
||||
private void OnUICanceled(string action)
|
||||
{
|
||||
if (action == InputDef.UI.Back)
|
||||
|
||||
@@ -29,7 +29,12 @@ namespace NBF
|
||||
Basic.SetInfo(ItemInfo);
|
||||
|
||||
// var model = PrefabsHelper.CreatePrefab(ItemInfo.Config.Model);
|
||||
Model.SetData(ItemInfo.Config);
|
||||
Model.SetData(new ItemInfo()
|
||||
{
|
||||
Id = ItemInfo.Config.Id,
|
||||
ConfigId = ItemInfo.Config.Id,
|
||||
Count = 1,
|
||||
});
|
||||
// Model.SetBackground(Back);
|
||||
|
||||
Game.Input.OnUICanceled += OnUICanceled;
|
||||
@@ -57,7 +62,7 @@ namespace NBF
|
||||
{
|
||||
if (btn == BtnSaveIcon)
|
||||
{
|
||||
Model.SaveRenderTextureToPNG();
|
||||
Model.SaveRenderTextureToPNG(ItemInfo.Config.Id);
|
||||
#if UNITY_EDITOR
|
||||
UnityEditor.AssetDatabase.Refresh();
|
||||
#endif
|
||||
@@ -75,8 +80,10 @@ namespace NBF
|
||||
}
|
||||
else if (btn == BtnReSet)
|
||||
{
|
||||
Model.ReSetSetting(ItemInfo.Config);
|
||||
// Model.ReSetSetting(ItemInfo.Config);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -132,9 +132,15 @@ namespace NBF
|
||||
foreach (var item in _itemInfos)
|
||||
{
|
||||
GenModel.visible = true;
|
||||
GenModel.SetData(item.Config);
|
||||
// GenModel.SetData(item.Config);
|
||||
GenModel.SetData(new ItemInfo()
|
||||
{
|
||||
Id = item.Config.Id,
|
||||
ConfigId = item.Config.Id,
|
||||
Count = 1,
|
||||
});
|
||||
yield return new WaitForSeconds(1f);
|
||||
GenModel.SaveRenderTextureToPNG();
|
||||
GenModel.SaveRenderTextureToPNG(item.Config.Id);
|
||||
yield return new WaitForSeconds(1f);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user