Commit Graph

136 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
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
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
61422eb94c VRMShaders.GLTF.IO.Runtime から UniUnlit への参照を除去。MaterialFallback.cs にフォールバック情報を移動 2022-06-02 14:43:31 +09:00
ousttrue
090d86ba60 default material 2021-12-22 18:25:27 +09:00
Masataka SUMI
e6dba4c9c5 Can export metallic roughness occlusion correct. 2021-12-22 17:40:04 +09:00
Masataka SUMI
8059fe46d4 VRM_DEVELOP シンボル未定義時に unreachable code detected warning が出るのを抑制 2021-12-10 17:15:07 +09:00
ousttrue
89a346d0fe
Merge pull request #1409 from ousttrue/fix10/fix_shared_accessor_convert_twice
同一のバイト列を参照するBufferAccessor が複数回、座標変換(右手・左手変換)されるのを回避する
2021-12-09 19:27:26 +09:00
ousttrue
569e0ca147 add VRMShaders.Symbols 2021-12-09 16:34:44 +09:00
Masataka SUMI
8cff4f52ec make public 2021-12-09 15:18:16 +09:00
Masataka SUMI
f3b3dce186 読み込み時、MIME type による Validation ログを出す 2021-12-08 19:20:55 +09:00
Masataka SUMI
d5f7179424 不要なため、TextureDescriptor から Image file の情報を削除 2021-12-08 19:05:58 +09:00
Masataka SUMI
c96d4c1331 Image の MimeType を ITextureDeserializer に伝達する 2021-12-08 19:01:22 +09:00
Masataka SUMI
0feffcd5ef Merge branch 'master' of https://github.com/vrm-c/UniVRM into textureDeserializerInterface 2021-12-07 18:29:43 +09:00
Masataka SUMI
7120997e3a ITextureDeserializer のインタフェース変更。Sampler はインタフェース実装者が適用する。 2021-12-07 18:12:33 +09:00