答案 0 :(得分:2)
GameObject
没有宽度或高度,但是其中包含的信息可以。在您的情况下,您有一个MeshRenderer
,并且方便地具有一个bounds
属性,该属性将返回一个...
与轴对齐的边界框将对象完全包围在世界空间中。
如果您引用了该对象上的MeshRenderer
:
MeshRenderer renderer;
然后就可以轻松达到界限了>
renderer.bounds;
,然后您可以观察其size
属性。
请记住,这是世界空间边界信息,因此所有旋转和缩放都会影响它。如果您想要网格物体本身的原始细节,则需要引用MeshFilter
,查看其mesh
属性,并在上使用bounds
属性 Mesh
对象。
答案 1 :(得分:1)
有两种可能的方法。如果您的对象具有渲染器,则可以使用<?php
require __DIR__.'/path/to/vendor/autoload.php';
use Microsoft\Graph\Graph;
use Microsoft\Graph\Model;
$graph = new Graph();
$graph->setAccessToken('YOUR_TOKEN_HERE');
/** @var Model\UploadSession $uploadSession */
$uploadSession = $graph->createRequest("POST", "/me/drive/items/root:/doc-test2.docx:/createUploadSession")
->addHeaders(["Content-Type" => "application/json"])
->attachBody([
"item" => [
"@microsoft.graph.conflictBehavior" => "rename",
"description" => 'File description here'
]
])
->setReturnType(Model\UploadSession::class)
->execute();
$file = __DIR__.'/path/to/large-file.avi';
$handle = fopen($file, 'r');
$fileSize = fileSize($file);
$fileNbByte = $fileSize - 1;
$chunkSize = 1024*1024*4;
$fgetsLength = $chunkSize + 1;
$start = 0;
while (!feof($handle)) {
$bytes = fread($handle, $fgetsLength);
$end = $chunkSize + $start;
if ($end > $fileNbByte) {
$end = $fileNbByte;
}
$stream = \GuzzleHttp\Psr7\stream_for($bytes);
$res = $graph->createRequest("PUT", $uploadSession->getUploadUrl())
->addHeaders([
'Content-Length' => ($end - 1) - $start,
'Content-Range' => "bytes " . $start . "-" . $end . "/" . $fileSize
])
->setReturnType(Model\UploadSession::class)
->attachBody($bytes)
->execute();
$start = $end + 1;
}
,它将返回带有高度和宽度(以及深度,如果是3D的话)的向量。
还可以通过使用renderer.bounds.size
从gameObject上的对撞机获取宽度和高度。尝试这样的事情:
collider.bounds.size
希望这会有所帮助!