Sendagaya Shibu VRM
Sendagaya Shibu VRM is a VRM Avatar sample based on VRoid Help. It can be used to test downloads, parsers, previews, and file type detection.
01-sendagaya-shibu.vrmb7bcad5e5890abc4d7c65f9afc31da2445db03197d44f1ec10447f9db5abeaff3D
glTF/GLBをベースに人型アバター向けメタデータや拡張を加えた形式。ファイル先頭はGLBと同じglTFです。
67 6C 54 46 glTFSIGNATURE = bytes.fromhex("676c5446")
OFFSET = 0
def is_vrm(path: str) -> bool:
with open(path, "rb") as f:
f.seek(OFFSET)
head = f.read(len(SIGNATURE))
return head == SIGNATUREconst SIGNATURE = [0x67, 0x6c, 0x54, 0x46];
const OFFSET = 0;
// bytes: a Uint8Array / Buffer holding the start of the file
export function isVrm(bytes) {
return SIGNATURE.every((byte, i) => bytes[OFFSET + i] === byte);
}package fileid
import "bytes"
var isvrmSignature = []byte{0x67, 0x6c, 0x54, 0x46}
const isvrmOffset = 0
func IsVrm(b []byte) bool {
end := isvrmOffset + len(isvrmSignature)
if len(b) < end {
return false
}
return bytes.Equal(b[isvrmOffset:end], isvrmSignature)
}const SIGNATURE: &[u8] = &[0x67, 0x6c, 0x54, 0x46];
const OFFSET: usize = 0;
fn is_vrm(bytes: &[u8]) -> bool {
bytes.get(OFFSET..OFFSET + SIGNATURE.len()) == Some(SIGNATURE)
}<?php
$signature = "\x67\x6c\x54\x46";
$offset = 0;
function is_vrm(string $bytes): bool {
global $signature, $offset;
return substr($bytes, $offset, strlen($signature)) === $signature;
}VRM Avatar は3Dビューア、アセットパイプライン、モデル変換、アバター読み込み、シーン検証などで使われます。コンテナ・拡張子・バイナリチャンク・テクスチャ参照が実装の挙動に影響します。
形式が判定できたからといって、信頼できない入力が安全とは限りません。パーサ例外・巨大ファイル・想定外のエンコーディング・外部参照を考慮してください。
9 個のサンプルで、ビューアの読み込み・拡張子判定・ファイルサイズごとの読み込み時間をテストできます。
Sendagaya Shibu VRM is a VRM Avatar sample based on VRoid Help. It can be used to test downloads, parsers, previews, and file type detection.
01-sendagaya-shibu.vrmb7bcad5e5890abc4d7c65f9afc31da2445db03197d44f1ec10447f9db5abeaffVivi VRM is a VRM Avatar sample based on VRoid Help. It can be used to test downloads, parsers, previews, and file type detection.
02-vivi.vrmeaf902e041a7a810f1423599ae75682f61184ab6ef0206da9a8ed9caa8ec3a9dVita VRM is a VRM Avatar sample based on VRoid Help. It can be used to test downloads, parsers, previews, and file type detection.
03-vita.vrmf2bf78f28a24e2f75f5ca0b6c3b646654c394e4b03592dfaa0d0633ef0972b4dVictoria Rubin VRM is a VRM Avatar sample based on VRoid Help. It can be used to test downloads, parsers, previews, and file type detection.
04-victoria-rubin.vrmb1372131bdbf233f46320146d565f342a7e4f6f4b8f2aefb301f1a283ec07e1eSakurada Fumiriya VRM is a VRM Avatar sample based on VRoid Help. It can be used to test downloads, parsers, previews, and file type detection.
05-sakurada-fumiriya.vrmd8fb05f33e377df028cb6b9d58c441ce68326c41fa23f6c735d40c65ae3dc710Sendagaya Shino VRM is a VRM Avatar sample based on VRoid Help. It can be used to test downloads, parsers, previews, and file type detection.
06-sendagaya-shino.vrm1e177c1a7b14f783a9c48395831db8616260d3bddd4154cb2784b779adca49b5HairSample Female VRM is a VRM Avatar sample based on VRoid Help. It can be used to test downloads, parsers, previews, and file type detection.
07-hair-sample-female.vrmadfd242317aaabc773f31f7fff7b013979fbb5baa47e97427a78913d9cb4e979HairSample Male VRM is a VRM Avatar sample based on VRoid Help. It can be used to test downloads, parsers, previews, and file type detection.
08-hair-sample-male.vrm7aeca142dabbc26ba0f5b9c998c8f3cb6df341287d67788427ac837223785a3f100Avatars Devil VRM is a VRM Avatar sample based on Open Source Avatars. It can be used to test downloads, parsers, previews, and file type detection.
100avatars-devil.vrm2e428dd1846504a77f3936259f489a899cc92aa6179b769a1aee230f875a9b4dVRM Avatar ファイルはバイトシグネチャ 67 6C 54 46 ("glTF") で始まります。拡張子に頼らず、この先頭バイトを読み取って形式を判定してください。
VRM Avatar のMIMEタイプは model/vrm, model/gltf-binary です。
VRM Avatar ファイルは .vrm 拡張子を使います。拡張子は慣習にすぎず中身を保証しないため、シグネチャや構造のチェックと組み合わせてください。