我在Unity制作太空探索游戏,我有两个半透明的问题.
每个行星由两个球体组成:一个是组合的表面和云层,另一个(半径略大)通过剔除前面和向球体外缘褪色α来描绘地平线"发光".这一切工作得非常好,但有以下两个问题:
1)在我的自定义表面着色器中,当我在#pragma定义中使用alpha关键字时,alpha会被分解到渲染的球体中,但是'glow'球体会在几千个单位的距离内消失.如果我不包含alpha关键字,则球体不会向边缘渐变,但会在距离处呈现.
2)尽管尝试了所有RenderType,Queue,ZWrite和ZDepth选项,表面球体和'发光'球体都是z-fighting; 游戏似乎无法决定哪个多边形更接近 - 尽管事实上应该剔除发光球体上的近面.我甚至试图从播放器相机推辉光球,距离同比例扩大半径,但我仍然,莫名其妙地,让球在z战斗!
是否有任何我错过的设置将使"发光"球体始终被绘制在表面球体之后(假设我已经尝试过如上所述的ZWrite,ZDepth的所有组合)并且有一种方法可以获得alpha - 启用对象不会在距离消失?
我似乎无法弄清楚这一点,所以任何帮助都将受到赞赏!
编辑
这是我的'发光球'的着色器代码.正面被剔除.我甚至尝试使用Offset关键字从相机中"推"任何绘制的多边形.我已经尝试了所有我能找到的Tag,ZWrite和ZTest选项.着色器通过色调,大气密度浮点和太阳方向矢量...
Shader "Custom/planet glow" {
Properties {
_glowTint ("Glow Tint", Color) = (0.5,0.8,1,1)
_atmosphereMix ("Atmosphere Mix", float) = 0
_sunDirection ("Sun Direction", Vector) = (0, 0, 0, 0)
}
SubShader {
Tags { "RenderType" = "Opaque" "Queue" = "Geometry" }
Cull Front // I want only the far faces to render (behind the actual planet surface)
Offset 10000, 10000
ZWrite On // Off also tried
ZTest LEqual // …Run Code Online (Sandbox Code Playgroud) 我有一个jQuery图像滚动条,使用perpective和transform: translateZCSS属性模拟深度.它在Chrome中正确呈现,但在IE10或Firefox中无法呈现.
这是完整的项目(点击"Who's coming"菜单链接查看图像滚动条):http: //www.girlguiding.org.uk/test/biggig/index.html 这里是相关代码的jsFiddle :http: //jsfiddle.net/moosefetcher/rxCMr/28/ (我不知道为什么,但stackoverflow告诉我我需要包含链接到jsFiddle的代码,所以这里是css)...
.scroller {
position: relative;
perspective: 150;
-webkit-perspective: 150;
-ms-perspective: 150;
-moz-perspective: 150;
}
.artistBox {
width: 228px;
height: 268px;
background-color: #000000;
border-radius: 16px;
position: absolute;
overflow: hidden;
z-index: 4;
}
.artistBox p {
position: absolute;
font-family:"Arial", sans-serif;
color: white;
font-size: 22px;
}
.artistBoxFront {
z-index: 5;
}
.artistBoxNew {
z-index: 3;
opacity: 0;
}
.scrollerButton {
position: absolute;
top: 128px;
width: 32px;
height: …Run Code Online (Sandbox Code Playgroud) 只是要清楚一点-我不是在谈论财产“变灰”或遭到破坏;这是一条正常显示的完整CSS规则,但背景为灰色。其他应用规则正常显示,没有灰色背景。有人知道灰色背景意味着什么吗?
我要问的原因是,尽管这些属性没有变灰或删除,但该规则似乎并未得到应用。我希望灰色背景很有意义,并且这种重要性可以解释为什么未应用该规则。
编辑
我被告知我应该编辑问题,以弄清楚为什么它不是上面问题的重复。我只能重复一遍,我不是在问灰色属性。我问的是显示在灰色背景上的CSS规则。这就是我在上面原始问题中指定的内容。如果查看该问题的可接受答案,您会看到用户正在询问灰色的CSS属性(为什么他会接受该答案?)
有人可能会删除“重复”引用吗?
我想在用户单击8个问题多项选择测验的提交按钮时将用户引导至"结果"页面,同时还将他们的答案保存到数据库中.
目前我正在使用'form_for'并传入current_user.单击提交时,它将指向User/show操作.我想转到详细说明用户结果的页面.我该怎么做呢?
这是我的(非常粗略的测试)形式,到目前为止,一个多项选择问题(由引导程序设计):
<%= form_for([current_user]) do |f| %>
<p>
<%= text_field(:user, :name) %>
</p>
<div class="btn-group-vertical clearfix form-group" data-toggle="buttons">
<label class="btn btn-primary text-left">
<input name="options" id="option1" type="radio" onclick="multiChoiceClick(1, 1)">A. Always. I'm the leader and should have the final say
</label>
<label class="btn btn-primary text-left">
<input name="options" id="option2" type="radio">B. Sometimes, but I think the group should make decisions if possible
</label>
<label class="btn btn-primary text-left">
<input name="options" id="option3" type="radio">C. I generally don't get involved. The group can make their own decisions …Run Code Online (Sandbox Code Playgroud) 我开发了一个 javascript 拖放,主要使用标准的 'allowdrop'、'drag' 和 'drop' 事件。
我想自定义“幻影”拖动对象,因此我添加了一个 display:none div,它填充了可拖动元素的 innerHTML 并在用户开始拖动时使其可见 (display:block;)。
可拖动的 div 绝对定位并匹配鼠标移动。为此,我需要向 document.body 添加 3 个事件侦听器。它们如下:
document.body.addEventListener('dragover', function (ev) {
console.log("dragover event triggered");
ev = ev || window.event;
ev.preventDefault();
dragX = ev.pageX;
dragY = ev.pageY;
document.getElementById("dragged-container").style.left = (dragX - dragOffsetX) + "px";
document.getElementById("dragged-container").style.top = (dragY - dragOffsetY - 10) + "px";
if (mostRecentHoveredDropTargetId!="") {
if (dragX<mostRecentHoveredDropTargetRect.left || dragX>mostRecentHoveredDropTargetRect.right || dragY<mostRecentHoveredDropTargetRect.top || dragY>mostRecentHoveredDropTargetRect.bottom) {
document.getElementById(mostRecentHoveredDropTargetId).classList.remove("drop-target-hover");
mostRecentHoveredDropTargetId = "";
}
}
});
document.body.addEventListener('drop', function (ev) {
console.log("drop event …Run Code Online (Sandbox Code Playgroud) javascript drag-and-drop onbeforeunload event-listener onunload
我无法在项目中更改字体真棒图标的颜色(使用css中的color属性).我认为我们加载字体真棒图标的方式可能会影响我们改变颜色的能力.
在有人将此标记为重复之前,请查看下面的jsfiddle.
您将从html(第7行和第10行)看到我们正在从我们自己的服务器加载一组预定义的fa图标.这是因为,由于我的组织工作的性质,我们不允许加载外部文件.
https://jsfiddle.net/moosefetcher/dnjjy015/1/
这是html:
<div class="page">
<div id="fb-user-research">
<span class="fb-checkbox">
<input id="fb-user-research-checkbox" type="checkbox" name="fb-checkbox"/>
<label for="fb-user-research-checkbox" id="fb-visible-checkbox">
<svg class="unchecked fa-square-0">
<use xlink:href="~/Areas/CL/Content/app/images/icons/icon-svg-defs.svg#fa-square-o" />
</svg>
<svg class="checked fa-check-square">
<use xlink:href="~/Areas/CL/Content/app/images/icons/icon-svg-defs.svg#fa-check-square" />
</svg>
</label>
</span>
<div id="fb-user-research-texts">
<p>Placeholder text here</p>
<p>Disclaimer here.</p>
</div>
<div class="clear"></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是css:
.page {
background-color: #000000;
height: 400px;
padding: 15px;
}
#fb-user-research {
border-radius: 3px;
border: 1px solid #333333;
margin: 44px 0px 14px 0px;
padding: 15px 15px;
}
#fb-user-research input {
border-radius: 2px;
background-color: #333333; …Run Code Online (Sandbox Code Playgroud) css ×2
alpha ×1
css3 ×1
firefox ×1
font-awesome ×1
formbuilder ×1
html ×1
javascript ×1
onunload ×1
perspective ×1
ruby ×1
shader ×1
svg ×1
transform ×1