- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我希望我的纹理具有与“background-size:cover”css 属性相同的行为。
我想使用 uvs 坐标。我查看了这个答案并开始研究解决方案:Three.js Efficiently Mapping Uvs to Plane
我尝试使用与我的 DOM 的某些 div 相同的维度/位置平面。这就是我想要的:
这是我用这段代码得到的结果:尺寸和位置都很好,我的纹理比例看起来也不错,但似乎存在比例问题:
let w = domElmt.clientWidth / window.innerHeight;
let h = domElmt.clientHeight / window.innerHeight;
geometry = new THREE.PlaneGeometry(w, h);
var uvs = geometry.faceVertexUvs[ 0 ];
uvs[ 0 ][ 0 ].set( 0, h );
uvs[ 0 ][ 1 ].set( 0, 0 );
uvs[ 0 ][ 2 ].set( w, h );
uvs[ 1 ][ 0 ].set( 0, 0 );
uvs[ 1 ][ 1 ].set( w, 0 );
uvs[ 1 ][ 2 ].set( w, h );
tex = new THREE.TextureLoader().load('image.jpg'));
tex.wrapS = tex.wrapT = THREE.RepeatWrapping;
material = new THREE.MeshBasicMaterial( { map: tex } );
mesh = new THREE.Mesh( geometry, material );
我应该使用纹理的 repeat 属性还是可以使用 uvs 完全实现此行为?谢谢
最佳答案
https://en.wikipedia.org/wiki/UV_mapping
UV 映射值的范围从 0
到 1
(含),代表整个纹理图像的百分比映射。
您使用的是 div 大小与窗口大小的比率,这可能比 1
小得多,并且会导致您看到的“放大”效果。
例如,如果您的 w
和 h
的结果是值 0.5
,那么映射纹理的最远右上角将成为图像的确切中心。
Scales the image as large as possible without stretching the image. If the proportions of the image differ from the element, it is cropped either vertically or horizontally so that no empty space remains.
换句话说,它将根据短边的大小缩放图像,并裁剪其余部分。因此,假设您有一个漂亮的 128x512
图像和一个 64x64
空间。 cover
会将 128
的宽度缩小到 64
(比例因子为 0.5
),所以乘以 512
乘以 0.5
以获得新高度 (128
)。现在您的 w
仍然是 1
,但是您的 h
将是 128/512 = 0.25
。您的纹理现在将适合宽度,并裁剪高度。
您需要为每个图像与容器的大小关系执行此计算以找到合适的 UV,请记住缩放始终与短边相关。
关于three.js - 如何使非方形纹理以 "background-size:cover"方式适合 Three.js 中的几何平面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56633229/
我目前有一个程序,可以简单地在屏幕上绘制一个正方形,但是,我试图向这个正方形添加垂直线,它确实打印到屏幕上,但不是它定义的完整长度,而且不是广场内。任何帮助将不胜感激! #include int m
.products { width: 100%; height: 500px; background: gray; } .box { width: 250px; height: 3
I need the square-symbolized character have the square shape that fills entire the character's area,
我们应该知道,Clojure 的 map 可以应用于序列: (map #(* %1 %1) [1 2 3]) ; (1) ..或者多个,通过这种方式: (map vector [0
我正在尝试用 HTML/CSS 制作类似这样的东西:https://gyazo.com/6db0d2e3565414c10b65480c5d4b7526 我正在使用一个 Bootstrap 模板,我想
当我为我的 fab 设置颜色时,它看起来像这样: 我的布局 xml: 颜色也不会改变。谁能帮助我理解我做错了什么? 我也尝试过使用 @color 链接但它崩溃了,背景是可绘制的 (ex. andr
我有一个带有圆形图像的自定义按钮。 问题是 Controller 默认是方形的,所以每当我单击图像的角时,按钮都会响应调用关联的方法,而实际上他不应该这样做,因为角上没有图像,所以按钮不应响应。 有人
您好,我的页面顶部有一个 div http://www.uk-sf.com/MyTraining.php box-shadow 被切割在 wrapper 上,我试着给它一个 z-index 但没有任何
我有一个包含图像的 div。此图像仅在元素悬停时显示,因此我希望侧箭头从指向侧面的 div 出来(在元素悬停的方向)。 此代码生成正方形 div: CSS: #image-t
我在 Android 项目中使用 ImageView。 宽度:match_parent高度:wrap_content 然后我将它缩放到 fill_XY,但图像还不是正方形...我该怎么办? 最佳答案
我正在尝试使用 div 创建一个 2x2 网格。一些 div 可能包含图像,但它可能会被设置为背景,选项为 background-size: cover。 这是我创建的笔:http://codepen
* { box-sizing: border-box; } .publication { display: flex;
我有以下代码: 结果: 如何使 View 的高度与其宽度相等(由 layout_weight 产生)? 最佳答案 您必须重写 onMeasure 方法,将高度设置为与高度相
我正在开发照片编辑应用程序,我有 3 个带有 UIImageview 的 ScrollView ,我想将 ScrollView 设置如下 我试过“Scenekit”,但它不起作用,因为我想要 Scro
在不使用 SVG 图像的情况下,使用 React 可以在其中包含自定义文本来创建圆形和方形的方法是什么?一个例子: 我尝试了以下代码,但它没有呈现任何形状: import React from 're
我想要一个没有滚动条的响应式 9x9 div 网格。 div 网格应根据可见的浏览器窗口调整大小。我合并了"How to maintain the aspect ratio of a div usin
我第一次尝试使用Picasso 如官方网站示例: private void setItemBgImageUsingPicasso(View convertView) { String imag
尝试为 Android 使用 Dagger 依赖注入(inject)器。这是扩展的应用程序类: public class MyApplication extends Application {
我使用 Bootstrap 3 的 .thumbnail 类创建了一个图像网格。在调整图像大小和根据窗口大小更改列方面,一切似乎都很好。唯一的问题是图像的大小各不相同,并且纵向/横向都是。这会导致缩略
我正尝试通过 Square 在我的 iOS 应用程序中实现 OAuth2,但它说当我通过弹出的浏览器成功登录时,我的 redirect_uri 出现错误。 我正在使用 OAuthSwift pod。这
我是一名优秀的程序员,十分优秀!