Commit Graph

172 Commits

Author SHA1 Message Date
ousttrue
e7d850f51d use DefaultMaterial if gltfPrimitive.material is not exists or -1 2024-06-07 18:19:01 +09:00
Isamu Mogi
43de5fa553 com.unity.cloud.ktxが無い場合にasyncメソッドでawaitが無い警告が出るのを抑制
com.unity.cloud.ktxが存在していない場合にそのままnullを返す実装に切り替わりますが、そのままだとasyncメソッドで一度もawaitしていないので次のようなコンパイラの警告が出てしまっていました。

```
Assets/VRMShaders/GLTF/IO/Runtime/Texture/Importer/KtxTextureDeserializer.cs(14,38): warning CS1998: This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
```

pragmaを用いて警告を抑制するようにしました。
2024-06-07 00:01:29 +09:00
Masataka SUMI
a0626c5634 Can load y-flipped KHR_texture_basisu texture at runtime. 2024-03-14 22:52:31 +09:00
Masataka SUMI
eff6d6edd0 fix 2024-03-14 19:11:48 +09:00
Masataka SUMI
d10a17695f Merge branch 'master' of https://github.com/vrm-c/UniVRM into basisuRuntimeImport 2024-03-14 19:09:12 +09:00
Masataka SUMI
c89e5d77f0 Can import basisu texture at runtime import 2024-03-14 19:07:31 +09:00
tsgcpp
9d4bc2a1a8 fix: Dispose texture caches of TextureFactory 2024-01-06 00:14:53 +09:00
liuchenglong.122
fb12ed80f3 Transfer "TextureImportTypes" to ITextureDeserializer.LoadTextureAsync() 2023-09-25 20:11:23 +08:00
ousttrue
2d3618c702 remove unused 2023-08-17 18:22:29 +09:00
ousttrue
3187078011 private 2023-02-09 19:01:50 +09:00
ousttrue
7572ce5ded Func<(Texture2D, bool IsDisposable)> 2023-02-09 19:01:29 +09:00
ousttrue
04f409aa1f (Texture2D Texture, bool IsDisposable) 2023-01-26 15:24:25 +09:00
ousttrue
6d42ba01e3 remove IDisposableResourceList
* UnityEngine.Object => UnityEngine.Texture2D
2023-01-26 15:18:07 +09:00
ousttrue
b1825e8968 IDisposableResourceList
Dispose a texture if `TextureConverter.CopyTexture` is used.
2023-01-25 18:45:20 +09:00
ousttrue
a79e6b4a5b ITextureExporter inherit IDisposable
update ITextureExporter interface
2023-01-25 18:23:55 +09:00
Masataka SUMI
0a7ac08dac specify a Shader instead of a string in MaterialDescriptor. 2022-12-05 17:21:20 +09:00
Masataka SUMI
847b2703bc Remove concrete VRM shader's info from UniGLTF. 2022-12-05 17:03:48 +09:00
Masataka SUMI
2f915b4777 Take off responsibility of determining shaders from ImporterContext. 2022-12-05 16:30:43 +09:00
Masataka SUMI
aed1d170d4 make MaterialDescriptor class 2022-12-05 16:05:20 +09:00
ousttrue
1ca2d14100
Merge pull request #1904 from Santarh/suppressPreprocessor
Use static getter instead of preprocessors.
2022-11-04 14:06:37 +09:00
Masataka SUMI
f8ac8075e7 use static getter instead of preprocessors. 2022-11-03 20:58:14 +09:00
Masataka SUMI
fd293b5f4c fix 2022-11-03 18:34:13 +09:00
Masataka SUMI
29c4686af4 Suppress warning logs when loading vrm10 models. 2022-11-03 18:30:09 +09:00
ousttrue
b18e5cd63b VRM10Object を作成するステップ
* VRM10Object が無いときにエラー表示
* VRM10Object が無ければ VRM10Instance を停止させる
2022-10-26 14:27:36 +09:00
ousttrue
05a7cda9e1 remove ThisType? field. #1866 2022-10-24 17:56:22 +09:00
ousttrue
d71ed12f2b Editor向け機能の切り分け忘れ 2022-10-07 13:38:12 +09:00
ousttrue
85f4e22a98 typo 2022-10-04 17:55:49 +09:00
ousttrue
b0e20b95e4 Revert "typo rename UnityObjectDestoyer to UnityObjectDestroyer"
This reverts commit a8d5704a0f.
2022-10-03 18:09:05 +09:00
ousttrue
a8d5704a0f typo rename UnityObjectDestoyer to UnityObjectDestroyer 2022-10-03 17:56:36 +09:00
ousttrue
85702ea5b0 GltfViewer 2022-10-03 14:16:17 +09:00
Masataka SUMI
04791b36ca Re-added binary files 2022-09-28 16:55:48 +09:00
Masataka SUMI
6a6bf4c157 remove lfs objects 2022-09-28 16:55:35 +09:00
Masataka SUMI
627c0e76f2 binary files replaced by lfs tracking 2022-09-20 18:21:51 +09:00
Masataka SUMI
413ed64355 Fix a importing error when the model using KHR_texture_basisu extension. 2022-09-12 22:11:48 +09:00
Takayuki Matsuoka
a68d0122ce BREAKING CHANGE: Introduce NextFrameIfTimedOut as a new interface method of IAwaitCaller
This is a breaking change since it introduces new interface method to IAwaitCaller.

----

NextFrameIfTimedOut() is added to IAwaitCaller.  The following inheritors also introduce the method.

- ImmediateCaller.NextFrameIfTimedOut() just invokes NextFrame().
- RuntimeOnlyAwaitCaller.NextFrameIfTimedOut() invokes NextFrame() if timed out.  Otherwise, do nothing.
- RuntimeOnlyNoThreadAwaitCaller.NextFrameIfTimedOut() works same as RuntimeOnlyAwaitCaller.

Constructor of RuntimeOnlyAwaitCaller and RuntimeOnlyNoThreadAwaitCaller
now take argument of timeout in seconds.  The default value is 1/1000 (1 milliseconds).

See also:
https://github.com/vrm-c/UniVRM/pull/1781#pullrequestreview-1100131840
2022-09-08 17:39:05 +09:00
Takayuki Matsuoka
935afcb80d Add new pseudo method NextFrameIfTimedOut to RuntimeOnlyAwaitCaller
This change adds (pseudo) method RuntimeOnlyAwaitCaller.NextFrameIfTimedOut()
which invokes NextFrame() if given time is elapsed.  Otherwise, it does nothing.

We'll be able to utilize this (pseudo) method to ease possible cause of spikes.

For example:

----
public class VRMImporterContext : ImporterContext {
  protected override async Task OnLoadHierarchy(IAwaitCaller awaitCaller, ...) {
    ...
    var blendShapeList = VRM.blendShapeMaster.blendShapeGroups;
    if (blendShapeList != null && blendShapeList.Count > 0) {
      foreach (var x in blendShapeList) {
        await awaitCaller.NextFrameIfTimeout();
        BlendShapeAvatar.Clips.Add(await LoadBlendShapeBind(awaitCaller, x, transformMeshTable));
      }
    }
    ...
  }
}
----

Note that this change doesn't add NextFrameIfTimeout() to IAwaitCaller to avoid
breaking change.  This limitation introduces extra (maybe unnecessarily) complexity.
2022-09-07 17:51:10 +09:00
ousttrue
41e8628ae8
Merge pull request #1765 from ousttrue/fix/use_optional_for_index
glTFTexture.source type to int?
2022-09-05 19:05:26 +09:00
ousttrue
f2d587e09f glTFTexture.source type to int? 2022-08-05 21:13:32 +09:00
ousttrue
1ca7a8684d WebGLの動作確認用 2022-07-26 14:30:51 +09:00
ousttrue
35359a6dc3 add GltfValidator test 2022-07-11 16:04:59 +09:00
ousttrue
c0d7869258 より上流で防御
* Vector には Color も入っているぽい(Vector4 と Colorは実質同じ)
* Texture が無いときにも OffsetScale が入っているケースがある
2022-06-08 17:42:31 +09:00
ousttrue
b90c5026a6 unity-2021 では SetVector により offset, scale をセットするとエラー Property PROP_NAME already exists in the property sheet with a different type: 5 が発生する。 2022-06-07 17:37:07 +09:00
ousttrue
f6e62dea9a readonly struct なので null を返して失敗を表現できない。throw してたのだけど、順次 TryGet に変えてく。 2022-06-03 15:48:26 +09:00
ousttrue
52d0ae691d Test追加。Application.dataPath のひとつ上が AssetDatabase の root になる。 2022-06-02 18:41:17 +09:00
ousttrue
de8d65cb5d public string FullPath { get; }. 末尾に '/' を付けない仕様を追加 2022-06-02 18:31:17 +09:00
ousttrue
13dab3aa34 public readonly string FullPath { get; } 2022-06-02 18:14:53 +09:00
ousttrue
7030a4ddf4 VRMShaders.PathObject を追加。 MigrationMenu で使う。 2022-06-02 17:56:36 +09:00
ousttrue
61422eb94c VRMShaders.GLTF.IO.Runtime から UniUnlit への参照を除去。MaterialFallback.cs にフォールバック情報を移動 2022-06-02 14:43:31 +09:00
ousttrue
46a1898edf error message 2022-05-11 14:57:07 +09:00
Masataka SUMI
0def42eb35 MetallicRougness テクスチャの Export テストの修正 2022-01-19 16:18:44 +09:00