View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005266 | DarkRadiant | Map Editing | public | 28.05.2020 07:51 | 05.09.2021 18:21 |
Reporter | angua | Assigned To | greebo | ||
Priority | normal | Severity | normal | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 2.6.0 | ||||
Target Version | 2.12.0 | Fixed in Version | 2.12.0 | ||
Summary | 0005266: Twosided models can only be selected from one side | ||||
Description | We have a few models (ivy and other plants for example) that consist of faces with twosided textures. In 3d view they can only be selected when the camera is facing the front of the face, in 2d view only when the front side is facing up. Also, the red overlay on selected models is only visible from one side. | ||||
Steps To Reproduce | Open ivy.map the model can not be selected by shift - click in 3d and 2d view. | ||||
Tags | No tags attached. | ||||
Attached Files | ivy.map (303 bytes)
Version 2 // entity 0 { "classname" "func_static" "name" "func_static_1" "model" "models/darkmod/nature/ivy_part01b.lwo" "origin" "-1754.42 595.205 -120.379" "rotation" "-0.0628088 -0.874697 -0.480582 -0.140191 0.484491 -0.86349 0.98813 0.0131378 -0.153057" "skin" "ivy_darker" "solid" "0" } | ||||
Twosided is a material keyword for the engine, it doesn't change anything in displaying model in DR. If you want actual geometry to have two sides, you need to duplicate and flip polygons in modeling software. | |
I suppose it's clear what the twosided keyword is doing. This issue is about the selection behaviour in DR; it's counter-intuitive since you can see the surface but it doesn't respond to clicks if you're unlucky. | |
This map file has the camera already positioned such that clicks fail to select the model. ivy.mapx (1,065 bytes)
<?xml version="1.0" encoding="utf-8"?> <map version="1" format="portable"> <layers> <layer id="0" name="Default"/> </layers> <selectionGroups/> <selectionSets/> <properties> <property key="EditTimeInSeconds" value="23"/> <property key="LastCameraAngle" value="-3.3 19.8 0"/> <property key="LastCameraPosition" value="-1924.65 515.509 -84.7834"/> </properties> <entity number="0"> <primitives/> <keyValues> <keyValue key="classname" value="func_static"/> <keyValue key="name" value="func_static_1"/> <keyValue key="model" value="models/darkmod/nature/ivy_part01b.lwo"/> <keyValue key="origin" value="-1754.42 595.205 -120.379"/> <keyValue key="rotation" value="-0.0628088 -0.874697 -0.480582 -0.140191 0.484491 -0.86349 0.98813 0.0131378 -0.153057"/> <keyValue key="skin" value="ivy_darker"/> <keyValue key="solid" value="0"/> </keyValues> <layers> <layer id="0"/> </layers> <selectionGroups/> <selectionSets/> </entity> </map> |
|
DarkRadiant: master 9a672a41 30.01.2021 07:31 Details Diff |
0005266: Add two unit tests trying to select a twosided model surface in the XY top view, one model is facing up, one model is facing down. |
Affected Issues 0005266 |
|
mod - test/Selection.cpp | Diff File | ||
add - test/resources/tdm/maps/twosided_ivy.mapx | Diff File | ||
add - test/resources/tdm/materials/twosided.mtr | Diff File | ||
add - test/resources/tdm/models/twosided_ivy.lwo | Diff File | ||
DarkRadiant: master f66f124e 31.01.2021 05:11 Details Diff |
0005266: Move some camera matrix code to libs/render/CameraView.h, to be re-used by the unit test code. |
Affected Issues 0005266 |
|
add - libs/render/CameraView.h | Diff File | ||
mod - radiantcore/camera/Camera.cpp | Diff File | ||
mod - tools/msvc/libs.vcxproj | Diff File | ||
mod - tools/msvc/libs.vcxproj.filters | Diff File | ||
DarkRadiant: master 235b1a9e 31.01.2021 08:10 Details Diff |
0005266: Rearrange the SelectionTest fixture to OrthoViewSelectionTest and CameraViewSelectionTest, add test cases |
Affected Issues 0005266 |
|
mod - test/Selection.cpp | Diff File | ||
DarkRadiant: master f05ee065 31.01.2021 18:12 Details Diff |
0005266: More test cases, covering patches, brushes and model surfaces with one- and two-sided materials. |
Affected Issues 0005266 |
|
mod - test/Selection.cpp | Diff File | ||
mod - test/resources/tdm/maps/selection_test.map | Diff File | ||
mod - test/resources/tdm/maps/twosided_ivy.mapx | Diff File | ||
mod - test/resources/tdm/materials/twosided.mtr | Diff File | ||
add - test/resources/tdm/skins/selection_test.skin | Diff File | ||
DarkRadiant: master 1e546235 03.02.2021 17:15 Details Diff |
0005266: Pass the two-sided flag only if the material is actually two-sided (exception: brush faces should always be treated like they're twosided due to 0005444). Adjusted the cull type determination code in SelectionVolume::BeginMesh. |
Affected Issues 0005266, 0005444 |
|
mod - libs/selection/SelectionVolume.h | Diff File | ||
mod - radiantcore/brush/BrushNode.cpp | Diff File | ||
mod - radiantcore/model/picomodel/StaticModel.cpp | Diff File | ||
mod - radiantcore/model/picomodel/StaticModelSurface.cpp | Diff File | ||
mod - radiantcore/model/picomodel/StaticModelSurface.h | Diff File | ||
mod - radiantcore/patch/PatchNode.cpp | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
28.05.2020 07:51 | angua | New Issue | |
28.05.2020 07:51 | angua | File Added: ivy.map | |
11.07.2020 20:34 | Judith | Note Added: 0012648 | |
30.01.2021 06:10 | greebo | Status | new => confirmed |
30.01.2021 06:10 | greebo | Note Added: 0013569 | |
30.01.2021 06:12 | greebo | Note Added: 0013570 | |
30.01.2021 06:12 | greebo | File Added: ivy.mapx | |
03.02.2021 17:24 | greebo | Assigned To | => greebo |
03.02.2021 17:24 | greebo | Status | confirmed => assigned |
03.02.2021 17:25 | greebo | Product Version | => 2.6.0 |
03.02.2021 17:25 | greebo | Target Version | => 2.12.0 |
03.02.2021 17:26 | greebo | Changeset attached | => DarkRadiant master 9a672a41 |
03.02.2021 17:26 | greebo | Changeset attached | => DarkRadiant master f66f124e |
03.02.2021 17:26 | greebo | Changeset attached | => DarkRadiant master 235b1a9e |
03.02.2021 17:26 | greebo | Changeset attached | => DarkRadiant master f05ee065 |
03.02.2021 17:26 | greebo | Changeset attached | => DarkRadiant master 1e546235 |
03.02.2021 17:27 | greebo | Status | assigned => resolved |
03.02.2021 17:27 | greebo | Resolution | open => fixed |
03.02.2021 17:27 | greebo | Fixed in Version | => 2.12.0 |
05.09.2021 18:21 | greebo | Status | resolved => closed |